跳轉至主體

執行基本付款

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認證頁面上,依照以下順序進行認證。

1. 重定向到身份驗證頁面

顧客可以隨時取消LINE Pay認證流程。

在LINE應用程式或彈出頁面完成LINE Pay認證後,顧客將被引導至呼叫付款請求API時指定的重定向頁面之一。根據顧客前往的地點,可以查看顧客是否完成了LINE Pay認證或取消付款。

顯示付款授權頁面後,可以進行付款授權,以下是合作商店需要提供的付款授權頁面範例。

根據情況,可以在不提供重定向頁面下執行付款。相關詳細說明請參考實現無重定向URL付款文檔。

付款授權

顧客完成LINE Pay認證並確認購買訊息,合作商店伺服器即可向LINE Pay伺服器請求付款授權。如果沒有分開付款授權和請款,則付款授權時,自動處理為請款並完成付款。

輸入以下訊息,呼叫付款授權請求API

處理交易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
}
]
}
}

收到上述回應後,提供顧客顯示付款已完成的頁面。

自動請款時,無法取消授權,只能退款