[PayPal] PayPal 付款流程整合 前篇
現在新的PayPal新的API付款方式不像以前需要整個頁面導向PayPal,而是整個付款回流會在原本的網頁做完付款的動作。 依照官方的說明,總共有五個步驟要搞懂。
付款流程
付款流程示意圖
- 付款人按下付款按鈕
- 會使用 PayPal 提供的
checkout.js
跳出 lightbox window - 接下來就是使用 javascript 或者 server 端呼叫 PayPal API 初始化帳單
- 一旦帳單初始化付款流程就會在 lightbox window 正式開始
- 會使用 PayPal 提供的
付款人需登入 PayPal
付款人會授權 PayPal 帳單
付款人同意帳單後,PayPay 會關掉 lightbox window,付款人回到原本的網頁畫面。 此刻,我們可以顯示一個確認頁面,呼叫 PapPal REST API 來顯示帳單明細,內容包含帳單地址跟Email等等….
在確認頁面裡面,呼叫付款完成的 PayPal API 來完成付款。
加入 PayPal 付款按鈕
載入checkout.js1
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
請使用官方提供的線上版本,不要下載到local端。
Render the PayPal button
- html
1 | <div id="paypal-button"></div> |
- 可以開啟瀏覽器開發工具,確認看看載入是否有錯誤
- IE的環境下建議加入
<!DOCTYPE html>
和<meta http-equiv="X-UA-Compatible" content="IE=edge" />
可避免一些兼容性的錯誤
補充 :
選擇整合方式
Client 整合 :
- 只需要使用 HTML 跟 JavaScript 就可以完成付款流程
Server 整合 :
- 更有彈性
- 在 server 端呼叫 REST Payments API 建立帳單、付款等動作。
整合流程說明 :
checkout.js
render PayPal 按鈕- 付款人點擊按鈕,建立帳單,並且彈出 lightbox window 。
建立帳單的方式,有兩種,參考上方的說明 :- Client 整合
- Server 整合
- 初始化付款流程
- 付款人登入並且授權帳單
- 顯示確認頁面 (選擇性,不一定要執行此步驟)
- 付款完成
- Client 整合 :
checkout.js
自動在 client 端執行付款完成手續 - Server 整合 : Server 呼叫 REST API 完成付款
- Client 整合 :
- 顯示付款完成頁面