paypal - 40% 的失败率与 PayPal SetExpressCheckout API

标签 paypal

我希望有经验的人能在这里提供帮助。我们使用 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:

最佳答案

一些要用你的参数改变的东西,但也看到最后一项:

  1. 您请求 SetEC 的版本 116(相对现代)和 DoEC 的版本 56(大约 2005 年,即 10 岁!!)。这不太可能导致您的问题,但我仍然会解决它:)

  2. 您的 SetEC 用于记账协议(protocol),而您的 DoEC 用于销售交易。不要混合搭配这些,它会破坏 PayPal 正确设置资金的能力。如果您只是进行销售,请从 SetEC 中删除计费协议(protocol)并....

  3. 更新您的 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/

相关文章:

paypal - 如何从桌面应用程序使用 Paypal?

php - PayPal IPN 返回无效

ruby - 将 Paypal 与 Ruby 集成的最佳方式

Paypal 信用卡按钮隐藏 Paypal 标准按钮

php - Paypal 中的标准工作流程与 PHP codeigniter 集成

PHP Paypal REST 计费协议(protocol)与数字项目相结合

Python paypalrestsdk 和 SSL 错误

php - 如何在使用 laravel 进行 PayPal 付款后插入数据

paypal - 如何在 Paypal Express Checkout 中包含货币转换 block

php - PayPal "Thank you"页面,包含详细信息