1.2.响应通用定义
本平台所有响应返回均采用JSON格式,body均采用UTF-8编码。
所有响应均按照以下通用格式定义:
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
response | 1 | String | JSON格式的string字符串 | 标志本次业务返回结果体 |
response.head | 1 | String | JSON格式的string字符串 | 标志本次业务返回结果体头部数据 |
response.body | 1 | String | JSON格式的string字符串 | 标志本次业务返回结果体的业务返回对象 |
signature | 1 | String | 签名,RSA加密 | 本次请求的返回体的加密签名,用于接口安全性校验。签名规则见本文档目录1.3.签名 |
字段名 | 字段含义 | 取值 | 备注 |
---|---|---|---|
response.body.result_code | 通讯响应码 | 200,400,500 | 200:通讯成功,回调是否重试,根据这个状态判断;400:客户端错误;500:服务端错误 |
response.body.error_code | 通讯错误码 | 见通信错误码表 | 通讯 失败 的时候才返回 |
response.body.error_message | 通讯错误信息描述 | 见 通信错误码表 | 通讯 失败 的时候才返回 |
response.body.biz_response | 业务响应数据 | JSON结构 | 通讯 成功 的时候才返回 |
response.body.biz_response.result_code | 业务执行响应码 | 见 业务响应定义 | |
response.body.biz_response.error_code | 业务执行结果返回码 | 见 业务响应定义 | 业务处理失败时返回 |
response.body.biz_response.error_message | 业务执行错误信息 | 见 业务响应定义 | 业务处理失败时返回 |
response.body.biz_response.data | 业务执行返回参数 | 见各具体接口的返回参数定义 |
返回体样例:
{
"response": {
"head": {
"version": "1.0.0",
"sign_type":"SHA256",
"appid": "28lp61847655",
"response_time": "2001-07-04T12:08:56+05:30",
"reserve": "{}"
},
"body": {
"result_code": "200"
"biz_response": {
"result_code": "200"
"data": {
"check_sn": "76526166340",
"order_sn": "1b7efc395f754c60b5c28b96dd402174"
}
}
}
},
"signature": "blmSaxUF6/N2XOcz7UWRRVQ5XsVCEz1BpZl6R9Rc6TA3+IfWhJtmCsUZjtw72w1QQ8rEV6+uMh3GWbyzH02Y9dJQCW"
}
通讯错误码表:
error_code为本次通讯的错误码
error_message为对应的中文描述
当result_code不等于200的时候才会出现
编号 | result_code | error_code | error_message |
---|---|---|---|
1 | 400 | INVALID_PARAMS | 参数错误 |
2 | 400 | ILLEGAL_SIGN | 签名错误 |
3 | 500 | UNKNOWN_SYSTEM_ERROR | 系统错误 |
业务响应定义:
error_code为本次业务执行处理返回的错误码
error_message为对应的中文描述
当result_code不等于200的时候才会出现
error_code | error_message |
---|---|
isv.missing-method | 缺少方法名参数 |
isv.invalid-parameter | 参数无效 |
ACQ.PUT_ORDER_FAIL | 订单处理失败 |
ACQ.DATE_PARSE_FAIL | 时间参数解析错误,请订正后重新请求 |
ACQ.ORDER_NOT_FOUND | 订单不存在 |
ACQ.CODE_ORDER_CANCELED | 订单已取消 |
ACQ.ORIGIN_ORDER_NOT_FOUND | 原始订单不存在 |
ACQ.ORIGIN_ORDER_STATUS_AUTH_FAILED | 取消订单操作失败,当前状态不允许取消 |
ACQ.ORDER_CANCEL_FAILED | 取消订单操作失败 |
ACQ.CODE_ORDER_MISS_QUERY_SN | (store_sn、workstation_sn、check_sn)和order_sn不能同时为空 |
ACQ.SN_CANNOT_BE_ALL_NULL | (original_store_sn、original_workstation_sn、original_check_sn)和original_order_sn不能同时为空 |
ACQ.ORIGIN_TENDER_ERROR | 原始订单未完成或流水不存在 |
ACQ.ORDER_AMOUNT_ERROR | 订单金额错误 |
ACQ.ORIGINAL_ORDER_FOLLOWED | 已存在相关联预授权订单 |
ISV.REQUEST_REPEAT | 请求失败,重复的订单 |
ACQ.TENDER_TYPE_UNKNOWN | 未知的交易方式 |
ACQ.TENDER_STATUS_ERROR | 流水状态异常 |
ACQ.CODE_TENDER_STATUS_TYPE_NOT_MATCH | 流水状态和支付方式不匹配 |
ACQ.CODE_TENDER_NO_AMOUNT_REFUND | 原支付流水无可退金额 |
ACQ.CODE_TENDER_ERROR_AUTH_CHANNEL | 未知的授权渠道 |
ACQ.CODE_SUB_TENDER_TYPE_NOT_MATCH | 二级支付方式不匹配 |
ACQ.CODE_SUB_TENDER_TYPE_NOT_MATCH | 商户不支持的支付方式 |
ACQ.CODE_AUTH_CHANNEL_MERCHANT_NOT_SUPPORT | 商户不支持的授权方式 |
ACQ.CODE_EXTERNAL_TYPE_MISS_PARAM | 外部支付方式缺少参数 |
ACQ.CODE_MISS_SUB_TENDER_TYPE | 缺少二级支付方式 |
ACQ.CODE_REPEAT_TRANSACTION_SN | 商户流水号重复 |
ACQ.CODE_ERROR_SCENE | 暂不支持的支付场景。 |
ACQ.CODE_INSTALLMENT_NOT_SUPPORT | 分期期数不支持 |
ACQ.CODE_H5_NOT_SUPPORT_PARTIAL | H5支付场景不支持部分支付 |
ACQ.CODE_APP_NOT_SUPPORT_PARTIAL | APP支付场景不支持部分支付 |
ACQ.CODE_BIZ_ERROR | 业务执行异常 |
ACQ.CODE_TENDER_TYPE_NOT_SUPPORT | 不支持交易方式 |
ACQ.CODE_ORDER_OPERATION_TERMINATE_NOT_SUPPORT | 订单类型不支持终止 |
ACQ.CODE_SCENE_TYPE_NOT_SUPPORT | 不支持的支付场景 |
ACQ.CODE_STORE_SN_NOT_EXIST | 门店信息不正确 |
ACQ.CODE_BRAND_CODE_NOT_EXIST | 品牌编号不正确 |
ACQ.CODE_CONTACT_FAIL | 签约失败 |