flutterwave_v3_models/transactions/
refund_trans.rs1use 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}