Skip to content

numb2too/ecpay-test

Repository files navigation

測試綠界科技付款 API

確認環境

下載 SDK

https://github.com/ECPay/ECPayAIO_Python/tree/master/sdk

已經有了可以直接使用 ecpay_payment_sdk.py

cloudflared 設定

因為本地測試需要開 tunnel 綠界才能連接到本地的 callback

# 沒有的話先下載
brew install cloudflared  
# 開啟
cloudflared tunnel --url http://localhost:5000  

callback url 設定

pay.py 裡的 BACK_URL 改成 cloudflared 給的 Tunnel

python 設置

# 1. 建立名為 venv 的虛擬環境
python -m venv venv

# 2. 啟動虛擬環境
# Mac/Linux:
source venv/bin/activate
# Windows:
# venv\Scripts\activate

需先安裝

pip install --upgrade pip
pip install -r requirements.txt

操作步驟

執行 pay.py

python pay.py

訪問 api 文件

http://127.0.0.1:5000/docs

選擇 /api/callback > try it out > Execute
把回傳的 response body copy > pay.html 啟動 live server
alt text

跳轉到付款頁面

alt text
輸入測試卡號:4311-9522-2222-2222
日期 12/30 安全碼 222
手機輸入自己的 不然驗證失敗 QQ
點擊 立即付款
他會提醒這是測試網址請勿輸入真實資料 再按一次即可送出
alt text

手機驗證碼

輸入自己手機簡訊收到的認證碼即可 alt text

付款成功頁面

點擊返回商店 alt text

返回我們的系統

alt text

驗證成功

並且確定有收到綠界回傳的資料以及驗證成功付款成功的 log

127.0.0.1 - - [25/Nov/2025 16:43:59] "POST /api/checkout HTTP/1.1" 200 -
收到綠界回傳: {'CustomField1': '', 'CustomField2': '', 'CustomField3': '', 'CustomField4': '', 'MerchantID': '1', 'MerchantTradeNo': '2', 'PaymentDate': '2333/12/05 06:04:54', 'PaymentType': 'Credit_CreditCard', 'PaymentTypeChargeFee': '11', 'RtnCode': '1', 'RtnMsg': '交易成功', 'SimulatePaid': '0', 'StoreID': '', 'TradeAmt': '500', 'TradeDate': '2025/11/25 16:44:09', 'TradeNo': '444444444', 'CheckMacValue': 'WETWT87W9ET789W7T9E7D60B215D25B13D4C6C512FCCA'}
驗證成功:付款成功!

補充說明

測試綠界有沒有正常回傳 json log

curl -X POST http://127.0.0.1:5000/api/callback \
     -d "MerchantID=2000132" \
     -d "MerchantTradeNo=Test12345" \
     -d "RtnCode=1" \
     -d "CheckMacValue=FakeValueForTesting"

測試 cloudflared 能正常連接並回傳 json log

curl -X POST https://{your-url}/api/callback \
     -d "MerchantID=2000132" \
     -d "MerchantTradeNo=TestPublic" \
     -d "RtnCode=1" \
     -d "CheckMacValue=FakeTest"

About

測試綠界科技付款 API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published