D-4.Line_pay_api 串接(一)

Line pay API

算是金流类API比较好串接的,尤其是V2,对单一商品或服务开启(课金,抖内),都是快速便利的选择。


目前有V2V3两种版本。

  • V3安全性提高,V2在Headers有附上申请好的Channel-IDChannel-Secret-Key即可完成认证。V3Secret-KeyBody需加密。
  • V3有支援Checkout,但此功能目前看文件还是只限日本,想了解内容可以观看日版官网。
    https://pay.line.me/portal/jp/business/support/column/282

今天先用postman快速练习V2过一次。

1.申请测试帐号。
https://pay.line.me/tw/developers/techsupport/sandbox/testflow?locale=zh_TW
网址内的立即申请Sandbox帐号,测试总类请选online
https://ithelp.ithome.com.tw/upload/images/20210926/20135887QmsMfGMZ5q.png


依照流程会得到一封mail,请记下红框内容。
https://ithelp.ithome.com.tw/upload/images/20210926/20135887wwXB092kxd.png


登入网址 https://pay.line.me/portal/tw/auth/login#
选择以商店ID登入。登入後先不管其他选项,直接看到左边管理付款连结,sandbox不用输入IP可以略过。
https://ithelp.ithome.com.tw/upload/images/20210926/201358872RN4KbAPIa.png
正式帐号就需要做这一步喔。


管理连结金钥输入mail内的密码。
https://ithelp.ithome.com.tw/upload/images/20210926/20135887qlfWyDWlb3.png

即可得到Channel-IDChannel-Secret-Key,请记下备用。


https://pay.line.me/documents/online_v2_en.html
上面网址为V2的手册,有兴趣可以参阅,目前官网是直接放V3了。


2.以postman测试Request API(V2文件上旧名Reserve Payment API)。

Headers
KEY:Content-Type, VALUE:application/json
KEY:X-LINE-ChannelId VALUE:your Channel ID
KEY:X-LINE-ChannelSecret VALUE:your Channel Secret Key

Body
简单介绍这几项,尚有其他选填选项,请再参阅文件。

{
  "productName" : "必填 商品名称",
  "productImageUrl" : "选填 有正确位置,结帐画面会有图片。",
  "amount" : "必填 金额:数字",
  "currency" : "必填 币种:USD, JPY, TWD, THB。",
  "confirmUrl" : "必填 店家或网站网址,买家完成交易line会转址到网址并作Confirm,并给予transactionId。",
  "orderId" : "必填 请uniq。"
}

测试内容:

{
  "productName" : "PS8",
  "amount" : 16800,
  "currency" : "TWD",
  "confirmUrl" : "http://127.0.0.1:3000",
  "orderId" : "BUY202109200101"
}

正确状态下Line pay API会回传类似下列资讯。

{
    "returnCode": "0000",
    "returnMessage": "Success.",
    "info": {
        "paymentUrl": {
            "web": "https://sandbox-web-pay.line.me/web/payment/wait?transactionReserveId=QlZ2R2dpallNaFpZcXZwTWtLT0tuZTlGUThSY2d6T2hYNExTc2hzTklwa201Ulk3ajZpWTZOWGhUK0hiU1lkQw",
            "app": "line://pay/payment/QlZ2R2dpallNaFpZcXZwTWtLT0tuZTlGUThSY2d6T2hYNExTc2hzTklwa201Ulk3ajZpWTZOWGhUK0hiU1lkQw"
        },
        "transactionId": 2021092000690239510,
        "paymentAccessToken": "157632298541"
    }
}

复制web网址至浏览器,会进入常看到的付款UI,选择用login做测试,输入正常的Line帐密。
付款结束後会转址到confirmUrl设定的网址,因为也没真的做一个网站来测试,正常应该一片黑,但我们需要那串网址,类似http://127.0.0.1:3000/?transactionId=2021092000690240810,这是要做confirm,这边继续以Postman做测试。


测试confirm API

Headers同上

Body

{
  "amount" : "必填",
  "currency" : "必填"
}

当然与Request要相同。

测试用。

{
  "amount" : 16800,
  "currency" : "TWD"
}

正确应回传类似以下内容。

{
    "returnCode": "0000",
    "returnMessage": "Success.",
    "info": {
        "transactionId": 2021092000690240810,
        "orderId": "BUY202109200101",
        "payInfo": [
            {
                "method": "CREDIT_CARD",
                "amount": 16800,
                "maskedCreditCardNumber": "************1111"
            }
        ]
    }
}

"Success."
这时可以回sandbox後台,可以查阅此笔交易了,如果只想做抖内功能,这样应该就够了XD!
实际串过会发现V2等於只用"transactionId": 2021092000690240810作正确验证,是有一点危险。
明天会以RubyNode.js档案测试v3request


<<:  Day-26 如何快速解决Excel乱码问题?

>>:  Day 11. slate × Interfaces × Document-Model

701 CLIENT门禁系统卡片无效

甚麽设定都没改变的状况下 原先有人使用过的卡片改设定别人後变成无效卡片 拿新的卡片设定新进人员也是无...

Day 18: Security Hub简介

What is Security Hub? Security Hub 是能将所有的资安指标、所有资安...

Day4 - 接案者的作品集

身为刚入行的接案者最困扰的莫过於没有足够的作品可以展示,我尝试过为了吸引业主的目光,做了很多针对特定...

C#学习笔记4:C#的基本运算

这是我一边学习一边写下的笔记,如果内容有错,恳请在下方留言跟我说,我会非常感谢的!!! 基本运算 一...

Day26:今天来聊一下Hacking Mobile Platforms

随着Mobile技术的进步,移动性已成为Internet使用的一个关键特色。 人们的生活方式越来越依...