我正在尝试在Paypal Sandbox中测试退款,但我得到了令人困惑的回复; The transaction id is not valid.
我已成功确认以下内容:
PAYMENTREQUEST_n_TRANSACTIONID
GetExpressCheckoutDetails
获得的交易ID。 GetExpressCheckoutDetails
获取交付ID并将其传递到RefundTransaction
之间时,不会修改交易ID。INVOICEID
。PAYMENTACTION
的{{1}}为DoExpressCheckoutPayment
。 我在这里做出任何明显不正确的假设吗?这与沙盒订单(Doubtful)有什么关系吗?我从错误的来源获取交易ID吗?
万一需要任何细节,我会留下完整的回复......
Sale
RefundTransaction的字段/值调用自身......(即使它是沙箱也会编辑凭据)
{
"TIMESTAMP": "2014-01-06T18:15:35Z",
"CORRELATIONID": "cb90afac455c",
"ACK": "Failure",
"VERSION": "109",
"BUILD": "9138168",
"L_ERRORCODE0": "10004",
"L_SHORTMESSAGE0": "Transaction refused because of an invalid argument. See
additional error messages for details.",
"L_LONGMESSAGE0": "The transaction id is not valid",
"L_SEVERITYCODE0": "Error",
"REFUNDSTATUS": "None",
"PENDINGREASON": "None"
}
编辑:(如果罗伯特在一段时间后没有更新他的答案,可以作为答案发布,因为他值得赞扬)
PayPal_Robert注意到,在我的{
"METHOD": "RefundTransaction",
"TRANSACTIONID": "30888131YM063371A",
"USER": "[redacted]",
"REFUNDTYPE": "Partial",
"CURRENCYCODE": "USD",
"REFUNDSOURCE": "any",
"AMT": 57.21,
"PWD": "[redacted]",
"SIGNATURE": "[redacted]",
"VERSION": 109
}
电话中,我正在将收件人设置为实时帐户,以便在使用实时API付款时 - 因为这是Sandbox - 我应该将其发送到{ {1}}帐号。
答案 0 :(得分:1)
我无法在沙盒环境中找到任何与该transactionID相关的交易 - 也包括所有帐户。我怀疑它在某个地方被破坏了。
我为同一个API调用者找到的唯一一件事是在1月2日创建的具有transactionID O-072365850X147461B的订单。
您可以重新创建整个流程,包括创建新的交易并尝试使用它吗? 如果您仍然遇到问题,请在https://paypal.com/mts(24x7)向我们提交一张票,或者给我发一封电子邮件(个人资料中的地址,但我只是GMT工作。)