概要
本章节对LINE Pay的功能进行说明。
LINE Pay概要
本文档供有可能采用LINE Pay的离线商家的开发人员阅读使用。
- 图1 LINE Pay Overview *
交互环境
本节对与LINE Pay联网之前需要满足的事项及准备内容进行说明。
系统要求
LINE Pay的API交互须依靠LINE Pay与商家的服务器之间的通信来实现。 因此,商家必须设置独立的Payment Server,方可与LINE Pay实现数据交互。
联网之前需要进行的准备工作
在使用LINE Pay Payment API之前,商家必须对商家的注册信息以及联网所必不可少的钥匙信息进行确认。
商家注册
商家必须首先完成商家注册,之后才可以与LINE Pay进行联网结算。 请在商家中心下载商家注册指南,查看注册流程。 (下载地址: https://pay.line.me/developers/documentation/download/tech?locale=ko_KR – LINE Pay商家注册指南)
联网准备
- 登录商家Payment Server的white list a. LINE Pay针对商家Payment Server的IP进行登录的方式,为每个商家提供一个独一无二的固有channel id,并以此对商家可以访问的服务器进行管理。 b. IP注册:可在“商家中心(https://pay.line.me) - “结算交互管理” – “结算服务器IP管理””中注册IP。
- 确认channel id及channel secret a. 这是使用API所必不可少的信息,可以在“商家中心(https://pay.line.me) – 结算交互管理 – 同步钥匙管理”中进行确认。 b. 该信息为商家拥有的独一无二的固有信息,请妥善保管,谨防泄露。
- 确认可进行交互结算的货币 a. LINE Pay商家可以在API交互结算中使用单一货币。可以使用的货币如下。请在“商家中心(https://pay.line.me) – 基本信息管理 – 商家信息”中查看。
- JPY
- USD
- THB
- TWD
交互流程
Payment Sequence diagram
对结算流程进行说明。
对象API
- Payment API(sequence diagram - 4)
图2 Payment Sequence diagram
Payment Sequence diagram说明
- LINE Pay会员在商家的终端上刷入MyCode(Barcode/QR Code)。
- 商家终端读取MyCode(Barcode/QR Code)。
- 商家终端向商家Payment Server发送结算请求。
- 商家的Payment Server调用Payment API。
- 查看API的响应信息,确认结算是否完成。
- 商家的Payment Server向商家终端返回结算结果。
- LINE Pay服务器通过Push或者LINE Pay Official Account Message的方式将结算结果(成功/失败)发送给会员。
After Payment Sequence
结算的创建流程结束之后,仅需调用一次API即可完成所有API任务。
对象API
- VOID
- REFUND
- CAPTURE
- Authorization/Payment Details
API Specifications (Payment)
本章节对用于读取LINE Pay用户的“oneTImeKey”(LINE Pay main menu上的“MyCode”菜单)至完成结算的API进行说明。
- Payment
- Payment Status Check
Payment
用于供商家的device读取由LINE Pay app提供的MyCode 进行结算的API。
Specification
表1 Payment API Endpoint
项目 | 说明 |
---|---|
Endpoint URL | Sandbox : https://sandbox-api-pay.line.me/v2/payments/oneTimeKeys/pay Product : https://api-pay.line.me/v2/payments/oneTimeKeys/pay |
Method | POST |
Request Header | Required - Content-Type:application/json; charset=UTF-8 - X-LINE-ChannelId:{交互信息 - channelId} - X-LINE-ChannelSecret:{交互信息 - channelSecretKey} 在商家的设置信息中设定是否要求此项 - X-LINE-MerchantDeviceType : device type - X-LINE-MerchantDeviceProfileId : device’s serial no |
Timeout | Read:20秒 |
表2 Payment API Request Body
Name | Type | Mandatory | description |
---|---|---|---|
productName | string(4000) | Y | 商品名称 |
amount | number(38) | Y | 结算金额 |
currency | string(3) | Y | 结算货币 |
orderId | string(100) | Y | 商家方的结算预约订单编号(唯一由商家管理的编号。) |
oneTimeKey | string(12) | Y | 对LINE Pay app提供的QR/BarCode信息的读取结果 oneTimeKey的有效期限为5分钟。从LINE Pay会员打开mycode画面并确认QR/Bar code的时刻开始5分钟之内有效。 |
capture | boolean | N | 买入与否。 true:授权与买入一并处理。 false:必须进行至授权步骤并调用“买入API”才能完成交易。 |
表3 Payment API Response Body
Name | Type | Mandatory | description |
---|---|---|---|
returnCode | string(4) | Y | 由LINE Pay生成的结果代码 - 0000:API请求成功 - 其余响应代码请查看本文档的“附录 - 各API响应代码”。 |
returnMessage | string(100) | Y | 结果信息或失败理由 |
info.transactionId | number(19) | Y | LINE Pay的交易编号 |
info.orderId | string(100) | Y | 商家方的结算预约订单编号(唯一由商家管理的编号。) |
info.transactionDate | string(20) | Y | 交易时间(ISO8601 UTC)。 - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z' * reference : https://en.wikipedia.org/wiki/ISO_8601 |
info.payInfo[].method | string(20) | Y | 结算时使用的结算方法 - CREDIT_CARD - BALANCE - DISCOUNT |
info.payInfo[].amount | number(38) | Y | 结算金额 |
info.balance | number(38) | N | 结算后的余额 |
info.authorizationExpireDate | string(20) | N | 授权到期时间(ISO8601 UTC)。 - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z' 当发现结算仅完成授权(capture=false)时发送 * reference : https://en.wikipedia.org/wiki/ISO_8601 |
Request
POST https://sandbox-api-pay.me/v2/payments/oneTimeKeys/pay HTTP/1.1
Host: sandbox-api-pay.me
Content-Type: application/json
X-LINE-ChannelId: {channel id}
X-LINE-ChannelSecret: {channel secret}
X-LINE-MerchantDeviceProfileId: {DEVICE_PROFILE_ID}
{
"productName": "test product",
"amount": 100,
"currency": "THB",
"orderId": "merchant_test_order_1",
"oneTimeKey": "123456789012",
"extras" : {
"addFriends" : [
{
"type" : "LINE_AT",
"idList" : ["@aaa"]
}
],
"branchName" : "test_branch_1",
"branchId" : "branch1"
}
}
Response Body - 结算完成
{
"returnCode": "0000",
"returnMessage": "success",
"info": {
"transactionId": "2019010112345678910",
"orderId": "test_order_#1",
"transactionDate": "2019-01-01T01:01:00Z",
"payInfo": [{
"method": "BALANCE",
"amount": 10
}, {
"method": "DISCOUNT",
"amount": 5
}],
"balance": 9900
}
}
Payment Status Check
如果因为回应时间过长导致最终付款状态无法确认时,请使用此API
- 必须按一定的时间间隔进行调用,确认状态。建议的调用间隔为3~5秒。
- 从Payment API进行响应的时刻开始计起,结算的最长有效期限为20分钟。因此,商家必须在最长20分钟以内确认结算状态。一旦超过20分钟,该交易将因超时而最终变成未完成的结算。
Specification
表4 Payment Status Check API Endpoint
项目 | 说明 |
---|---|
Endpoint URL | Sandbox : https://sandbox-api-pay.line.me/v2/payments/orders/{orderId}/check Product : https://api-pay.line.me/v2/payments/orders/{orderId}/check |
Method | GET |
Request Header | Required - Content-Type:application/json; charset=UTF-8 - X-LINE-ChannelId:{交互信息 - channelId} - X-LINE-ChannelSecret:{交互信息 - channelSecretKey} 在商家的设置信息中设定是否要求此项 - X-LINE-MerchantDeviceType : device type - X-LINE-MerchantDeviceProfileId : device’s serial no |
Timeout | Read:20秒 |
表5 Payment Status Check API URI Parameters
Name | Type | Mandatory | description |
---|---|---|---|
orderId | string(100) | Y | - 商家请求结算时发出的订单编号 - URI Path上的参数,必须加密传送 * reference : https://en.wikipedia.org/wiki/Percent-encoding |
表6 Payment Status Check API Response Body
Name | Type | Mandatory | description |
---|---|---|---|
returnCode | string(4) | Y | 结果代码 - 0000:API请求成功 - 其余响应代码请查看本文档的“附录 - 各API响应代码”。 |
returnMessage | string(100) | Y | 结果信息 |
info.status | string(20) | Y | 结算状态 - COMPLETE:结算成功 - 最终状态 - FAIL:结算失败 - 最终状态 * 参考:状态为“COMPLETE”或“FAIL”时,会有追加响应信息。 |
case "info.status" : "COMPLETE" | |||
info.orderId | string(100) | Y | 商家方的结算预约订单编号(唯一由商家管理的编号。) |
info.transactionDate | string(20) | Y | 交易时间 (ISO8601 UTC). - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z' * reference : https://en.wikipedia.org/wiki/ISO_8601 |
info.payInfo[].method | string(20) | Y | 结算时使用的结算方法 - CREDIT_CARD - BALANCE - DISCOUNT |
info.payInfo[].amount | number(38) | Y | 结算金额 |
info.balance | number(38) | N | 结算后的余额 |
info.authorizationExpireDate | string(20) | N | 授权到期时间(ISO8601 UTC)。 - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z' 当结算只完成授权步骤(capture=false)时发送 * reference : https://en.wikipedia.org/wiki/ISO_8601 |
case "info.status" : "FAIL" | |||
info.failReturnCode | string(4) | Y | 失败结果代码 - 响应代码请查看本文档的“附录 - 各API响应代码”。 - 与Payment API的相应代码相同的响应代码。 |
info.failReturnMessage | string(100) | Y | 失败结果信息 |
Request
- “orderId”为“test_order_#1”时,
GET https://sandbox-api-pay.me/v2/payments/orders/test_order_%231/check HTTP/1.1
Host: sandbox-api-pay.me
Content-Type: application/json
X-LINE-ChannelId: {channel id}
X-LINE-ChannelSecret: {channel secret}
X-LINE-MerchantDeviceProfileId: {DEVICE_PROFILE_ID}
Response Body - Status为“COMPLETE”时,,
{
"returnCode": "0000",
"returnMessage": "success",
"info": {
"status": "COMPLETE",
"transactionId": "2019010112345678910",
"orderId": "test_order_#1",
"transactionDate": "2019-01-01T01:01:00Z",
"payInfo": [{
"method": "BALANCE",
"amount": 10
}, {
"method": "DISCOUNT",
"amount": 5
}],
"balance": 9900
}
}
Response Body - Status为“FAIL”时,
{
"returnCode": "0000",
"returnMessage": "success",
"info": {
"status": "FAIL",
"failReturnCode": "1142",
"failReturnMessage" : "Insufficient balance remains."
}
}
API Specifications (After Payment)
本节对用于结算完成之后根据商家的要求对已完成的结算进行退款或查看记录的API进行说明。
- Void
- Capture
- Refund
- Authorization Details
- Payment Details
Void
用于取消授权交易的API。
Specification
表7 Void API Endpoint
项目 | 说明 |
---|---|
Endpoint URL | Sandbox : https://sandbox-api-pay.line.me/v2/payments/orders/{orderId}/void Product : https://api-pay.line.me/v2/payments/orders/{orderId}/void |
Method | POST |
Request Header | Required - Content-Type:application/json; charset=UTF-8 - X-LINE-ChannelId:{交互信息 - channelId} - X-LINE-ChannelSecret:{交互信息 - channelSecretKey} 在商家的设置信息中设定是否要求此项 - X-LINE-MerchantDeviceType : device type - X-LINE-MerchantDeviceProfileId : device’s serial no |
Timeout | Read:20秒 |
表8 Void API URI Parameters
Name | Type | Mandatory | description |
---|---|---|---|
orderId | string(100) | Y | - 商家请求结算时发出的订单编号 - URI Path上的参数,必须加密传送 * reference : https://en.wikipedia.org/wiki/Percent-encoding |
表9 Void API Response Body
Name | Type | Mandatory | description |
---|---|---|---|
returnCode | string(4) | Y | 由LINE Pay生成的结果代码 - 0000:API请求成功 - 其余响应代码请查看本文档的“附录 - 各API响应代码”。 |
returnMessage | string(100) | Y | 结果信息或失败理由 |
Request
- “orderId”为“test_order_#1”时,
POST https://sandbox-api-pay.me/v2/payments/orders/test_order_%231/void HTTP/1.1
Host: sandbox-api-pay.me
Content-Type: application/json
X-LINE-ChannelId: {channel id}
X-LINE-ChannelSecret: {channel secret}
X-LINE-MerchantDeviceProfileId: {DEVICE_PROFILE_ID}
Response - 结算完成
{
"returnCode": "0000",
"returnMessage": "success"
}
Capture
用于对授权交易进行买入处理的API。
Specification
表10 Capture API Endpoint
项目 | 说明 |
---|---|
Endpoint URL | Sandbox : https://sandbox-api-pay.line.me/v2/payments/orders/{orderId}/capture Product : https://api-pay.line.me/v2/payments/orders/{orderId}/capture |
Method | POST |
Request Header | Required - Content-Type:application/json; charset=UTF-8 - X-LINE-ChannelId:{交互信息 - channelId} - X-LINE-ChannelSecret:{交互信息 - channelSecretKey} 在商家的设置信息中设定是否要求此项 - X-LINE-MerchantDeviceType : device type - X-LINE-MerchantDeviceProfileId : device’s serial no |
Timeout | Read:20秒 |
表11 Capture API URI Parameters
Name | Type | Mandatory | description |
---|---|---|---|
orderId | string(100) | Y | - 商家请求结算时发出的订单编号 - URI Path上的参数,必须加密传送 * reference : https://en.wikipedia.org/wiki/Percent-encoding |
表12 Capture API Request Body
Name | Type | Mandatory | description |
---|---|---|---|
amount | number(38) | Y | 结算金额 |
currency | string(3) | Y | 结算货币 |
表13 Capture API Response Body
Name | Type | Mandatory | description |
---|---|---|---|
returnCode | string(4) | Y | 由LINE Pay生成的结果代码 - 0000:API请求成功 - 其余响应代码请查看本文档的“附录 - 各API响应代码”。 |
returnMessage | string(100) | Y | 结果信息或失败理由 |
info.transactionId | number(19) | Y | 作为结算预约结果收到的交易编号 |
info.orderId | string(100) | Y | 商家方的结算预约订单编号(唯一由商家管理的编号。) |
info.payInfo[].method | string(20) | Y | 结算时使用的结算方法 - CREDIT_CARD - BALANCE - DISCOUNT |
info.payInfo[].amount | number(38) | Y | 结算金额 |
Request
- “orderId”为“test_order_#1”时,
POST https://sandbox-api-pay.me/v2/payments/orders/test_order_%231/capture HTTP/1.1
Host: sandbox-api-pay.me
Content-Type: application/json
X-LINE-ChannelId: {channel id}
X-LINE-ChannelSecret: {channel secret}
X-LINE-MerchantDeviceProfileId: {DEVICE_PROFILE_ID}
{
"amount": "100"
"currency": "THB
}
Response
{
"returnCode": "0000",
"returnMessage": "success",
"info": {
"transactionId": "2019010112345678910",
"orderId": "test_order_#1",
"transactionDate": "2019-01-01T01:01:00Z",
"payInfo": [{
"method": "BALANCE",
"amount": 95
}, {
"method": "DISCOUNT",
"amount": 5
}]
}
}
Refund
用于在结算完成之后(完成买入的数据)进行退款的API。
Specification
表14 Refund API Endpoint
项目 | 说明 |
---|---|
Endpoint URL | Sandbox : https://sandbox-api-pay.line.me/v2/payments/orders/{orderId}/refund Product : https://api-pay.line.me/v2/payments/orders/{orderId}/refund |
Method | POST |
Request Header | Required - Content-Type:application/json; charset=UTF-8 - X-LINE-ChannelId:{交互信息 - channelId} - X-LINE-ChannelSecret:{交互信息 - channelSecretKey} 在商家的设置信息中设定是否要求此项 - X-LINE-MerchantDeviceType : device type - X-LINE-MerchantDeviceProfileId : device’s serial no |
Timeout | Read:20秒 |
表15 Refund API URI Parameters
Name | Type | Mandatory | description |
---|---|---|---|
orderId | string(100) | Y | - 商家请求结算时发出的订单编号 - URI Path上的参数,必须加密传送 * reference : https://en.wikipedia.org/wiki/Percent-encoding |
表16 Refund API Request Body
Name | Type | Mandatory | description |
---|---|---|---|
refundAmount | number(38) | N | 退款金额 - 若无此项信息则全额退款 |
表17 Refund API Response Body
Name | Type | Mandatory | description |
---|---|---|---|
returnCode | string(4) | Y | 由LINE Pay生成的结果代码 - 0000:API请求成功 - 其余响应代码请查看本文档的“附录 - 各API响应代码”。 |
returnMessage | string(100) | Y | 结果信息或失败理由 |
info.refundTransactionId | number(19) | Y | 退款交易编码 |
info.refundTransactionDate | string(20) | Y | 退款交易时间(ISO8601 UTC)。 - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z' * reference : https://en.wikipedia.org/wiki/ISO_8601 |
Request
- “orderId”为“test_order_#1”时,
POST https://sandbox-api-pay.me/v2/payments/orders/test_order_%231/refund HTTP/1.1
Host: sandbox-api-pay.me
Content-Type: application/json
X-LINE-ChannelId: {channel id}
X-LINE-ChannelSecret: {channel secret}
X-LINE-MerchantDeviceProfileId: {DEVICE_PROFILE_ID}
{
"refundAmount": "100"
}
Response
{
"returnCode": "0000",
"returnMessage": "success",
"info": {
"refundTransactionId": "2019010112345678910",
"refundTransactionDate": "2019-01-01T01:01:00Z"
}
}
Authorization Details
用于查询授权交易记录的API。只能查询获得授权的或经过取消授权(void or expire)处理的信息。完成买入的数据可通过Payment Details API进行查询。
Specification
表18 Authorizaiton Details API Endpoint
项目 | 说明 |
---|---|
Endpoint URL | Sandbox : https://sandbox-api-pay.line.me/v2/payments/authrozations Product : https://api-pay.line.me/v2/payments/authorizations |
Method | GET |
Request Header | Required - Content-Type:application/json; charset=UTF-8 - X-LINE-ChannelId:{交互信息 - channelId} - X-LINE-ChannelSecret:{交互信息 - channelSecretKey} 在商家的设置信息中设定是否要求此项 - X-LINE-MerchantDeviceType : device type - X-LINE-MerchantDeviceProfileId : device’s serial no |
Timeout | Read:20秒 |
表19 Authorization Details API Query Parameters
Name | Type | Mandatory | description |
---|---|---|---|
orderId | string(100) | N | 商家请求结算时发送的订单编号 |
transactionId | number(19) | N | 由 LINE Pay 核发的交易编号 |
表20 Authorization Details API Response Body
Name | Type | Mandatory | description |
---|---|---|---|
returnCode | string(4) | Y | 由LINE Pay生成的结果代码 - 0000:API请求成功 - 其余响应代码请查看本文档的“附录 - 各API响应代码”。 |
returnMessage | string(100) | Y | 结果信息或失败理由 |
info.transactionId | number(19) | Y | 交易编号 |
info.orderId | string(100) | Y | 商家的订单编号 |
info.transactionDate | string(20) | Y | 交易时间 (ISO8601 UTC)。 - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z' * reference : https://en.wikipedia.org/wiki/ISO_8601 |
info.transactionType | String(20) | Y | 交易类型 - PAYMENT : payment - PAYMENT_REFUND : refund - PARTIAL_REFUND : partial refund |
info.payInfo[].method | string(20) | Y | 结算时使用的结算方法 - CREDIT_CARD - BALANCE - DISCOUNT |
info.payInfo[].amount | number(38) | Y | 交易金额 |
info.currency | string(3) | Y | 货币 * reference : https://en.wikipedia.org/wiki/ISO_4217 |
info.productName | string(4000) | Y | 商品名称 |
info.payStatus | string(30) | Y | 结算状态 - AUTHORIZATION:授权 - VOIDED_AUTHORIZATION:授权无效(调用“void api”而完成的状态) - EXPIRED_AUTHORIZATION:授权到期(LINE Pay赋予商家的授权期限过期的状态) |
info.authorizationExpireDate | string(20) | N | 授权到期时间(ISO8601 UTC)。 - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z' * reference : https://en.wikipedia.org/wiki/ISO_8601 |
Request
GET https://sandbox-api-pay.me/v2/payments/authorizations?orderId=20190408003 HTTP/1.1
Host: sandbox-api-pay.me
Content-Type: application/json
X-LINE-ChannelId: {channel id}
X-LINE-ChannelSecret: {channel secret}
X-LINE-MerchantDeviceProfileId: {DEVICE_PROFILE_ID}
Response
{
"returnCode": "0000",
"returnMessage": "success",
"info": [
{
"transactionId": 2019049910005498410,
"transactionDate": "2019-04-08T07:02:38Z",
"transactionType": "PAYMENT",
"productName": "test product",
"currency": "THB",
"authorizationExpireDate": "2019-04-13T07:02:38Z",
"payInfo": [
{
"method": "BALANCE",
"amount": 100
}
],
"orderId": "20190408003",
"payStatus": "VOIDED_AUTHORIZATION"
}
]
}
Payment Details
用于查询买入后的交易数据的API。
Specification
表21 Payment Details API Endpoint
项目 | 说明 |
---|---|
Endpoint URL | Sandbox : https://sandbox-api-pay.line.me/v2/payments Product : https://api-pay.line.me/v2/payments |
Method | GET |
Request Header | Required - Content-Type:application/json; charset=UTF-8 - X-LINE-ChannelId:{交互信息 - channelId} - X-LINE-ChannelSecret:{交互信息 - channelSecretKey} 在商家的设置信息中设定是否要求此项 - X-LINE-MerchantDeviceType : device type - X-LINE-MerchantDeviceProfileId : device’s serial no |
Timeout | Read:20秒 |
表22 Payment Details API Query Parameters
Name | Type | Mandatory | description |
---|---|---|---|
orderId | string(100) | N | 商家请求结算时发送的订单编号 |
transactionId | number(19) | N | 由 LINE Pay 核发的交易编号,用于付款或退款 |
Table 23 Payment Details API Response Body
Name | Type | Mandatory | description |
---|---|---|---|
returnCode | string(4) | Y | 由LINE Pay生成的结果代码 - 0000:API请求成功 - 其余响应代码请查看本文档的“附录 - 各API响应代码”。 |
returnMessage | string(100) | Y | 结果信息或失败理由 |
info.transactionId | number(19) | Y | 交易编号 |
info.orderId | string(100) | Y | 商家的订单编号 - 唯一由商家进行管理的编号 |
info.transactionDate | string(20) | Y | 交易时间 (ISO8601 UTC)。 - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z' * reference : https://en.wikipedia.org/wiki/ISO_8601 |
info.transactionType | String(20) | Y | 交易类型 - PAYMENT : payment - PAYMENT_REFUND : refund - PARTIAL_REFUND : partial refund |
info.payInfo[].method | string(20) | Y | 结算时使用的结算方法 - CREDIT_CARD - BALANCE - DISCOUNT |
info.payInfo[].amount | number(38) | Y | 交易金额 |
info.currency | string(3) | Y | 货币 * reference : https://en.wikipedia.org/wiki/ISO_4217 |
info.productName | string(4000) | Y | 商品名称 |
存在原始结算交易查询记录及退款交易时 | |||
info.refundList[].refundTransactionId | number(19) | Y | 退款交易编码 |
info.refundList[].transactionType | string(20) | Y | 交易类型 - PAYMENT_REFUND:退款 - PARTIAL_REFUND:部分退款 |
info.refundList[].refundAmount | number(38) | Y | 退款金额 |
info.refundList[].refundTransactionDate | String(20) | Y | 退款交易时间(ISO8601 UTC)。 - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z' * reference : https://en.wikipedia.org/wiki/ISO_8601 |
When retrieving a refund | |||
info.originalTransactionId | number(19) | Y | 原始结算交易编号 |
Request
GET https://sandbox-api-pay.me/v2/payments/?orderId=20190408001 HTTP/1.1
Host: sandbox-api-pay.me
Content-Type: application/json
X-LINE-ChannelId: {channel id}
X-LINE-ChannelSecret: {channel secret}
X-LINE-MerchantDeviceProfileId: {DEVICE_PROFILE_ID}
Response
{
"returnCode": "0000",
"returnMessage": "success",
"info": [
{
"transactionId": 2019049910005496810,
"transactionDate": "2019-04-08T06:31:19Z",
"transactionType": "PAYMENT",
"productName": "test product",
"currency": "THB",
"payInfo": [
{
"method": "BALANCE",
"amount": 100
}
],
"refundList": [
{
"refundTransactionId": 2019049910005497012,
"transactionType": "PARTIAL_REFUND",
"refundAmount": -1,
"refundTransactionDate": "2019-04-08T06:33:17Z"
}
],
"orderId": "20190408001"
}
]
}
附录
响应代码
本节定义了LINE Pay中的错误代码。错误代码的返回信息“returnMessage”为英文,无确切信息时将返回连字符(-)。
表24 LINE Pay响应代码
代码(returnCode) | 说明(300字节) |
---|---|
0000 | 成功 |
1101 | 买家不是LINE Pay会员。 |
1102 | 买方无法进行交易。 |
1104 | 商家不存在。 |
1105 | 此商家无法使用LINE Pay。 |
1106 | 报头信息错误。 |
1110 | 该信用卡无法使用。 |
1124 | 金额错误(scale)。 |
1133 | oneTimeKey无效。 |
1141 | 结算帐户状态错误。 |
1142 | 余额不足。 |
1145 | 正在进行结算。 |
1150 | 找不到交易记录。 |
1152 | 已有进行中的交易。 |
1153 | 结算reserve时金额与请求的金额不一致。 |
1155 | 该交易编号属不可退款交易类型。 |
1159 | 暂无结算请求信息。 |
1163 | 因可退款日期已过而无法退款。 |
1164 | 超过退款额度。 |
1165 | 该交易已退款。 |
1170 | 会员帐户的余额有变动。 |
1172 | 已有相同订单编号的交易纪录。 |
1177 | 超过允许查询的交易数量(100)。 |
1178 | 商家不支持的货币。 |
1179 | 无法处理的状态。 |
1183 | 结算金额必须大于0。 |
1184 | 结算金额超过请求结算时金额。 |
1198 | 正在处理请求。 |
1199 | 內部请求错误。 |
1280 | 使用信用卡结算时候发生临时错误。 |
1281 | 信用卡结算错误。 |
1282 | 信用卡授权错误。 |
1283 | 因存在不正当使用的嫌疑,拒绝进行结算。 |
1284 | 信用卡结算中断。 |
1285 | 信用卡信息不完整。 |
1286 | 信用卡结算信息不正确。 |
1287 | 信用卡已过期。 |
1288 | 信用卡结算银行余额不足。 |
1289 | 超过信用卡结算额度上限。 |
1290 | 超过单次结算允许额度。 |
1291 | 此信用卡已被掛失。 |
1292 | 此信用卡已被停卡。 |
1293 | 信用卡验证码(CVN)无效。 |
1294 | 此信用卡已被列入黑名单。 |
1295 | 信用卡号无效。 |
1296 | 无效的金额。 |
1298 | 信用卡被拒绝使用。 |
1900 | 临时错误。请稍候重试。 |
1901 | 临时错误。请稍候重试。 |
1902 | 临时错误。请稍候重试。 |
1903 | 临时错误。请稍候重试。 |
1999 | 请求信息与上次信息不一致。 |
2101 | 参数错误。 |
2102 | JSON数据格式错误。 |
2103 | 请求错误。请确认returnMessage。 |
2104 | 请求错误。请确认returnMessage。 |
9000 | 內部错误。 |
各API响应代码
表25各API响应代码
错误代码代码 | Payment | Payment status check | 买入 | 授权无效 | 退款 | 授权记录 | 结算记录 |
---|---|---|---|---|---|---|---|
1101 | v | v | v | ||||
1102 | v | v | v | ||||
1104 | v | v | v | v | v | v | v |
1105 | v | v | v | v | v | v | v |
1106 | v | v | v | v | v | v | v |
1110 | v | ||||||
1124 | v | v | |||||
1133 | v | ||||||
1141 | v | ||||||
1142 | v | ||||||
1145 | v | ||||||
1150 | v | v | v | v | v | v | |
1152 | v | ||||||
1153 | v | ||||||
1154 | |||||||
1155 | v | v | v | ||||
1159 | v | ||||||
1163 | v | ||||||
1164 | v | ||||||
1165 | v | ||||||
1170 | v | v | v | ||||
1172 | v | v | |||||
1177 | v | v | |||||
1178 | v | ||||||
1179 | v | v | v | ||||
1183 | v | v | |||||
1184 | v | v | |||||
1194 | v | ||||||
1198 | v | v | v | v | |||
1199 | v | v | v | v | |||
1900 | v | v | v | ||||
1901 | v | ||||||
1902 | v | ||||||
1903 | v | ||||||
1999 | v | v | v | ||||
2101 | v | v | v | v | v | v | v |
2102 | v | v | v | v | v | v | v |
2103 | v | v | v | v | v | v | v |
2104 | v | v | v | v | v | v | v |
9000 | v | v | v | v | v | v | v |