我尝试退还Authorize.Net上的交易,但是当我应用样本信息时,如何退还交易失败。
我发现了这个老问题: How do you refund a transaction in Authorize.net? ,我尝试调整我的问题并模仿它。
在AIM样本中,只有我们发现方法'Void'。
我使用程序集浏览器寻找Web引用,我发现了CustomerGateway的退款方法。这是代码的一部分:
var reReques = new CustomerGateway(LogidId, TransactionKey, ServiceMode.Test);
eReques.Refund("31246194", "28261347", "2228103445", 1.00M);
再次失败,我没有找到如何解决交易,视觉工作室说这是“过时的方法”。
进入另一个样本,提到 createTransaction Request(); 并表示值事务类型更改为“refundTransaction”:
var dum= new createTransactionRequest();
dum.transactionRequest.transactionType = "refundTransaction";
但是也不起作用。
答案 0 :(得分:1)
您需要等到交易状态变为“已成功结算”,然后使用下一段代码
var reReques = new CustomerGateway(LogidId, TransactionKey, ServiceMode.Test);
var z = reReques.Refund(ProdileId, PaymentProfileId, TransactionId, amount);
请务必使用最后一段代码,因为如果您不使用它,则不会批准退款。