重要:当返回码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),使用原报文重发申请
方案二:调用现金退款查询接口进行申请结果确认


