stripe/resources/
transfer_reversal_ext.rs

1use serde::Deserialize;
2use serde::Serialize;
3
4use crate::client::{Client, Response};
5use crate::params::Metadata;
6use crate::resources::TransferReversal;
7use crate::TransferId;
8
9/// The set of parameters that can be used when doing transfer reversal.
10///
11/// For more details see <https://stripe.com/docs/api/transfer_reversals/create>.
12#[derive(Clone, Debug, Default, Deserialize, Serialize)]
13pub struct CreateTransferReversal {
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub amount: Option<u64>,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub description: Option<String>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub metadata: Option<Metadata>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub refund_application_fee: Option<bool>,
22}
23
24impl TransferReversal {
25    /// Create Transfer Reversal
26    ///
27    /// For more details see <https://stripe.com/docs/api/transfer_reversals/create>.
28    pub fn create(
29        client: &Client,
30        transfer: &TransferId,
31        params: CreateTransferReversal,
32    ) -> Response<TransferReversal> {
33        client.post_form(&format!("/transfers/{}/reversals", transfer), params)
34    }
35}