From 014af6d5415c97c8f357fbd06da3e362690988a7 Mon Sep 17 00:00:00 2001 From: Jeremy TYRIAUX Date: Fri, 23 Aug 2024 16:45:15 +0200 Subject: [PATCH] Add Debited funds and Fees property on the transfert refund call from the API --- MangoPay.SDK.Tests/BaseTest.cs | 34 ++++++++++++++++++- .../Entities/POST/RefundTransferPostDTO.cs | 10 +++++- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/MangoPay.SDK.Tests/BaseTest.cs b/MangoPay.SDK.Tests/BaseTest.cs index 7b92d6b3..910501e7 100644 --- a/MangoPay.SDK.Tests/BaseTest.cs +++ b/MangoPay.SDK.Tests/BaseTest.cs @@ -887,11 +887,43 @@ protected async Task GetNewTransfer(WalletDTO walletIn = null) /// Transfer. /// Refund instance returned from API. protected async Task GetNewRefundForTransfer(TransferDTO transfer) + { + var user = await this.GetJohn(); + var debitedFunds = new Money + { + Amount = transfer.DebitedFunds.Amount, + Currency = transfer.DebitedFunds.Currency + }; + var fees = new Money + { + Amount = transfer.Fees.Amount, + Currency = transfer.Fees.Currency + }; + + var refund = new RefundTransferPostDTO(user.Id, fees, debitedFunds); + + return await this.Api.Transfers.CreateRefundAsync(transfer.Id, refund); + } + + /// Creates partial refund object for Tranfert. + /// Tranfert entity. + /// Refund instance returned from API. + protected async Task GetPartialRefundForPayIn(TransferDTO transfer) { var user = await this.GetJohn(); - var refund = new RefundTransferPostDTO(user.Id); + var debitedFunds = new Money + { + Amount = 100, + Currency = transfer.DebitedFunds.Currency + }; + var fees = new Money + { + Amount = 10, + Currency = transfer.Fees.Currency + }; + var refund = new RefundTransferPostDTO(user.Id, fees, debitedFunds); return await this.Api.Transfers.CreateRefundAsync(transfer.Id, refund); } diff --git a/MangoPay.SDK/Entities/POST/RefundTransferPostDTO.cs b/MangoPay.SDK/Entities/POST/RefundTransferPostDTO.cs index f74d44b0..c9aafe43 100644 --- a/MangoPay.SDK/Entities/POST/RefundTransferPostDTO.cs +++ b/MangoPay.SDK/Entities/POST/RefundTransferPostDTO.cs @@ -9,12 +9,20 @@ namespace MangoPay.SDK.Entities.POST /// Refund for Transfer POST entity. public class RefundTransferPostDTO : EntityPostBase { - public RefundTransferPostDTO(string authorId) + public RefundTransferPostDTO(string authorId, Money fees, Money debitedFunds) { AuthorId = authorId; + Fees = fees; + DebitedFunds = debitedFunds; } /// Author identifier. public string AuthorId { get; set; } + + /// Debited funds. + public Money DebitedFunds { get; set; } + + /// Fees. + public Money Fees { get; set; } } }