flutterwave_v3_models/transactions/
refund_trans.rs

1use serde::{Deserialize, Serialize};
2use validator::Validate;
3use std::borrow::Cow;
4use crate::{
5    common::{charge_res_data::ChargeResData, payload::Payload},
6    fwcall::{FwCall, ToFwCall},
7};
8
9#[derive(Debug, Serialize, Deserialize, Validate)]
10pub struct RefundTransactionReq {
11    pub id: i32
12}
13
14#[derive(Debug, Serialize, Deserialize)]
15pub struct RefundTransactionRes {
16    pub status: String,
17    pub message: String,
18    pub data: ChargeResData
19}
20
21
22impl<'a> ToFwCall<'a> for RefundTransactionReq {
23    type ApiRequest = Self;
24
25    type ApiResponse = RefundTransactionRes;
26
27    fn get_call(self) -> FwCall<'a, Self::ApiRequest, Self::ApiResponse> {
28        FwCall::new(
29            Cow::Owned(format!("/v3/transactions/{}/refund", self.id)),
30            reqwest::Method::POST,
31            Some(Payload::Plain(self)),
32        )
33    }
34}