npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

node-linepay

v1.0.7

Published

This is a project for integrating Line Pay V3 with Node.js.

Downloads

14

Readme

npdejs-linepay

axios 1.7.4 crypto-js 4.2.0

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。|