我希望有经验的人能在这里提供帮助。我们使用 SetExpressCheckout 将人们发送到 PayPal,然后在他们返回我们的网站时向他们收费。不幸的是,当我们尝试向这些用户收费时,失败率为 40%。我在下面列出了我们的请求和回复,希望有人能发现可能给我们带来麻烦的变量。
谢谢!
REQUEST TO PAYPAL TO SET EXPRESS CHECKOUT:
SetExpressCheckoutReq:
SetExpressCheckoutRequest:
Version: 116.0
SetExpressCheckoutRequestDetails:
MaxAmount currencyID="USD”: 100
ReqConfirmShipping: 0
NoShipping: 1
AddressOverride: 0
SolutionType: Sole
BuyerEmail: xxx
BillingAgreementDetails:
BillingType: MerchantInitiatedBillingSingleAgreement
BillingAgreementDescription: Billing Agreement
PaymentDetails:
OrderTotal currencyID="USD”:0
ItemTotal currencyID="USD”: 0
ButtonSource: PayPal_SDK
PaymentDetailsItem:
Name: Subscription
Quantity: 1
Amount currencyID="USD”:0
PaymentDetailsItem:
PaymentAction: Authorization
RESPONSE:
Timestamp: 2015-06-30T02:35:29Z
Ack: Success
CorrelationID: xxx
Version: 116.0
Build: 16684246
Token: XXX
BILLING ATTEMPT:
DoReferenceTransactionRequest:
Version: 53.0
DoReferenceTransactionRequestDetails:
ReferenceID: EC-1WA3806198386283U
PaymentAction: Sale
PaymentType: Any
PaymentDetails:
OrderTotal currencyID='USD’: 14.95
OrderDescription: Subscription
NotifyURL: xxx
ReqConfirmShipping: 0
ERROR RESPONSE:
Short Message : Transaction cannot complete.
Long Message:Instruct the customer to retry the transaction using an alternative payment method from the customers PayPal wallet. The transaction did not complete with the customers selected payment method.
ErrorCode:10417
SeverityCode: Error
CorrelationId:907fc42ce9669
Build:17098556
Ip:
最佳答案
一些要用你的参数改变的东西,但也看到最后一项:
您请求 SetEC 的版本 116(相对现代)和 DoEC 的版本 56(大约 2005 年,即 10 岁!!)。这不太可能导致您的问题,但我仍然会解决它:)
您的 SetEC 用于记账协议(protocol),而您的 DoEC 用于销售交易。不要混合搭配这些,它会破坏 PayPal 正确设置资金的能力。如果您只是进行销售,请从 SetEC 中删除计费协议(protocol)并....
更新您的 SetEC 以指定一个非零金额,希望接近(在 +- 20% 以内)您的实际 DoEC 金额。 PayPal 可能会默认客户使用错误的资金来源,或者让他们通过而不纠正可修复的帐户问题(例如过期或无法使用的信用卡),因为您告诉 PayPal 付款将为 0 美元,并且只有当您实际 DoEC 为$14 PayPal 发现买家没有钱给你。
最后:
导致 10417 的原因有很多——这是一种风险响应,意味着 PayPal 决定拒绝交易。
参见例如Paypal accounts funded by credit cards = 10417 error ,其中另一个卖家因为他们在非常高的风险类别中销售而出现大量下降。不确定您的帐户设置是什么,但类似这样的事情可能会影响您...如果您在清理 API 调用后继续获得 40% 的自然用户流量拒绝率,我会联系 PayPal 支持。
关于paypal - 40% 的失败率与 PayPal SetExpressCheckout API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31169048/