对账文件
介绍
用于下载商户的交易对账文件和结算文件。 如果一个商户有多个门店,会统一在一个文件中返回。 第二天生成前一天的交易文件和结算文件,如果没有交易,则不会生成对应文件。 由于涉及多个收单机构,文件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 | 结算金额,指结算给商户的金额 交易币种的最小单位 收款:结算金额=交易金额-交易手续费 退款:结算金额=交易手续费-退款金额  |