对账文件
介绍
用于下载商户的交易对账文件和结算文件。 如果一个商户有多个门店,会统一在一个文件中返回。 第二天生成前一天的交易文件和结算文件,如果没有交易,则不会生成对应文件。 由于涉及多个收单机构,文件9点以后才会生成。 结算时间和交易时间均采用东八区北京时间(GMT+8)。
请求地址
POST
https://pay.scanforpay.com/api/common/checklist
业务请求数据
名称 | 参数名 | 数据类型 | 必填 | 说明 |
---|---|---|---|---|
商户编号 | merchantNo | String (15) | Y | 由ScanForPay分配 |
交易日期 | tradeDate | String(8) | Y | 格式yyyyMMdd, 按GMT+8区分 |
类型 | type | int | Y | 0:交易文件 1:结算文件 |
请求示例
{
"request": {
"header": {
"requestTime": "2018-07-25T18:06:05+08:00",
"partnerNo": "10001",
"signType": "SHA256",
"version": "1.0",
"reqMsgId": "fd03f269-3180-4575-8af0-8f6cf324fb0f"
},
"body": {
" merchantNo": "100010000000002",
" tradeDate ": "20181029",
"type": 0,
}
},
"signature": "2d2d5c66a67a24b5e13705cc38f34d93c395a7d9e0e4ff9425c9ce07b806a1cc"
}
响应数据
名称 | 数据标识 | 数据类型 | 必填 | 说明 |
---|---|---|---|---|
响应码 | code | int(5) | Y | 1:成功 其他为交易失败 |
响应信息 | msg | varchar (100) | Y | 响应信息 |
是否有数据 | flag | int | Y | 0:没有数据 1:有数据 |
下载地址 | url | varchar(100) | N | 对账文件或者结算文件的下载地址. 有效时间10分钟,失效后请重新获取地址。 |
成功响应实例
{
"response": {
"header": {
"partnerNo": "10001",
"respTime": "2018-07-25T18:06:12+08:00",
"signType": "SHA256",
"version": "1.0",
"reqMsgId": "213ca19e-c75f-450d-9acf-46e860570bb9"
},
"body": {
"code": 1,
"msg": "success",
"flag ": 1,
"url": "https://file.scanforpay.com/sfagdkfhgf-9812312fd0fdasf-bmzd2"
}
},
"signature": "0710b2630b467c14b3d54295def7f89be61097c21472547823b43c58f3466b08"
}
失败响应实例
{
"response": {
"header": {
"partnerNo": "10001",
"respTime": "2018-07-25T17:37:14+08:00",
"signType": "SHA256",
"version": "1.0",
"reqMsgId": "c11fe1c7-069b-4399-be00-31830a5de63d"
},
"body": {
"code": 30
"msg": "订单不存在",
}
},
"signature": "5719065ecea463366cbf39b728b9b8cba940365c0c053dd96effde57f7edc1f8"
}
交易对账文件格式
文件命名:商户编号 + "_transaction_" +交易日期+ ".csv
如: 商户编号为100300021
, 交易日期为:20190106
, 则文件名为:
100300021_ transaction_20190106.csv
交易对账文件只返回交易成功的交易数据。 文件内容第一行为表头,第二行开始为交易数据. 每行中的数据用逗号分隔.
每行数据格式内容如下:
名称 | 数据标识 | 数据类型 | 说明 |
---|---|---|---|
交易时间 | transTime | String(25) | Date time with timezone, see RFC 3339 Section 5.6 for details. 2018-07-25T17:54:00+08:00 |
门店编号 | storeNo | String (15) | 由scanforpay分配 |
订单号 | orderNo | varchar(32) | 由scanforpay生成 |
交易类型 | transType | varchar(10) | payment:收款, refund:退款 |
商户订单号 | partnerOrderNo | String (32) | 由商户生成,在商户交易时上送的订单号,收款时为收款订单号,退款时为退款订单号 20180802100000001 |
交易币种 | currency | varchar(5) | JPY |
交易金额 | orderAmount | int | 交易币种的最小单位,如果商家币种是人民币,则100表示100分=1元;如果商家币种是日元,则100表示日元的100元 |
收单币种 | orgCurrency | varchar(5) | JPY,收单币种 |
收单金额 | orgOrderAmount | int | 收单币种的最小单位,如果商家币种是人民币,则100表示100分=1元;如果商家币种是日元,则100表示日元的100元 |
换汇汇率 | exchangeRate | num(20,8) | 交易币种对收单币种的汇率,如果交易币种和收单币种一致,则汇率为1 |
交易手续费 | feeAmount | int | 交易币种的最小单位,如果商家币种是人民币,则100表示100分=1元;如果商家币种是日元,则100表示日元的100元 如果交易为收款,则收取商户手续费 如果交易为退款,则退还商户手续费(退款金额*交易手续费费率) |
结算文件格式
文件命名:商户编号 + "_settlement_" +交易日期+ ".csv
如: 商户编号为100300021
, 交易日期为:20190106
, 则文件名为:100300021_settlement_20190106.csv
文件内容第一行为表头,第二行开始为交易数据. 每行中的数据用逗号分隔.
每行数据格式内容如下:
名称 | 数据标识 | 数据类型 | 说明 |
---|---|---|---|
交易时间 | transTime | String(25) | Date time with timezone, see RFC 3339 Section 5.6 for details. 2018-07-25T17:54:00+08:00 |
门店编号 | storeNo | String (15) | 由scanforpay分配 |
订单号 | orderNo | varchar(32) | 由scanforpay生成 |
交易类型 | transType | varchar(10) | payment:收款, refund:退款 |
商户订单号 | partnerOrderNo | String (32) | 由商户生成,在商户交易时上送的订单号,收款时为收款订单号,退款时为退款订单号 20180802100000001 |
交易币种 | currency | varchar(5) | JPY |
交易金额 | orderAmount | int | 交易币种的最小单位,如果商家币种是人民币,则100表示100分=1元;如果商家币种是日元,则100表示日元的100元 |
收单币种 | orgCurrency | varchar(5) | JPY,收单币种 |
收单金额 | orgOrderAmount | int | 收单币种的最小单位,如果商家币种是人民币,则100表示100分=1元;如果商家币种是日元,则100表示日元的100元 |
换汇汇率 | exchangeRate | num(20,8) | 交易币种对收单币种的汇率,如果交易币种和收单币种一致,则汇率为1 |
交易手续费 | feeAmount | int | 交易币种的最小单位,如果商家币种是人民币,则100表示100分=1元;如果商家币种是日元,则100表示日元的100元 如果交易为收款,则收取商户手续费 如果交易为退款,则退还商户手续费(退款金额*交易手续费费率) |
结算金额 | settlement | int | 结算金额,指结算给商户的金额 交易币种的最小单位 收款:结算金额=交易金额-交易手续费 退款:结算金额=交易手续费-退款金额 |