執行基本付款
LINE Pay的基本網路付款方式是完成付款授權處理後,自動處理請款。基本方法的付款流程如下。
請根據上述付款流程在合作商店伺服器執行以下操作。
執行付款時,如需將付款授權與請款分開,請先熟悉基本的付款執行方式,然後參考執行授權與請款分開付款。
付款請求
當顧客決定購買產品或服務,嘗試使用LINE Pay付款時,合作商店伺服器必須透過LINE Pay伺服器將以下訊息傳輸到LINE Pay伺服器請求付款。
- 付款金額和貨幣代碼
- 合作商店管理的訂單號碼
- 購買的產品或服務的訊息
- LINE Pay 認證後要前往之頁面的重定向訊息
- 其他付款訊息
合作商店提供以下產品頁面(左邊)和訂單頁面(右邊),以獲得顧客提供的上述訊息。
確認訊息,呼叫付款請求API。以下是雙管50日圓筆的付款請求。
呼叫Online API時,取得必要credentials的方法請參考準備API credentials。本頁所述的程式碼範例使用準備API credentials程式碼範例中定義的
requestOnlineAPI()
函數。
try {
let response = await requestOnlineAPI({
method: "POST",
baseUrl: targetAPIServer,
apiPath: "/v3/payments/request",
data: {
amount: 100,
currency: "TWD",
orderId: "EXAMPLE_ORDER_20230422_1000001",
packages: [
{
id: "1",
amount: 100,
products: [
{
id: "PEN-B-001",
name: "Pen Brown",
imageUrl: "https://store.example.com/images/pen_brown.jpg",
quantity: 2,
price: 50,
},
],
},
],
redirectUrls: {
confirmUrl: "https://store.example.com/order/payment/authorize",
cancelUrl: "https://store.example.com/order/payment/cancel",
},
},
});
console.log("Response: ", response);
} catch (error) {
console.log(error);
}
付款請求完成後,將收到如下所示的回應。
{
"returnCode": "0000",
"returnMessage": "Success.",
"info": {
"paymentUrl": {
"web": "https://sandbox-web-pay.line.me/web/payment/wait?transactionReserveId=REpEWEttQ0F2RmFnaFFzVndIdjl6Z0lqbGpPemZjOHpNWTFZTmdibUlRNlEzOG50N2VSRmdGU2IxcnVjMHZ1NQ",
"app": "line://pay/payment/REpEWEttQ0F2RmFnaFFzVndIdjl6Z0lqbGpPemZjOHpNWTFZTmdibUlRNlEzOG50N2VSRmdGU2IxcnVjMHZ1NQ"
},
"transactionId": 2023042201206549310,
"paymentAccessToken": "056579816895"
}
}
接下來,需要引導顧客前往LINE Pay驗證畫面。在回應收到的付款畫面confirmURL(info.paymentUrl
)中,移至顧客正在使用的裝置對應的URL。
- PC 使用者:在彈出視窗的
info.paymentUrl.web
欄位中顯示URL或導覽至URL指向的網頁。 - 行動裝置使用者:
info.paymentUrl.app
欄位中的深層連結(deep link)可啟動LINE應用程式中的LINE Pay驗證畫面。
如果結果程式碼(
returnCode
)不是0000
,請檢查結果程式碼。
LINE Pay 認證
LINE Pay認證指移動至顧客收到的付款請求回應URL(paymentUrl
),在LINE應用程式或Web環境中認證自己的身分,並輸入付款密碼的流程。顧客會在LINE應用程式的LINE Pay畫面或彈出的LINE Pay認證頁面上,依照以下順序進行認證。
顧客可以隨時取消LINE Pay認證流程。
在LINE應用程式或彈出頁面完成LINE Pay認證後,顧客將被引導至呼叫付款請求API時指定的重定向頁面之一。根據顧客前往的地點,可以查看顧客是否完成了LINE Pay認證或取消付款。
顯示付款授權頁面後,可以進行付款授權,以下是合作商店需要提供的付款授權頁面範例。
根據情況,可以在不提供重定向頁面下執行付款。相關詳細說明請參考實現無重定向URL付款文檔。
付款授權
顧客完成LINE Pay認證並確認購買訊息,合作商店伺服器即可向LINE Pay伺服器請求付款授權。如果沒有分開付款授權和請款,則付款授權時,自動處理為請款並完成付款。
輸入以下訊息,呼叫付款授權請求API。
- 付款請求時收到的交易ID (transaction ID)
- 付款金額和貨幣代碼
處理交易ID訊息時,根據服務執行語言,可能需要將交易ID視為字串。詳細說明請參考交易ID (transaction ID)。
以下代碼請求授權先前請求的付款。
try {
let response = await requestOnlineAPI({
method: "POST",
baseUrl: targetAPIServer,
apiPath: `/v3/payments/${requestTransactionId}/confirm`,
data: {
amount: 100,
currency: "TWD",
},
});
console.log("Response: ", response);
} catch (error) {
console.log(error);
}
完成付款授權,將收到以下回應。
{
"returnCode": "0000",
"returnMessage": "OK",
"info": {
"orderId": "EXAMPLE_ORDER_20230422_1000001",
"transactionId": 2023042201206549310,
"payInfo": [
{
"method": "BALANCE",
"amount": 100
}
]
}
}
收到上述回應後,提供顧客顯示付款已完成的頁面。