【问题标题】:PayPal SOAP API (.NET) - refund transaction error 10004 The transaction id is not validPayPal SOAP API (.NET) - 退款交易错误 10004 交易 ID 无效
【发布时间】:2013-03-29 01:07:17
【问题描述】:

我正在使用 .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);

请帮忙。

【问题讨论】:

    标签: paypal paypal-sandbox


    【解决方案1】:

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

    【讨论】:

    • 您好,问题是我使用了买家交易 ID,而不是卖家交易 ID。当我使用在沙盒网站上的 PayPal 卖家交易详细信息中找到的卖家一时,它起作用了!谢谢!
    • @PP_MTS_Chad:嗨,我在 paypal 退款 api 中使用卖家交易 ID,但它仍然显示此错误 [TIMESTAMP] => 2016%2d06%2d22T14%3a07%3a11Z [CORRELATIONID] => dd6fa4aaac3f4 [ ACK] => 失败 [VERSION] => 84 [BUILD] => 22998660 [L_ERRORCODE0] => 10007 [L_SHORTMESSAGE0] => 权限被拒绝 [L_LONGMESSAGE0] => 您无权退款此交易 [L_SEVERITYCODE0] => 错误为什么会这样?我创建了一个沙盒应用程序并下订单,然后在我的贝宝退款 api 脚本中放置了卖家的交易 ID,但它显示此错误?
    • 我的 CORRELATIONID 是“dd6fa4aaac3f4”
    • FWIW - 我刚开始在尝试退款交易时收到此错误(在实时环境中)。我在我的 PayPal 帐户中验证了该 ID 存在。 PayPal 销售实际退还是否有延迟?
    猜你喜欢
    • 2016-04-17
    • 2017-12-22
    • 2012-11-19
    • 1970-01-01
    • 2013-01-21
    • 2017-03-25
    • 2013-03-07
    • 2014-09-28
    • 2012-06-29
    相关资源
    最近更新 更多