2019 Laravel 6.0+ PayPal 圖文教學

Yu Lin Chou
5 min readSep 27, 2019

--

需要有一台 https 主機與 PayPal 主機溝通。

第一步:前往 PayPal 註冊一個正式帳號 (這個也要教就可以上一頁了)

第二步:登入 PayPal 設定幣別,參照如下圖,位置在

『右上角齒輪-> Account Settings-> 左邊選 Money, banks and cards-> 在右方 Currency management 的部分新增一個你預計常常收到的幣別』,如果這邊不做,收到此種幣別時, PayPal 需要您手動確認款項,很麻煩。

Account Settings

第三步:前往開發者頁面,進來後如下圖

My Apps & Credentials

『左方選單會看到 My Apps & Credentials 點進去後會有一個預先創建好的 Default Application,我們就先用這個當作範例,點進去如下圖!』

有些資訊我遮住了

以下介紹一下這邊:

  1. Sandbox account 就是在沙盒環境 (模擬測試環境) 中你的商業帳戶
  2. Client ID 跟 Secret 需要記下來之後會用到
  3. Webhook 的部分是設定交易過程中的『異步回調』,務必設定。否則交易無法確認。新增時:下方的勾選可以先全部勾選

第四步:確認一下沙盒環境的帳號密碼

『左方的 Accounts 點下去後如下圖』

這邊會看到兩組預設帳號,一組是個人帳號,一組是商業帳號,點擊 View/Edit Account 後可以設定一些內容,這邊先把商業帳號的密碼記下來。

第五步:前往我的 Github PayPal 專案 點一顆星星 ( 誤。

把我的專案安裝到主機上並設定好一組 https 網址對應到 public 底下即可。

第六步:編輯 .env ,前兩個就是上面說的,第三個請改成自己的 Domain

PAYPAL_CLIENT_ID=
PAYPAL_CLIENT_SECRET=
PAYPAL_CALLBACK_URL=https://your_domain/api/paypal/callback

第七步:測試付款及收款

  1. 前往 https://your_domain 會看到分成兩個部分,我們先看購買商品的部分,如下圖:

首先我們先測試購買商品,輸入商品資訊後點擊確定結帳,如果沒意外就會轉跳到 PayPal 的付款畫面。隨便輸入資訊如下後按繼續。

卡號隨便輸入就可以了,記得最下方按否

最後會出現付款結果畫面

到這邊恭喜你成功一半了,異步大概會延遲幾秒鐘到幾分鐘,所以可以點擊第三個網址。先去 sandbox 裡面看看你的商業帳戶是不是真的有收到錢。

最新果然有剛剛的 9000 元進帳

這時候可以前往 Log 也就是第二個網址查看異步回調的情況,如果有看到

一個是 "event_type": "PAYMENTS.PAYMENT.CREATED"

一個是 "event_type": "PAYMENT.SALE.COMPLETED"

可以再確認 COMPLETE 裡面的 STATE 是不是等於 completed。

如果是,恭喜你。這筆交易真的成功了!

第八步:退款

都測試完畢後回到首頁會看到下方有個退款區域

嘿對就是我

這時回到 Log 把 交易 ID 複製下來

5LX31631EC5300119 就是交易 ID

可以看到交易 ID 是 5LX31631EC5300119,回到我們的退款頁輸入如下

按下確定退款!等待結果!

恭喜你退款成功了。到 Log 理論上會收到一個同步跟一個異步的退款結果

接下來我們到 sandbox 看看款項有沒有退掉吧!

果然退掉了,還把手續費佛心的還給你了~這樣誰也不吃虧了!

現在如果到這邊你都成功了,想研究我怎麼實作的話可以直接看我的程式碼,我大概列一下要看的地方,相信對你來說一定是簡單到不行。

// 主程式碼
app/Http/Controllers/PaypalController.php
// 路由
routes/api.php
routes/web.php
// View
resources/views/paypal.blade.php
resources/views/results.blade.php
用到的套件是
paypal/rest-api-sdk-php

如果對你有幫助!來點星!然後分享出去吧~ Github 連結

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response