原文博客地址:https://zepo.re/archives/line-pay-acess
系统接入LINE Pay的支付方式
LINE Pay是一个日本公司的。LINE Pay是LY Corporation的移动支付平台,用户可于合作商家以QR码或NFC等非接触方式结账付款,并可在LINE好友间免手续费转账。LINE Pay现于泰国和台湾之间可跨境使用。
类似微信支付和支付宝支付,LINE Pay支持作为第三方支付方式接入网站。
我接手的一个多商户网站的客户是台湾的,有接入LINE Pay的需求,于是有了这篇文章。
参考文档
异常代码:pay.line.me/tw/developers/apis/onlineApis?locale=zh_TW
API及其请求和响应参数:pay.line.me/tw/developers/apis/onlineApis?locale=zh_TW
获取Channel信息的管理平台:LINE Pay 行動支付
LINE Pay LOGO规范:pay.line.me/tw/developers/logo/logoGuide?locale=zh_TW
一些前置问题及分析
1. 哪些配置是固定的,哪些配置是因人而异的
因为我们这个系统是属于多商户,这意味着一个商家如果要接入LINE Pay,就得创建一个商户ID,我们在准备ChannelId和ChannelSecretKey的时候就不能只是放在配置文件了,而是要根据商户去获取,通常写在跟商户表里面。
2. 台币的单位
系统中使用的货币Java类型是BigDecimal,在发送请求的时候却报了异常:1124 金額有誤(scale)
,尝试将类型改成Double和Float却没有效果之后,换成Integer便成功了,先是搜索台币是不是没有角分,得到答案之后再跟客户做了确认,确实是这样。
3.电脑端怎么完成测试,总是提示跳转LINE App
电脑端调试的时候可以使用浏览器开发者工具里面的模拟器,这时候只需要填入邮箱和密码就不会提示跳转LINE了,实际投入使用的时候要根据终端进行判断,如果是手机端可以跳转app
字段里面的地址
LINE Pay 官方提供的PC版本串接流程
- 由商家网站跳转到LINE App的付款页面
- LINE Pay用户选择付款方式并输入密码,确认付款完成支付
- LINE Pay用户在LINE App确认付款信息
- LINE服务器在等待付款页面收到用户付款成功的状态的时候,会跳转到商家系统按照规范定义好的“confirm url”
- 商家服务器confirm url接收到订单号、交易号等信息,调用LINE Pay的Confirm API完成交易
个人理解可能有所不同,具体还是需要参考官方文档:https://pay.line.me/jp/developers/apis/onlineApis?locale=zh_TW
串接 LINE Pay 的前置工作
申请sandBox账号
- 在🖇这个地方申请沙盒账号
- 提交之后会收到邮件,里面会有sandBox账号的信息
获取Channel ID & Secret Key
申请完SandBox账号之后登录管理平台,点出“管理連結金鑰”选项,点击查询按钮,在邮箱接收验证码之后填写进去,验证成功便会出现Channel ID & Secret Key
密钥信息会在串接LINE Pay的API时候,作为header一并携带过去,在前置分析中已经