每天五分鐘
LINE API 輕鬆上手 #29
LINE也可以做金流
2019@RenZhou
LINE Pay 透過套件輕鬆實作(API v3)
有套件不早點拿出來
害我搞 API 搞那麼辛苦
改來改去太麻煩了,所以就自己寫一個
主要解決自己在那邊串各種不同API,同時還要煩惱header正不正確的困擾
3
先來安裝
先開個新資料夾,然後建立一個 index.js
這裏一樣是 npm 的套件,就用 npm 裝
然後記得引入哦
4
npm install --save line-pay-v3
const LinePay = require('line-pay-v3')
然後帶入自己的 channel 資料
把資料都填上去
5
const linePay = new LinePay({
channelId: YOUR_CHANNEL_ID,
channelSecret: YOUR_CHANNEL_SECRET,
uri: 'https://sandbox-api-pay.line.me'
})
來建立一筆訂單看看
先準備一個隨意的訂單或是你自己的也可以
6
const order = {
amount: 4000,
currency: 'TWD',
orderId: 'Order2019101500001',
packages: [
{
id: 'Item20191015001',
amount: 4000,
name: 'testPackageName',
products: [
{
name: 'testProductName',
quantity: 2,
price: 2000
}
]
}
],
redirectUrls: {
confirmUrl: 'https://example.com/confirmUrl',
cancelUrl: 'https://example.com/cancelUrl'
}
}
來建立一筆訂單看看
直接呼叫套件的 function , 新建訂單的API是 request
然後用 then 來接他回傳後的值
到這裡建立訂單的步驟就完成了
7
linePay.request(order).then(res => {
console.log(res)
})
執行它!
再來在終端機下 node index.js 的指令就會執行了
你的訂單資料沒有錯誤,就會拿回帶有paymentUrl的訊息 (如下)
所以到剛剛為止,我們只需要準備訂單資料就好了,是不是省超多工的
8
{
returnCode: '0000',
returnMessage: 'Success.',
info: {
paymentUrl: {
web: 'https://sandbox-web-pay.line.me/web/pay...,
app: 'line://pay/payment/WHZLWWx2Q1N4N123...'
},
transactionId: 2019101500070288100,
paymentAccessToken: '734499195570'
}
}
來試試 confrimAPI
那來試試confrimAPI
正常我們會用 express 等等架伺服器去接 confrimURL 的值
至於怎麼做就讓大家去思考
這邊我們拿到了剛剛 confrimURL 的 transationID 就直接來把他 confrim 吧
還記得 confirm API 嗎,記得金額跟數量要跟訂單一樣喔
10
linePay.confrim({ amount: 4000, currency: 'TWD'}, '2019101500070289510').then(res => {
console.log(res)
})
執行它!
這邊先把剛剛新建訂單的註解掉
然後在終端機下 node index.js , 就完成啦
11
{
returnCode: '0000',
returnMessage: 'Success.',
info: {
transactionId: 2019101500070289400,
orderId: 'Order201910150320001',
payInfo: [ [Object] ],
packages: [ [Object] ]
}
}
其他的API也都如法炮製
是不是很輕鬆啊