我们是一家大型网上商店供应商,我们的系统中有数以千计的网上商店。
我们遇到一个案例,我们在DoExpressCheckout中收到错误,其中PaymentAction授权此处是错误
Ack: FAILURE
Build: 000000
Version: 117.0
Timestamp: 2017-04-06T08:54:36Z
CorrelationID: 4d6d16d1d30fa
ErrorCode: 10423
SeverityCode: ERROR
ShortMessage: Transaction refused because of an invalid argument. See additional error messages for details.
LongMessage: This transaction cannot be completed with PaymentAction of Authorization.
我们不知道出了什么问题。因为它发生在特定客户的特定paypal帐户上。
我们有两家商店/一位客户。我们得到错误的地方。我们在我们的系统中建立了另一家商店,我们连接了一个经过PayPal验证的商业帐户,然后我们从另一个真正的个人帐户购买了该商店的商品,一切正常。没有错误。
我们为这个有问题的客户尝试了相同的操作,我们得到了错误。我们确信我们使用的代码在两种情况下都是相同的,并且我们的处理没有区别。那么问题是其他paypal商业帐户可能出现什么问题?
可能是SDK问题吗?
答案 0 :(得分:1)
你有没有尝试谷歌吗?我用谷歌搜索了paypal 10423'并找到了:
问题PayPal返回API错误代码10423 - 此交易无法使用PaymentAction of Authorization完成。原因您将PaymentAction设置为" Sale"在第一次API调用时使用SetExpressCheckout。
答案 1 :(得分:0)
不确定本文是否可以为您提供帮助:
https://www.paypal-knowledge.com/infocenter/index?page=content&expand=true&locale=en_US&id=FAQ1015
显然是因为您在SetExpressCheckout上将付款操作设置为促销,然后切换到授权。 Paypal不允许这样做,并建议在设置DoExpressCheckout呼叫时使用SetExpressCheckout将PaymentAction设置为授权,然后交换为销售。
答案 2 :(得分:0)
这是我们将请求发布到SetExpressCheckout的方式:
SetExpressCheckoutRequestDetailsType req = new SetExpressCheckoutRequestDetailsType();
.....
PaymentDetailsType paymentDetails = new PaymentDetailsType();
paymentDetails.PaymentAction = PaymentActionCodeType.AUTHORIZATION;
paymentDetails.ShipToAddress = ....
req.PaymentDetails.Add(paymentDetails);
所以我们100%确定我们使用授权,我们对DoCheckout做同样的事情,所以看起来PayPal认为我们做了Sale作为PaymentAction为什么会这样?