每天五分鐘
LINE API 輕鬆上手 #28
LINE也可以做金流
2019@RenZhou
LINE Pay 處理訂單的回傳(API v3)
在v3版本的API 會有兩個回傳事件
註: v2版本只有confirm
2
LINEPay
(付款畫面)
confirm URL
(付款)
cancel URL
(取消)
server side
confirm URL
當使用者按下付款按鈕時,會根據當初訂單設置時的 confirmUrlType 參數來決定動作
會跳轉到你所設定的 confirmUrl 網址並帶後面的參數
像是這樣:
同上,只是LINE伺服器會自己再送一次請求
不會傳送請求,要自己定期透過 Payment Status API 去確認訂單
3
https://03d161a8.ngrok.io/confirmUrl?transactionId=2019101400070184210&orderId=order6969e569-d756-4669-968e-1ca62a42d82e
confirm 的處理
複習一下這張圖,當初訂單captrue(自動請款)選項沒填(預設為 true)的話,只要呼叫 Confirm API 就好
反之除了Confirm API 還要另外再去呼叫 Capture API
4
confirm API
5
confirm API 回傳值
6
{
returnCode: "0000",
returnMessage: "Success.",
info: {
transactionId: 2019101400070195200,
orderId: "order6b08b5a6-a294-409c-a216-ec7eabf193d0",
payInfo: [
{
method: "CREDIT_CARD",
amount: 7000,
maskedCreditCardNumber: "************1111"
}
],
packages: [...]
}
}
cancel URL
當使用者按下取消時,會將畫面導向這裡
跟 confirm 一樣,也會拿到 transactionId 跟 orderId
7
https://03d161a8.ngrok.io/cancelUrl?transactionId=2019101400070184210&orderId=order6969e569-d756-4669-968e-1ca62a42d82e
假設我們要退款的話
一樣不難
Refund API
9
Refund API 回傳值
10
{
returnCode: '0000',
returnMessage: 'Success.',
info: {
refundTransactionId: 2019101400070203600,
refundTransactionDate: '2019-10-14T09:20:39Z'
}
}
其他還有這些API
11
建立訂單時若有設 自動付款
則在 confirm 時才會拿到 RegKey
結論
串接LINE Pay需要注意的地方
13