重要:当返回码result->id=9998或接口超时无响应时,请不要更换请求流水(pos_seq)再次请求接口,否则会造成重复退款的风险!!!
此种情况下建议以下两种流程处理:
方案一:不更换流水(pos_seq),使用原报文重发申请
方案二:调用现金退款查询接口进行申请结果确认
交易请求报文
JSON:
{
"request_type": "cash_refund_request",
"isspid": "39493002",
"pos_id": "1511300001",
"store_id": "1511300001",
"pos_seq": "C20200217X100000000010",
"user_id": "user01",
"system_id": "8888",
"cash_refund_request": {
"pay_type": "503",
"tx_amt": "10",
"org_order_id": "123456789",
"payee_account": "2088111111111111"
},
"sign": "79CB18BC49A4D60C457506EA4EF27C14"
}
XML:
<?xml version="1.0" encoding="GBK"?>
<business_trans>
<request_type>cash_refund_request</request_type>
<isspid>39493002</isspid>
<pos_id>1511300001</pos_id>
<store_id>1511300001</store_id>
<pos_seq>C20200217X100000000010</pos_seq>
<user_id>user01</user_id>
<system_id>8888</system_id>
<cash_refund_request>
<pay_type>503</pay_type>
<tx_amt>10</tx_amt>
<org_order_id>123456789</org_order_id>
<payee_account>2088111111111111</payee_account>
</cash_refund_request>
</business_trans>
交易请求报文说明
节点名称 | 中文名称 | 类型 | 说明 | 是否必填 |
---|---|---|---|---|
sign | 报文签名 | String(32) | 请求报文格式为JSON时必填 计算签名方式请看2.1章节 | 可选 |
request_type | 请求类型 | String(32) | 固定值:cash_refund_request | 必填 |
isspid | 商户号 | String(8) | 翼码商户号,由翼码提供 | 必填 |
pos_id | 终端号 | String(20) | 商户自定义终端号 | 必填 |
store_id | 门店号 | String(20) | 商户自定义门店号 | 必填 |
pos_seq | 终端流水号 | String(32) | 同一个商户同一笔交易必须唯一,且大于12位 | 必填 |
user_id | 操作员标识 | String(20) | 操作员号 | 可空 |
system_id | 系统平台号 | String(4) | 由翼码提供 | 必填 |
cash_refund_request ->pay_type | 渠道 | String(3) | 503:微信 | 必填 |
cash_refund_request ->org_order_id | 原交易订单号 | String(64) | 原交易订单号,用户生成账单文件中展示 | 可空 |
cash_refund_request ->tx_amt | 交易金额 | Number(9) | 退款金额,单位为分,不支持小数点 支付宝金额需大于0.1元 | 必填 |
cash_refund_request ->payee_account | 收款人帐号 | String(32) | 微信openid | 必填 |
交易返回报文
JSON:
{
"request_type": "cash_refund_response",
"isspid": "39493002",
"pos_id": "1511300001",
"pos_seq": "C20200217X100000000010",
"sys_seq": "b7ff9fa5bb4355e2",
"trans_time": "20200701103100",
"pay_type": "503",
"wxpay_res_info": {
"trade_no": "4001172001201604144821605495",
"out_trade_no": "C20200217X100000000010",
"tx_amt": "10"
},
"result": {
"id": "0000",
"comment": "申请成功"
},
"sign": "79CB18BC49A4D60C457506EA4EF27C14"
}
XML:
<?xml version="1.0" encoding="GBK"?>
<business_trans>
<response_type>cash_refund_response</response_type>
<isspid>39493002</isspid>
<pos_id>1511300001</pos_id>
<pos_seq>C20200217X100000000010</pos_seq>
<sys_seq>b7ff9fa5bb4355e2</sys_seq>
<trans_time>20200701103100</trans_time>
<pay_type>503</pay_type>
<wxpay_res_info>
<trade_no>4001172001201604144821605495</trade_no>
<out_trade_no>C20200217X100000000010</out_trade_no>
<tx_amt>10</tx_amt>
</wxpay_res_info>
<result>
<id>0000</id>
<comment>申请成功</comment>
</result>
</business_trans>
交易返回报文说明
标准接口会因业务升级需要而新增节点,请在解析返回报文时避免新增未知节点产生的程序出错!
节点名称 | 中文名称 | 类型 | 说明 | 是否必填 |
---|---|---|---|---|
sign | 报文签名 | String(32) | 请求报文格式为JSON时必填 计算签名方式请看2.1章节 | 可选 |
response_type | 返回类型 | String(32) | 固定值:cash_refund_response | 必填 |
isspid | 商户号 | String(8) | 翼码商户号,由翼码提供 | 必填 |
pos_id | 终端号 | String(20) | 商户自定义终端号 | 必填 |
pos_seq | 终端流水号 | String(32) | 终端交易流水号,和请求报文相同 | 必填 |
sys_seq | 随机串号 | String(16) | 随机生成串号,仅用于日志跟踪用,不保存 | 必填 |
trans_time | 接口返回时间 | String(14) | 接口返回时间,格式:yyyyMMddHHmmss | 必填 |
pay_type | 渠道 | String(3) | 503:微信支付 | 必填 |
result ->id | 响应码 | String(4) | 翼码平台返回的处理结果 0000-申请成功 9998-申请结果待确认,请调用现金退款查询 其它响应码为失败,错误信息说明见“响应码解释”字段 | 必填 |
result ->comment | 响应码解释 | String(64) | 响应码对应中文注解,用于显示提示 | 必填 |
当微信渠道的时 | 返回以下数据 | |||
wxpay_res_info ->trade_no | 微信单号 | String(64) | 交易成功时候,必填 | 可空 |
wxpay_res_info ->out_trade_no | 商户订单号 | String(64) | 交易成功时候,必填 | 可空 |
wxpay_res_info ->tx_amt | 交易金额 | Number(9) | 与请求节点一致 | 可空 |
标准接口会因业务升级需要而新增节点,请在解析返回报文时避免新增未知节点产生的程序出错!
重要:当返回码result->id=9998或接口超时无响应时,请不要更换请求流水(pos_seq)再次请求接口,否则会造成重复退款的风险!!!
此种情况下建议以下两种流程处理:
方案一:不更换流水(pos_seq),使用原报文重发申请
方案二:调用现金退款查询接口进行申请结果确认