PayPal:是海外的一家支付平台。
PayPal官網地址
官網:https://paypal.com
開發者網站:https://developer.paypal.com
沙盒地址:https://www.sandbox.paypal.com/
Demo地址:https://demo.paypal.com
接口文檔參考:PayPal Demo
開發流程圖:
我們就是要做上圖這么一件事,下面是詳細的開發步驟。
一、注冊個人賬號
注冊地址:https://www.paypal.com/us/webapps/mpp/account-selection
選擇即可。


只需按部就班填寫即可,此處不再截圖注冊流程。
二、創建測試賬號
開發者網站:https://developer.paypal.com/
用上面注冊的賬戶登錄開發者網站,在工作台上創建一個商戶賬號和一個買家賬號,用於開發和測試。

在創建買家賬戶的時候,別忘了給買家賬戶里多加一些錢。
三、獲取clientId和secret
在調用REST API時要在請求頭中加入token,而token是用clientId和secret獲取的。


四、獲取token
其中tokenUrl為:https://api.sandbox.paypal.com/v1/oauth2/token
對應接口文檔地址:https://developer.paypal.com/docs/api/overview/#make-your-first-call
注意:token具有時效性。
五、預交易(下單)
這是一個預交易接口,即調用后不會真正的發生金錢交易,只是告訴PayPal有個用戶一會要支付1000元買手機,你給我生成一個支付鏈接,我把這個鏈接給用戶,讓他去到你網站支付。調用此接口后會返回支付鏈接和查詢此交易的查詢鏈接。
是一個實體類,和接口文檔中的請求json結構一致。
是用戶確認付支付后,PayPal向我們商戶跳轉的連接,PayPal會帶有一些參數,同時我們也可以把我們的流水號放進去。
是用戶在paypal界面點擊取消付款后,paypal想我們商戶跳轉的連接。
到此,用戶已經拿到了付款連接,可以跳轉到paypal進行付款了。
對應接口文檔地址:https://developer.paypal.com/docs/api/payments/v1/#payment_create
六、執行付款
當用戶在paypal界面完成付款后,paypal就會重定向到我們送給他的:
其中executeUrl為:https://api.sandbox.paypal.com/v1/payments/payment
注意:不能在此方法內調用商戶系統進行發貨,因為這個請求可能不是paypal發來的,我們應該是后台通知時再通知商戶系統發貨。
對應的接口文檔地址:https://developer.paypal.com/docs/api/payments/v1/#payment_execute
后台通知
可以使用賣家賬戶登錄沙盒環境,點擊”賣家習慣設定“ > “收款和管理我的風險” > “即時付款通知”。
直達鏈接:https://www.sandbox.paypal.com/c2/cgi-bin/webscr?cmd=_profile-display-handler&tab_id=SELLER_PREFERENCES

其中checkUrl:https://www.sandbox.paypal.com/cgi-bin/webscr
對應接口文檔地址:https://www.paypal.com/us/cgi-bin/webscr?cmd=p/acc/ipn-info-outside
七、單筆查詢
如果我們沒收到后台通知怎么辦?這時候就可以通過單筆查詢主動去paypal查詢訂單狀態。
其中queryUrl:https://api.sandbox.paypal.com/v1/payments/payment
paymentId是在預交易接口返回的。
對應接口文檔地址:https://developer.paypal.com/docs/api/payments/v1/#payment_get
批量查詢
如果需要日終對賬,那么就要用到批量查詢接口。也可以循環使用單筆查詢代替的。
對應接口文檔地址:https://developer.paypal.com/docs/api/payments/v1/#payment_list
【以上文章為轉發內容】