2015-07-01 71 views
0

我希望有經驗的人可以在這裏幫忙。我們使用SetExpressCheckout將人員發送到PayPal,然後在他們回到我們的網站時向他們收費。不幸的是,當我們試圖向這些用戶收費時,我們看到了40%的失敗率。我在下面列出了我們的要求和迴應,希望有人能夠發現可能給我們帶來麻煩的變量。使用PayPal SetExpressCheckout API時的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

這是一個奇怪的方式來做到這一點。通常情況下,您會運行SEC - >反彈W /令牌 - >從PayPal返回 - >運行'DoExpressCheckoutPayment'。我對使用Express Checkout進行參考交易的理解是,您首先需要「結算協議」。 – Machavity

回答

1

有幾件事情與你的參數改變,但也看到了最後一個項目:

  1. 您所要求的,SETEC版116(相對現代)和版本56(約公元前2005年,也就是10爲DoEC年)。這不太可能導致您的問題,但我仍然會修復它:)

  2. 您的SetEC是用於一個協議,但您的DoEC是用於銷售交易。不要混合和匹配這些,這會使PayPal無法正確設置資金。如果您剛剛進行銷售,請從SetEC中刪除結算協議,並且...。請更新您的SetEC以指定一個非零金額,希望您的實際DoEC金額接近(在+ - 20%以內)。 PayPal可能會將客戶默認爲錯誤的資金來源,或者讓他們在沒有更正可解決的帳戶問題(例如過期的或其他不可用的信用卡)的情況下讓他們通過,因爲您告訴PayPal,付款爲0美元,並且只有當您實際使用DoEC PayPal 14美元發現買家沒有錢。

最後:

可以有很多事情造成10417 - 這是一個危險的反應,這意味着,貝寶是決定拒絕交易。

參見例如Paypal accounts funded by credit cards = 10417 error,其中另一個賣家由於在高風險類別下出售而出現大幅下跌。不知道你的帳戶設置爲什麼,但類似的東西可能會影響你......如果你在清理你的API調用後繼續以自然的用戶流量獲得40%的拒絕率,我會聯繫貝寶支持。

+0

非常感謝您的支持。確實很有幫助。我會更新版本,我記得我有一些問題用新版本完成了調用,我會看看我們是否可以修復它。此外,我們不會在用戶進行30天試用之前收費用戶,這就是爲什麼SetEC中沒有設置數量的原因。我只是試圖在第一步中免費創建賬單協議。 (我知道這在我的第一篇文章中並不清楚)。有什麼想法嗎?你有時間諮詢這個嗎?我在Gmail上的用戶名是我的電子郵件。 TIA。 – superfreaker

+0

@geezwizSir,有什麼機會我可以爲您在這個問題上進行一些諮詢工作嗎?仍然看到巨大的失敗率。我的電子郵件是我在gmail的用戶名。非常感謝你。 – superfreaker