0

我一直在嘗試使用PayPal自適應API解決以下問題。我已經將貝寶自適應鏈接支付API與我的網站集成在一起。當用戶點擊「pay with paypal」按鈕時,需要paypal網站付款。我的問題從這裏開始Paypal帶令牌的自適應API返回URL映射

  • 貝寶返回到我的returnURL,但我如何綁定返回後的原始付款請求。 returnURL是一個HTTP GET,沒有貝寶的查詢參數。
  • 如果我想使用IPN,這不會允許我在本地Windows Web服務器中測試,因爲它不支持本地主機或127.0.0.1。我甚至嘗試讓我的公衆面臨的IP,並試圖把端口轉發到我的路由器,不退還一英寸

現在,我希望能夠表時,各種支付信息,當我的數據庫時,用戶有支付成功,和我不投入生產之前,有適當的手段,做到在發展

我雙驚訝的是一個數十億美元的公司如PayPal可以給開發者提供這樣一個無用的代碼整合

我看在這個答案,以及Adaptive Payments Paypal : return url without data?。 Paypal的人說

當用戶返回returnUrl端點時,您將調用PaymentDetails API並檢查狀態並繼續。

那麼問題是要調用PaymentDetails,我需要paytoken。我怎樣才能從returnurl獲得報酬?就像現在一樣,返回URL沒有任何查詢參數。

回答

7

在你returnUrl只是追加payKey=${payKey}

例如,如果你RETURNURL是example.com/return.html?myparameter=value - 這將成爲example.com/return.html?myparameter=value&payKey=${payKey}
PayPal將取代${payKey}實際PayKey。因爲它是你需要URL編碼的RETURNURL的值的URL - 所以上面的網址將成爲example.com%2Freturn.html%3Fmyparameter%3Dvalue%26payKey%3D%24%7BpayKey%7D

下面是一個簡單curl命令

curl -s --insecure -H "X-Paypal-Security-Userid: XXX" -H "X-Paypal-Security-Password: XXX" -H "X-Paypal-Security-Signature: XXX" -H "X-Paypal-Request-Data-Format: NV" -H "X-Paypal-Response-Data-Format: NV" -H "X-Paypal-Application-Id: APP-80W284485P519543T" https://svcs.sandbox.paypal.com/AdaptivePayments/Pay -d "requestEnvelope.errorLanguage=en_US&clientDetails.ipAddress=127.0.0.1&clientDetails.deviceId=mydevice&clientDetails.applicationId=PreApprovalNvpDemo&cancelUrl=http%3A%2F%2Flocalhost%2Fcancel.html&currencyCode=USD&actionType=PAY&receiverList.receiver(0)[email protected]&&receiverList.receiver(0).amount=100.00&feesPayer=EACHRECEIVER&memo=SimplePay&returnUrl=http%3A%2F%2Flocalhost%2Freturn.html%3FpayKey%3D%24%7BpayKey%7D" 
+0

哇的問題,這樣一個完美的解決方案。爲什麼我沒有想到它! –