node-linepay
v1.0.7
Published
This is a project for integrating Line Pay V3 with Node.js.
Downloads
14
Readme
npdejs-linepay
This is a project for integrating Line Pay V3 with Node.js.
Usage
匯入&宣告
const LinePay = require('nodejs-linepay');
// Init LinePay
const linePay = LinePay({
channelId: 'YOUR_CHANNEL_ID',
channelSecret: 'YOUR_CHANNEL_SECRET',
isTest: true // 可不帶,預設 false
});
[付款請求] requestPayment
使用輸入的付款訊息向LINE Pay伺服器請求付款。設定付款訊息中,顧客需付款的訂單訊息和付款方式。如果付款請求處理順利,顧客將被引導至LINE Pay認證畫面。
另外,回應該API會發出一個交易ID,可用於請求付款授權、取消授權和請款,退款。
// Request Body
const body= {
// 參數參照官網
};
// 呼叫付款請求方法
linePay.requestPayment(body).then((response) => {
// 回應格式參照官網
console.log('requestPayment response:', response);
if(response.returnCode === '0000'){
// 請求成功,請引導用戶至付款頁面,回應格式官網
}else{
// 錯誤碼參照官網
}
}).catch((err) => {
console.error(err);
});
[付款授權] confirmPayment
客戶進入付款連結認證成功後導向"confirmUrl"時,呼叫付款授權進行授權請款。
※授權後LINE後台才會出現訂單。
// Request Body
const body= {
// 參數參照官網
};
// 呼叫付款授權方法
linePay.confirmPayment(transactionId, body).then((response) => {
// 回應格式參照官網
console.log('confirmPayment response:', response);
if(response.returnCode === '0000'){
// 成功,回應格式參照官網
}else{
// 錯誤碼參照官網
}
}).catch((err) => {
console.error(err);
});
[請款] capturePayment
執行請款。若執行分開付款授權和請款,付款授權後,合作商店呼叫此API執行請款,方能完成付款。(預設是自動請款,不須特別使用此API)。
// Request Body
const body= {
// 參數參照官網
};
// 呼叫請款方法
linePay.capturePayment(transactionId, body).then((response) => {
// 回應格式參照官網
console.log('capturePayment response:', response);
if(response.returnCode === '0000'){
// 成功,回應格式參照官網
}else{
// 錯誤碼參照官網
}
}).catch((err) => {
console.error(err);
});
[取消授權] voidAuthorization
取消付款授權。如果是分開付款授權和請款的訂單,可以呼叫取消授權功能。如果已經執行請款後或自動請款,則不能取消付款授權,應進行退款。
// Request Body
const body= {
// 參數參照官網
};
// 呼叫取消授權方法
linePay.voidAuthorization(transactionId, body).then((response) => {
// 回應格式參照官網
console.log('voidAuthorization response:', response);
if(response.returnCode === '0000'){
// 成功,回應格式參照官網
}else{
// 錯誤碼參照官網
}
}).catch((err) => {
console.error(err);
});
[退款] refundPayment
執行付款授權後會自動處理為請款,或執行分開請款則無法取消已授權的付款,只能採取退款處理。可以使用已完成付款的交易ID (transaction ID)退還全部或部分付款金額。
// Request Body
const body= {
// 參數參照官網
};
// 呼叫退款方法
linePay.refundPayment(transactionId, body).then((response) => {
// 回應格式參照官網
console.log('refundPayment response:', response);
if(response.returnCode === '0000'){
// 成功,回應格式參照官網
}else{
// 錯誤碼參照官網
}
}).catch((err) => {
console.error(err);
});
[查詢付款請求狀態] checkPaymentRequest
查詢請求付款的狀態。主要在執行無confirmURL訊息的付款時,可以定期呼叫該API來檢查顧客是否完成LINE Pay認證。根據回應(returnCode),可以確認LINE Pay是否已通過認證或成功與否。建議以1秒以上的間隔呼叫API。
// 呼叫查詢付款請求狀方法
linePay.checkPaymentRequest(transactionId).then((response) => {
// 回應格式參照官網
console.log('checkPaymentRequest response:', response);
if(response.returnCode === '0000'){
// 成功,回應格式參照官網
}else{
// 錯誤碼參照官網
}
}).catch((err) => {
console.error(err);
});
[查詢付款明細] checkPaymentDetails
已授權的付款或請款的付款明細檢索。可以使用參數查詢指定[交易ID (transaction ID)]或訂單號碼的付款明細,也可以只查詢交易訊息或訂單訊息。
// Request Body
const body= {
// 參數參照官網
};
// 呼叫查詢付款請求狀方法
linePay.checkPaymentDetails(body).then((response) => {
// 回應格式參照官網
console.log('checkPaymentDetails response:', response);
if(response.returnCode === '0000'){
// 成功,回應格式參照官網
}else{
// 錯誤碼參照官網
}
}).catch((err) => {
console.error(err);
});
[檢查預先授權付款密鑰狀態] preapprovedCheck
檢查已簽發預先授權付款密鑰的狀態。
// Request Query
const query= {
// 參數參照官網
};
// 呼叫檢查預先授權付款密鑰狀態方法
linePay.preapprovedCheck(regKey, query).then((response) => {
// 回應格式參照官網
console.log('preapprovedCheck response:', response);
if(response.returnCode === '0000'){
// 成功,回應格式參照官網
}else{
// 錯誤碼參照官網
}
}).catch((err) => {
console.error(err);
});
[預先授權付款請求] preapprovedPay
使用已簽發預先授權付款密鑰向LINE Pay伺服器請求預先授權付款。
// Request Body
const body= {
// 參數參照官網
};
// 呼叫預先授權付款請求方法
linePay.preapprovedPay(regKey, body).then((response) => {
// 回應格式參照官網
console.log('preapprovedPay response:', response);
if(response.returnCode === '0000'){
// 成功,回應格式參照官網
}else{
// 錯誤碼參照官網
}
}).catch((err) => {
console.error(err);
});
[刪除預先授權付款密鑰] preapprovedExpire
已簽發預先授權付款密鑰的逾期處理。
// 呼叫刪除預先授權付款密鑰方法
linePay.preapprovedExpire(regKey).then((response) => {
// 回應格式參照官網
console.log('preapprovedExpire response:', response);
if(response.returnCode === '0000'){
// 成功,回應格式參照官網
}else{
// 錯誤碼參照官網
}
}).catch((err) => {
console.error(err);
});
Update log
| version | log | |--|--| | 1.0.7 | 增加描述、目錄。 | | 1.0.6 | 增加功能- 檢查預先授權付款密鑰狀態。- 預先授權付款請求。- 刪除預先授權付款密鑰。 | | 1.0.5 | 完善所有方法的說明。 初始化 linePay 傳入options.isTest時,如不帶值則為False。|