接口会根据支付订单情况自动判断退款或撤销。退款交易适用于已成功的支付交易,有效期一般有几个月,不同的支付平台有所差异;撤销适用于所有状态的支付交易,但是有效期只有24小时。

交易请求报文

JSON:

  1. {
  2. "request_type": "barcode_reverse_request",
  3. "isspid": "39493002",
  4. "pos_id": "8888888888",
  5. "store_id": "8888888888",
  6. "pos_seq": "2018121400000006",
  7. "user_id": "user01",
  8. "system_id": "8888",
  9. "barcode_reverse_request": {
  10. "tx_amt": "1",
  11. "org_pos_seq": "2018121400000001",
  12. "pos_sn": "xxxxxxxxxxxxx",
  13. "org_trade_no": "xxxxxxxxxxxxx"
  14. },
  15. "sign": "E622B688C360F8444788740B111E4787"
  16. }

XML:

  1. <?xml version="1.0" encoding="GBK"?>
  2. <business_trans>
  3. <request_type>barcode_reverse_request</request_type>
  4. <isspid>39493002</isspid>
  5. <pos_id>1511300001</pos_id>
  6. <store_id>1511300001</store_id>
  7. <pos_seq>1511300000004</pos_seq>
  8. <user_id>user01</user_id>
  9. <system_id>8888</system_id>
  10. <barcode_reverse_request>
  11. <tx_amt>10</tx_amt>
  12. <org_pos_seq>1511300000001</org_pos_seq>
  13. <pos_sn>xxxxxxxxxxxxxx</pos_sn>
  14. <org_trade_no>xxxxxxxxxxx</org_trade_no>
  15. </barcode_reverse_request>
  16. </business_trans>

交易请求报文说明

节点名称中文名称类型说明是否必填
sign报文签名String(32)请求报文格式为JSON时必填
计算签名方式请看2.1章节
可选
request_type请求类型String(32)标识请求报文的类型,固定为barcode_reverse_request必填
isspid商户号String(8)接入SP的ID号,由翼码平台分配给ipos接入受理商户的机构号(原值返回)必填
pos_id终端号String(20)终端号必填
store_id门店号String(20)门店号必填
pos_seq终端流水号String(32)同一个商户必须唯一,且大于12位必填
user_id操作员标识String(20)操作员号可空
system_id系统平台号String(4)由翼码提供必填
barcode_reverse_request
->tx_amt
交易金额Number(9)条码支付金额,单位为分,不支持小数点必填
barcode_reverse_request
->org_pos_seq
需要退款交易的流水号String(32)需要退款的原支付流水号,且大于12位必填
barcode_reverse_request
->pos_sn
设备sn号String设备sn号,设备上可查看必填
barcode_reverse_request
->org_trade_no
原系统交易流水String交易请求/查询交易返回的trade_no必填

交易返回报文

JSON:

  1. {
  2. "response_type": "barcode_reverse_response",
  3. "system_id": "8888",
  4. "isspid": "39493002",
  5. "pos_id": "8888888888",
  6. "pos_seq": "2018121400000006",
  7. "sys_seq": "b7ff9fa5bb4355e2",
  8. "trans_time" "20201130111111",
  9. "pay_type": "502",
  10. "extend": "<![CDATA[]]>",
  11. "result": {
  12. "id": "0000",
  13. "comment": "交易成功"
  14. },
  15. "pay_response": {
  16. "trade_no": "xxxxxxxxxxxxxxxx",
  17. "total_fee": "10",
  18. "receipt_amount": "10",
  19. "trans_time": "20201130111111"
  20. },
  21. "sign": "207482F2C0A998B73F388B8AA401DB76"
  22. }

XML:

  1. <?xml version="1.0" encoding="GBK"?>
  2. <business_trans>
  3. <response_type>barcode_reverse_response</response_type>
  4. <isspid>39493002</isspid>
  5. <pos_id>123456789</pos_id>
  6. <pos_seq>000000000001</pos_seq>
  7. <sys_seq>000000000244</sys_seq>
  8. <trans_time>20201130111111</trans_time>
  9. <pay_type>502</pay_type>
  10. <extend><![CDATA[扩展字段(json格式)]]></extend>
  11. <result>
  12. <id>0000</id>
  13. <comment>成功</comment>
  14. </result>
  15. <pay_response>
  16. <trade_no>xxxxxxxxxxx</trade_no>
  17. <total_fee>10</total_fee>
  18. <receipt_amount>10</receipt_amount>
  19. <trans_time>20201130111111</trans_time>
  20. </pay_response>
  21. </business_trans>

交易返回报文说明

标准接口会因业务升级需要而新增节点,请在解析返回报文时避免新增未知节点产生的程序出错!

节点名称中文名称类型说明是否必填
sign报文签名String(32)返回报文格式为JSON时必填
计算签名方式请看2.1章节
可选
response_type返回类型String(32)标识返回报文的类型,固定为barcode_reverse_response必填
isspid商户号String(8)接入SP的ID号,为翼码平台的提供的业务商机构号必填
pos_id终端号String(20)终端号必填
pos_seq终端流水号String(32)终端交易流水号,和请求报文中的交易流水号相同必填
sys_seq随机串号String(16)随机生成串号,仅用于日志跟踪用,不保存必填
trans_time交易时间String(14)交易时间,格式:yyyyMMddHHmmss必填
pay_type支付类型String(3)502:支付宝支付
503:微信支付
512:银联二维码
515:小程序支付
必填
extend扩展信息String扩展信息字段内容为json格式
预留字段后续业务扩展使用
可空
result
->id
响应码String(4)翼码平台返回的处理结果
0000-成功
9998-退款处理中,需要调用退款查询交易确认退款结果
其它为失败,错误信息说明见“响应码解释”字段
必填
result
->comment
响应码解释String(64)响应码对应中文注解,用于显示提示必填
交易返回数据仅result->id返回为0000时返回一下数据可空
pay_response
->trade_no
原系统交易流水String支付宝、微信等渠道返回的交易流水号必填
pay_response
->total_fee
应付金额Number(9)订单应付金额,单位:分,不支持小数点必填
pay_response
->receipt_amount
实付金额Number(9)用户实付金额,单位:分,不支持小数点必填
pay_response
->trans_time
系统交易时间String(14)支付宝、微信等系统交易时间,格式:yyyyMMddHHmmss必填

标准接口会因业务升级需要而新增节点,请在解析返回报文时避免新增未知节点产生的程序出错!