0

我正在使用 .NET 的 PayPal SOAP SDK 进行退款交易。我尝试使用来自 SetExpressCheckout/DoExpressCheckout 调用的交易 ID 在 SDK 中调用 RefundTransaction 方法(它们运行良好)。PayPal API 返回 10004 错误“交易 ID 无效”。这是我的代码:

PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService();
RefundTransactionRequestType refundTransactionRequest = new RefundTransactionRequestType();

refundTransactionRequest.TransactionID = transactionID;
refundTransactionRequest.PayerID = payerID;
refundTransactionRequest.InvoiceID = invoiceNumber;
refundTransactionRequest.RefundType = RefundType.FULL;
refundTransactionRequest.Amount = new BasicAmountType(GetPayPalCurrency(currencyID), amount.ToString("F"));
var request = new RefundTransactionReq() { RefundTransactionRequest = refundTransactionRequest };
RefundTransactionResponseType refundTransactionResponse = service.RefundTransaction(request);

请帮忙。

4

1 回答 1

0

仔细检查以确保您将 DoExpressCheckout 交易作为销售而非授权进行处理。如果是授权,您将无法退款。还要确保您使用的是您作为商家收到的交易 ID,而不是您作为买家收到的交易 ID。这两个交易 ID 将不同。如果您已经检查了这两件事,但它仍然无法正常工作,如果您可以提供您返回的 API 响应,其中包括 TIMESTAMP 和 CORRELATIONID,我可以在最后查看它。

于 2013-03-29T12:45:55.153 回答