交易请求报文
<?xml version="1.0" encoding="GBK"?><business_trans><request_type>scanpay_jsapi_request</request_type><isspid>39493002</isspid><pos_id>1511300001</pos_id><store_id>1511300001</store_id><pos_seq>1511300000002</pos_seq><user_id>user01</user_id><system_id>8888</system_id><device_ip>127.0.0.1</device_ip><scanpay_jsapi_request><pay_type>502</pay_type><tx_amt>1</tx_amt><buyer_id>2088************</buyer_id><body>商品描述</body><notify_url><![CDATA[http://www.baidu.com/]]></notify_url><extend_params><![CDATA[扩展参数]]></extend_params><use_coupon>1</use_coupon></scanpay_jsapi_request></business_trans>
交易请求报文说明
| 节点名称 | 中文名称 | 类型 | 说明 | 是否必填 |
|---|---|---|---|---|
| request_type | 请求类型 | String(32) | 标识请求报文的类型,固定为scanpay_jsapi_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) | 由翼码提供 | 必填 |
| device_ip | 设备IP | String(15) | 发起交易的门店公网IP 根据央行要求必须传门店真实公网IP 否则商家会被风控!!! | 可空 |
| scanpay_jsapi_request ->pay_type | 支付类型 | String(3) | 502:支付宝支付 503:微信支付 | 必填 |
| scanpay_jsapi_request ->buyer_id | 用户标识 | String(128) | 支付宝:买家的支付宝唯一用户号(2088开头的16位纯数字) 微信:用户在商户appid下的唯一标识(openid) | 必填 |
| scanpay_jsapi_request ->tx_amt | 交易金额 | Number(9) | 支付金额,单位为分,不支持小数点 | 必填 |
| scanpay_jsapi_request ->body | 商品描述 | String(100) | 建议中文按3个字节计算,最大不超过33个中文 不传则默认为“商户简称(门店名称)” | 可空 |
| scanpay_jsapi_request ->notify_url | 异步通知地址 | String(256) | 通知地址建议使用CDATA标签包裹内容 异步通知文档见4.19 | 可空 |
| scanpay_jsapi_request ->extend_params | 扩展参数 | String | 用于扩展一些特殊的支付参数字段,以JSON格式传入 XML报文若传入信息带特殊字符请使用CDATA标签包裹内容 详细参数见下表 | 可空 |
| scanpay_jsapi_request ->use_coupon | 是否使用优惠券 | String(1) | 0:不使用优惠 1:可使用优惠 传空默认为1 具体应用: a.微信可使用优惠时,翼码传送已配置的订单优惠标记(goods_tag)给微信 b.支付宝不可使用优惠时,翼码将不参与优惠计算的金额(undiscountable_amount)取订单金额传送给支付宝 | 可空 |
extend_params 扩展参数 (JSON)
| JSON节点 | 类型 | 说明 | 是否必填 | 范例 |
|---|---|---|---|---|
| hb_fq_num | String | 花呗分期数,仅支持传入3、6、12,其他期数暂不支持 仅支付宝时生效 hb_fq_num与hb_fq_seller_percent必须同时传入且使用花呗分期商品明细必传 | 可空 | 3 |
| hb_fq_seller_percent | String | 花呗卖家承担收费比例,商家承担手续费传入100,用户承担手续费传入0,仅支持传入100、0两种,其他比例暂不支持 仅支付宝时生效 hb_fq_num与hb_fq_seller_percent必须同时传入且使用花呗分期商品明细必传 | 可空 | 100 |
| split_flag | String | 分账标识 N:不分账 R:实时分账 D:延时分账 不传该节点时,将按控制台配置处理 该节点与分账功能相关具体联系业务确认开通功能 | 可空 | R |
| split_info | JSON | 分账信息 仅支持请求实时分账split_flag=R 该节点与分账功能相关具体联系业务确认开通功能 | 可空 |
分账业务相关的特别说明:
1. split_flag=N 不分账时,split_info不允许传入;
2. split_flag=R 实时分账时,split_info必传,其中keep_amt与div_amt叠加必须全额分完整笔订单;
3. split_flag=D 延时分账时,split_info不允许传入,在后续流程中调用延迟交易确认接口完成分账,或使用翼码分账系统界面进行分账。
split_info 分账信息
| JSON节点 | 类型 | 说明 | 是否必填 | 范例 |
|---|---|---|---|---|
| keep_amt | String | 分账方自留金额,单位为分,可传0表示不自留 | 必填 | 1000 |
| split_list | Array | 分账明细 | 必填 |
split_list 分账明细
| JSON节点 | 类型 | 说明 | 是否必填 | 范例 |
|---|---|---|---|---|
| merchant_id | String | 分账接收方的分账商户号 | 必填 | 10000000000001 |
| div_amt | String | 分账金额,单位为分,必须大于0 | 必填 | 1000 |
extend_params 样例:
{"hb_fq_num": "3","hb_fq_seller_percent": "100","split_flag": "R","split_info": {"keep_amt": "800","split_list": [{"merchant_id": "10000000000001","div_amt": "150"},{"merchant_id": "10000000000002","div_amt": "50"}]}}
交易返回报文
<?xml version="1.0" encoding="GBK"?><business_trans><response_type>scanpay_jsapi_response</response_type><isspid>39493002</isspid><pos_id>1511300001</pos_id><pos_seq>1511300000002</pos_seq><sys_seq>0311095321465179</sys_seq><trans_time>20160311095321</trans_time><pay_type>502</pay_type><pay_id>************************</pay_id><result><id>9998</id><comment>下单成功,等待用户支付</comment></result></business_trans>
交易返回报文说明
标准接口会因业务升级需要而新增节点,请在解析返回报文时避免新增未知节点产生的程序出错!
| 节点名称 | 中文名称 | 类型 | 说明 | 是否必填 |
|---|---|---|---|---|
| response_type | 返回类型 | String(32) | 标识返回报文的类型,固定为scanpay_jsapi_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:微信支付 | 必填 |
| pay_id | 交易标识id | String(64) | 支付宝:支付宝交易号(trade_no) 微信:微信生成的预支付回话标识(prepay_id) 用于调用H5支付页面 下单成功时必填 | 可选 |
| result->id | 响应码 | String(4) | 9998 - 下单成功等待用户支付,需调用查询接口确认交易 其它失败,错误信息说明见“响应码解释”字段 | 必填 |
| result->comment | 响应码解释 | String(64) | 响应码对应中文注解,用于显示提示 | 必填 |
标准接口会因业务升级需要而新增节点,请在解析返回报文时避免新增未知节点产生的程序出错!
跳转H5支付页面的方法
跳转H5支付页面:http://zctest.imageco.cn/iss2_ipos/Web/jsapi_pay.php
请求方式:GET
中文字符编码:UTF-8
请求参数:
| 参数名 | 中文名称 | 说明 | 是否必填 |
|---|---|---|---|
| pay_id | 交易标识id | JSAPI支付接口下单成功之后返回的参数(pay_id) | 必填 |
| subject | 收款页标题 | 在支付页面展示的标题 | 必填 |
| show_url | 回调Url | 支付成功之后回调的Url | 必填 |
| payee | 收款方名称 | 不传默认取商户在翼码系统的商户名称 | 可空 |
参数名注意大小写,严格区分大小写,参数值注意使用urlencode处理。
调用范例:
http://zctest.imageco.cn/iss2_ipos/Web/jsapi_pay.php?pay_id=2018122923011429700544283355&subject=%e6%94%b6%e6%ac%be%e6%a0%87%e9%a2%98&show_url=https%3a%2f%2fopen.wangcaio2o.com%3faaa%3d1%26bbb%3d%e5%95%8a%e5%95%8a%e5%95%8a&payee=%E6%94%B6%E6%AC%BE%E6%96%B9%E5%90%8D%E7%A7%B0
页面范例:



