2013-07-03 84 views
0

我在我的網上商店中整合了PayPal,以便通過自動產品交付(以前已經有過此功能,但只能通過sofort.com進行即時電匯)進行即時付款。我通過PayPal提供的示例(我正在使用ReviewOrder.php,GetExpressCheckoutDetails和DoExpressCheckoutPayment)將其集成。付款狀態仍爲「待定」

如果他們用PayPal餘額或鏈接的信用卡支付,它工作得很好。但是,一些來自德國的客戶在賬戶中沒有餘額,但只有一個銀行賬戶與他們的賬戶相關聯。付款通過並且他們收到他們的產品,但是我注意到付款狀態將在1個月內保持「待定」狀態,之後更改爲「過期」,因此實際上沒有錢到達。

這是怎麼發生的?或者有什麼辦法否認這種付款? (從備用基金支付)

任何幫助,將不勝感激。

enter image description here

回答

0

嘿傢伙我終於找到了解決這個奇怪的問題。

原來我在我執行下面的代碼,我其實初始化支付流程:

$_REQUEST['paymentType'] = "Order"; 

這雖然是錯誤的,因爲這種付款方式不會將保持對資金和如果DoCapture呼叫從未被調用,則該支付將保持等待約一個月,然後完全到期(如我的問題所述,所以這就是實際發生在我身上的情況)。壞消息是,這種付款甚至不可能通過PayPal手動接受(即使當地PayPal電話支持能夠/想要接受這些付款的原因不明,因爲他們告訴我他們會提出解決方案並且24小時內通過電子郵件與我聯繫,但他們從未這樣做過)。

因此,爲了解決此問題,我將付款類型更改爲Sale,該付款類型立即捕獲付款,而不是等待某種批准或捕獲電話。它現在工作了兩個星期,我想我現在就這樣離開它。

$_REQUEST['paymentType'] = "Sale"; 

我失去了約110€因爲這個愚蠢的瑣碎細節,但至少它現在的工作很好,我能夠重新啓用貝寶作爲付款方式。我希望他們至少會添加一個選項,以便在DoCapture調用沒有實現的情況下手動接受這些支付,因爲對於大多數支付,如果沒有支付,它仍然可以正常工作,並且畢竟這仍然是關於真錢的,所以這絕對會是一個必不可少的東西....

1

其野兔一天出去找在交易明確。但有幾件事可能會導致您的付款處於待處理狀態,例如您可能在帳戶中設置的偏好設置。請檢查以確保您沒有設置好您的偏好,然後接受以您不支持的貨幣付款。買家用eCheck付款了嗎?如果是這樣,它可能正在等待付款清除。如果這在沙箱中,則必須手動清除付款。如果您仍然無法確定掛起付款的原因,如果您提供交易ID,我會在我的最後查看。

+0

我不知道。但我想他只是習慣通過德國銀行賬戶再次發送付款。但我想這可能是錯誤的設置或API的錯誤實現。大約有10筆交易存在同樣的問題(自從PayPal在一個月內停用一段時間後已經過期),但這是最新的ID:O-9PR33160TM334903W – beta

0

這也可能發生,如果您試圖接受以您的帳戶的其他貨幣付款。爲避免這種情況,您必須以付款貨幣創建「PayPal餘額」。 IPN在這種情況下也給出提示原因: [pending_reason] => multi_currency