PayPal checkout 金流串接實現自動履行訂單
最近幫專題增加金流功能,使用了PayPal提供的方案,順便做點心得紀錄 PayPal提供了多種API供選擇,可惜文件寫得有點分散且不夠詳盡,讓第一次接觸金流API這部分的我吃了不少苦頭 欲實現目的 使用者在網站付款後自動實現充值 環境與方案 前端付款方案:PayPal Checkout ( https://developer.paypal.com/docs/checkout/ ) 收款通知方案:Instant Payment Notificatio(IPN)( https://developer.paypal.com/docs/classic/products/instant-payment-notification/ ) 前端:ReactJS 後端:Laravel 這邊不得不提一下PayPal提供了多種的前端付款方案除了本文使用的PayPal Checkout還有 Html form方案 目的都是幫助開法者快速建立付款按鈕,似乎還有單純使用API建立帳單的方式,看文件的時候沒注意真的會很容易被搞混... 在收到款項通知部分本以為可以有API去打,查閱開發文件後似乎是沒有這種選項,必須自己在伺服器建立IPN聆聽器來接收付款通知 流程邏輯 使用者發起付款(包含一組識別用invoice)->在自己伺服器建立紀錄 ->在paypal建立帳單->引導至paypal付款->paypal將付款結果通知IPN ->將付款通知中的invoice與自己記錄的invoce進行match並且更新資料庫 ->完成 建立付款按鈕 開始首要建立付款按鈕,在React部分我參考了 這篇 ,若非使用React的則可參考 官方文件 ,整體來說差異不大 而checkout button所需的token則可以在 https://developer.paypal.com/ 找到 ※DASHBOARD>My Apps & Credentials>REST API apps>Create App或是點擊已存在App 在React建立好的checkout button大概長這樣 - - 元件使用。此例中使用亂數字串當作發票號碼 - - 訂單追蹤 接著看回React che...