public static RefundResponse RefundAction(IOffAmazonPaymentsService service, OffAmazonPaymentsServicePropertyCollection propertiesCollection, Random rng, string amazonCaptureID, string refundAmount, string providerId, string creditReversalAmountString) { //Initiate the Refund request, including SellerId, CaptureId, RefundReferenceId and RefundAmount RefundRequest request = new RefundRequest(); request.SellerId = propertiesCollection.MerchantID; request.AmazonCaptureId = amazonCaptureID; request.RefundReferenceId = amazonCaptureID.Replace("-", "") + "r" + rng.Next(1, 1000).ToString(); //assign the refundAmount to the refund request Price price = new Price(); price.Amount = refundAmount; price.CurrencyCode = propertiesCollection.CurrencyCode; request.RefundAmount = price; if (!String.IsNullOrEmpty(providerId) && !String.IsNullOrEmpty(creditReversalAmountString)) { ProviderCreditReversal providerCreditReversal = new ProviderCreditReversal(); providerCreditReversal.ProviderId = providerId; Price creditReversalAmount = new Price(); creditReversalAmount.Amount = creditReversalAmountString; creditReversalAmount.CurrencyCode = propertiesCollection.CurrencyCode; providerCreditReversal.CreditReversalAmount = creditReversalAmount; ProviderCreditReversalList providerCreditReversalList = new ProviderCreditReversalList(); providerCreditReversalList.member = new List <ProviderCreditReversal>(); providerCreditReversalList.member.Add(providerCreditReversal); request.ProviderCreditReversalList = providerCreditReversalList; } return(RefundSample.InvokeRefund(service, request)); }
public static RefundResponse RefundAction(IOffAmazonPaymentsService service, OffAmazonPaymentsServicePropertyCollection propertiesCollection, Random rng, string amazonCaptureID, string refundAmount, string providerId, string creditReversalAmountString) { //Initiate the Refund request, including SellerId, CaptureId, RefundReferenceId and RefundAmount RefundRequest request = new RefundRequest(); request.SellerId = propertiesCollection.MerchantID; request.AmazonCaptureId = amazonCaptureID; request.RefundReferenceId = amazonCaptureID.Replace("-", "") + "r" + rng.Next(1, 1000).ToString(); //assign the refundAmount to the refund request Price price = new Price(); price.Amount = refundAmount; price.CurrencyCode = propertiesCollection.CurrencyCode; request.RefundAmount = price; if (!String.IsNullOrEmpty(providerId) && !String.IsNullOrEmpty(creditReversalAmountString)) { ProviderCreditReversal providerCreditReversal = new ProviderCreditReversal(); providerCreditReversal.ProviderId = providerId; Price creditReversalAmount = new Price(); creditReversalAmount.Amount = creditReversalAmountString; creditReversalAmount.CurrencyCode = propertiesCollection.CurrencyCode; providerCreditReversal.CreditReversalAmount = creditReversalAmount; ProviderCreditReversalList providerCreditReversalList = new ProviderCreditReversalList(); providerCreditReversalList.member = new List<ProviderCreditReversal>(); providerCreditReversalList.member.Add(providerCreditReversal); request.ProviderCreditReversalList = providerCreditReversalList; } return RefundSample.InvokeRefund(service, request); }