收取特定金额100.10时的PayPal DoReferenceTransaction错误

时间:2017-06-30 09:34:38

标签: paypal paypal-sandbox paypal-rest-sdk

不幸的是,我无法通过他们的票务系统获得PayPal技术支持的回复,所以也许其他人已经看到了这一点。我确定这是一个错误。以下是两个API调用:

这个成功地运作了:

[USER] => ***
[PWD] => ***
[SIGNATURE] => ***
[VERSION] => 86
[METHOD] => DoReferenceTransaction
[AMT] => 101.10
[TAXAMT] => 0.00
[ITEMAMT] => 101.10
[CURRENCYCODE] => USD
[PAYMENTACTION] => SALE
[REFERENCEID] => ***
[DESC] => ***

这个没有(只是差异就是金额):

[USER] => ***
[PWD] => ***
[SIGNATURE] => ***
[VERSION] => 86
[METHOD] => DoReferenceTransaction
[AMT] => 100.10
[TAXAMT] => 0.00
[ITEMAMT] => 100.10
[CURRENCYCODE] => USD
[PAYMENTACTION] => SALE
[REFERENCEID] => ***
[DESC] => ***

第二个返回的错误是:

[TIMESTAMP] => 2017-06-20T19:10:03Z
[CORRELATIONID] => ff77dc0fdff4e
[ACK] => Failure
[VERSION] => 86
[BUILD] => 29297572
[L_ERRORCODE0] => 10010
[L_SHORTMESSAGE0] => Invalid Invoice
[L_LONGMESSAGE0] => Non-ASCII invoice id is not supported
[L_SEVERITYCODE0] => Error

显然,错误也与问题无关,因为我甚至提交了发票ID。基本上100.10以外的任何数量似乎都有效。

更奇怪的是,金额与返回的PayPal错误代码相匹配!

这一切都在使用Sandbox。

非常感谢!

1 个答案:

答案 0 :(得分:0)

听起来您在沙盒帐户中启用了negative testing,这允许您强制错误,以便通过传入与您要触发的错误代码匹配的AMT来测试它们。有关详细信息,请参阅该链接,包括如何启用/禁用它。