查詢付款明細
如果合作商店需要查詢指定付款明細,可以使用付款明細查詢API。使用合作商店提供的訂單號碼或LINE Pay伺服器回應發送的交易ID (transaction ID)訊息,請求付款明細如下。
const getPaymentInfo = async function ({ orderId = "", transactionId = "" }) {
let queryString = "";
if (orderId === "" && transactionId === "") {
throw new Error(
"At least one of order ID or transaction ID must be input."
);
} else if (orderId !== "") {
queryString = `orderId=${orderId}`;
} else {
queryString = `transactionId=${transactionId}`;
}
let response = await requestOfflineAPI({
method: "GET",
baseUrl: targetAPIServer,
apiPath: `/v2/payments?${queryString}`,
queryString: queryString,
});
return response;
};
// ...
try {
let response = getPaymentInfo({ orderId: "test_order_1" });
console.log("Response: ", response);
} catch (error) {
console.log(error);
}
必須在查詢參數中輸入訂單號碼和交易ID (transaction ID)之一。
處理交易ID訊息時,根據平台,可能需要將交易ID視為字串。詳細說明請參考交易ID (transaction ID)。
根據查詢的付款明細,回應中包含的訊息可能會有所不同。以下是收到的回應付款明細範例。
{
"returnCode": "0000",
"returnMessage": "success",
"info": [
{
"transactionId": 2019049910005495123,
"transactionDate": "2019-04-05T11:52:20Z",
"transactionType": "PAYMENT",
"productName": "Test product",
"currency": "TWD",
"payInfo": [
{
"method": "BALANCE",
"amount": 100
}
]
}
]
}
如果查詢了具有退款歷史記錄的付款明細,則可能包括退款訊息(info.refundList
)如下所示。
{
"returnCode": "0000",
"returnMessage": "success",
"info": [
{
"transactionId": 2019049910005496810,
"transactionDate": "2019-04-08T06:31:19Z",
"transactionType": "PAYMENT",
"productName": "test product",
"currency": "TWD",
"payInfo": [
{
"method": "BALANCE",
"amount": 100
}
],
"refundList": [
{
"refundTransactionId": 2019049910005497012,
"transactionType": "PARTIAL_REFUND",
"refundAmount": 50,
"refundTransactionDate": "2019-04-08T06:33:17Z"
}
],
"orderId": "20190408001"
}
]
}