
承载协议 | HTTPS GET |
|---|---|
接口方向 | 开发者服务器-> 华为支付服务器 |
接口URL | https://petalpay-developer.cloud.huawei.com.cn/api/v1/bill/settle-bill/downloadInfo?billDate=xxxxxx |
数据格式 | 请求消息:Content-Type: application/json 响应消息:Content-Type: application/json |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
Content-Type | 是 | String | 取值为:application/json; charset=UTF-8 |
PayMercAuth | 是 | String | 取值为:PayMercAuth的JSON串 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
billDate | 是 | String | 账单日期。只能查询九十日内的,需精确到某一天,格式:yyyyMMdd(如20210101)。 不支持下载当日账单,只能下载前一日24点前的账单数据,当日数据一般于次日 15 点后生成,特殊情况可能延迟。 |
GET /api/v1/bill/settle-bill/downloadInfo?billDate=20221010
Content-Type: application/json;charset=UTF-8
PayMercAuth: {"callerId":"10132120***","traceId":"202305151518027020519","time":1684135082153,"authId":"120291744647139***","headerSign":"KJfXV9wiYjV9dpVBVD9zhWJ8Bg766GcKooIFPlPKXqlKW8KEbkWNbtbSotJIYMTJdWPdLdm********************SbOeFiawSVGXW+81rvobQngEKq02sOB0RbrxZIk2Hll20OSMNPBsO8PIWk3168=","bodySign":"mL8Kf2jy9c7A7Yh9az3NlETYdzgOfNzLBJ2l/feRfoMeYViiGQdYXc1cbreqpGNXM6o2yr3MgJaXgoCucXcONNcgWuQzljuwoNQ+uOQecUu3iUq7g********************2ibjq0PbHxHKX/fwydJBLZdA/mL/yXNTi8a53hnxKRvS14cKrIUe90Esw0eiJa0KQB7dulujN2w7qB/pbTViW2ypPM="} 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
resultCode | 是 | String | 结果码,"000000"表示成功,其他表示失败。 |
resultDesc | 是 | String | 结果描述。 |
subCode | 否 | String | 业务错误码。 |
subDesc | 否 | String | 业务错误描述信息。 |
sign | 是 | String | 签名值。用于开发者对响应报文进行防篡改验证。 |
billDownloadParam | 否 | 账单下载请求信息。有生成账单数据时返回。 |
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
"sign": "MEUCIGnmUY8Yg34Ma5NBwqYzLBdNGT********************k0qwip5hhzruzPoKn+cRVu/W3HH+8WGGJsV3TA=",
"resultCode": "000000",
"resultDesc": "success",
"billDownloadParam": {
"headers": {
"Authorization": "AWS4-HMAC-SHA256 Credential=BJIIJMUMOQKXDCODXVCG/2022110********************z-date, Signature=e7275216278aebc548f413f899eb2f4d82011ed479087f0055c702fa6addc8e5",
"x-amz-content-sha256": "UNSIGNED-PAYLOAD",
"x-amz-client-request-id": "20210863286224479792",
"x-amz-date": "20221103T005326Z",
"connection": "close",
"Host": "petalpay-merchant-test-001.obs.cn-north-4.myhuaweicloud.cn",
"user-agent": "Apache-HttpAsyncClient/4.1.2 (Java/1.8.0_272)",
"Content-Type": "application/octet-stream"
},
"method": "GET",
"downloadUrl": "https://petalpay-merchant-test-001.obs.cn-north-4.myhuaweicloud.cn/101540000089_Promotion_20210506.zip"
}
} (result_code非400000的错误码请看公共错误码说明)
错误码
result_code | result_desc | sub_code | sub_desc | solution |
|---|---|---|---|---|
400000 | 业务处理失败 | NOT_SETTLEMENT_DATE | 非结算日,账单未生成 | 请选择结算日重试 |
400000 | 业务处理失败 | BILL_SWITCH_NOT_TURN_ON | 账单开关没有打开 | 请检查并打开账单开关 |
400000 | 业务处理失败 | INVALID_ARGUMENTS | 参数不合法 | 请检查请求参数 |
400000 | 业务处理失败 | UNKNOWN_ERROR | 服务暂不可用, 请稍后重试 | 请稍后重试 |
RestTemplate restTemplate = new RestTemplate(new HttpComponentsClientHttpRequestFactory(HttpClients.createSystem())); HttpHeaders headers = new HttpHeaders(); // billResponse为请求账单接口响应的对象 billResponse.getBillDownloadParam().getHeaders().forEach(headers::add); HttpEntity<?> httpEntity = new HttpEntity<>(headers); ResponseEntity<byte[]> responseEntity = restTemplate.exchange(billResponse.getBillDownloadParam().getDownloadUrl(), HttpMethod.GET, httpEntity, byte[].class, new Object[0]); if (responseEntity.getStatusCode() == HttpStatus.OK) { // ./结算账单2022xxxxxx.zip 路径可自定义 Files.write(Paths.get("./结算账单2022xxxxxx.zip"), responseEntity.getBody()); }
字段名 | 是否必填 | 描述 | 示例值 |
|---|---|---|---|
结算单号 | 是 | 指商户号结算时,华为支付为该次结算分配的订单号。 | 71306c214b2d486199e3c19a6******X |
结算日 | 是 | 依据该商户号结算周期,华为支付将交易款结算给该商户号结算账户的日期,格式为yyyyMMdd。 | 20220826 |
商户名称 | 是 | 发起该笔交易下单的华为支付商户主体名称。 | 测试******商户 |
商户号 | 是 | 发起该笔交易下单的华为支付商户号。 | 1015******89 |
交易创建时间 | 是 | 指该笔交易的创建时间,格式为yyyyMMdd。 | 20220825 |
交易完成时间 | 是 | 指该笔交易的支付成功时间,格式为yyyy-MM-dd HH:mm:ss。 | 2022-08-25 10:29:19 |
系统交易订单号 | 是 | 华为支付为该笔订单分配的订单号。 | 1220825102620000******857556 |
商户订单号 | 是 | 商户传入的该笔订单的商户订单号,对应下单接口里的mercOrderNo字段。 | Imagazine_1661394****** |
交易类型 | 是 | 该笔订单类型,包括但不限于(后续可能新增):
| 收单 |
产品实例编号 | 否 | 指该笔订单使用的交易产品编号。 | 87178478298******0 |
产品名称 | 否 | 指该笔订单使用的交易产品名称。 | 借记卡快捷支付 |
银行名称 | 否 | 指该笔订单发生交易的银行。 | 工商银行 |
卡类型 | 否 | 指该笔订单发生交易的银行卡类型:
| 借记卡 |
交易币种 | 是 | 指该笔订单的交易币种。
| CNY |
结算金额(元) | 是 | 指该笔订单的实际应结算金额,保留小数点后2位。 | 5 |
订单金额(元) | 是 | 该笔订单的总金额,包括用户支付金额、优惠金额,保留到小数点后2位。 | 5 |
优惠金额(元) | 否 | 指该笔订单在用户支付时的减免金额,保留到小数点后2位。 | 0 |
手续费金额(元) | 是 | 该笔订单产生的交易手续费,保留小数点后2位。 | 0.03 |
手续费收取方式 | 是 | 指华为支付对当笔订单的手续费收取方式,一般以商户号维度配置。 支持方式:
| 手续费轧差收取 |
分账类型 | 是 | 指分账订单的分账方式:
| 不分账 |
合作方商户名称 | 否 | 指分账订单的发起方商户主体名称。 | xyz |
合作方商户号 | 是 | 指分账订单的发起方商户号。 | 1015******89 |
原系统交易订单号 | 否 | 退款或者分账原华为支付系统订单号。 | 124042317******0740873494880 |
原商户订单号 | 否 | 退款或者分账原商户订单号。 | czl00120******554112 |
商户预留信息 | 否 | 预下单时的商户预留信息。 | payload test |
AppID | 否 | 应用ID。 如果商户交易未配置AppID校验,则该字段信息为空。 | 5765880******8652727 |
用户标识 | 否 | 商户AppID生成的对应的openid。 如果商户交易未配置AppID校验,则该字段信息为空。 | 2248554******3012454 |
备注 | 否 | 订单备注。 | - |
备用 | 否 | 预留字段。 | - |
手续费收取方 | 否 | 指手续费收取所归属商户号。 | 1135******82 |
结算账单样例文件