业务说明
应用场景
用于快捷支付业务,本接口直接返回快捷支付页面,封装了快捷支付流程。用户在页面上输入银行卡等信息,通道平台会向持卡人在银行预留的手机号发送短信验证码,系统自动完成绑卡支付。
通道平台提供快捷支付页面,用户在快捷支付页面上可以完成绑卡、支付等操作。
交易请求报文
JSON:
{"request_type": "online_quickpay_pageinfo_request","isspid": "39493002","pos_id": "1511300001","store_id": "1511300001","pos_seq": "2018121400000004","user_id": "user01","system_id": "8888","device_type": "4","device_ip": "127.0.0.1","memo": "订单备注","online_quickpay_pageinfo_request": {"tx_amt": "1","order_type": "P","page_type": "P","time_expire": "20221128235959","gw_chnnl_tp": "01","goods_short_name": "个人电脑","biz_tp": "100099","user_yima_id": "111111111111","front_url": "https://www.baidu.com/","notify_url": "https://www.baidu.com/","extend_params": {"split_flag": "R","plan_split_date": "20230418","split_info": {"keep_amt": "800","split_list": [{"merchant_id": "10000000000001","div_amt": "150"},{"merchant_id": "10000000000002","div_amt": "50"}]}}},"sign": "314DA43E7E244105ECBD45F797264854"}
XML:
<?xml version="1.0" encoding="GBK"?><business_trans><request_type>online_quickpay_pageinfo_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_type>4</device_type><device_ip>127.0.0.1</device_ip><memo>订单备注</memo><online_quickpay_pageinfo_request><tx_amt>1</tx_amt><order_type>P</order_type><page_type>P</page_type><time_expire>20221128235959</time_expire><gw_chnnl_tp>01</gw_chnnl_tp><goods_short_name>个人电脑</goods_short_name><biz_tp>100099</biz_tp><user_yima_id>111111111111</user_yima_id><front_url><![CDATA[https://www.baidu.com/]]></front_url><notify_url><![CDATA[https://www.baidu.com/]]></notify_url><extend_params><![CDATA[扩展参数(JSONObject)]]></extend_params></online_quickpay_pageinfo_request></business_trans>
交易请求报文说明
| 节点名称 | 中文名称 | 类型 | 说明 | 是否必填 |
|---|---|---|---|---|
| sign | 报文签名 | String(32) | 请求报文格式为JSON时必填 计算签名方式请看2.1章节 | 可空 |
| request_type | 请求类型 | String(32) | 固定值:online_quickpay_pageinfo_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) | 由翼码提供 | 必填 |
| device_type | 设备类型 | String(1) | 1:手机 2:平板 3:手表 4:PC 发起交易设备的类型 | 必填 |
| device_ip | 设备IP | String(15) | 发起交易的设备公网IP(仅支持IPv4) | 必填 |
| memo | 订单备注 | String(128) | 可空 | |
| online_quickpay_pageinfo_request ->tx_amt | 交易金额 | Number(9) | 支付金额,单位为分,不支持小数点 | 必填 |
| online_quickpay_pageinfo_request ->order_type | 订单类型 | String(1) | P:支付 R:充值 | 必填 |
| online_quickpay_pageinfo_request ->page_type | 页面类型 | String(1) | P:PC页面 M:H5页面 | 必填 |
| online_quickpay_pageinfo_request ->time_expire | 订单失效时间 | String(14) | 格式yyyyMMddHHmmss 注:工商银行系统针订单失效时间处理比较特殊,订单失效时间有效期时间要大于1小时。 | 必填 |
| online_quickpay_pageinfo_request ->gw_chnnl_tp | 网关支付受理渠道 | String(2) | 01:电脑浏览器 02:手机浏览器 03:手机应用程序 99:其他 | 必填 |
| online_quickpay_pageinfo_request ->goods_short_name | 商品简称 | String(40) | 不能包含特殊字符 详细字符见下文 | 可空 |
| online_quickpay_pageinfo_request ->biz_tp | 业务种类 | String(6) | 取值详见【7.1 业务种类】 | 可空 |
| online_quickpay_pageinfo_request ->user_yima_id | 用户号 | String(32) | 详细描述见下文 | 可空 |
| online_quickpay_pageinfo_request ->front_url | 页面跳转地址 | String(120) | 页面跳转地址,跳转至商户前端地址 具体说明见下文 格式以http或https开头 使用XML格式报文时,建议使用CDATA标签包裹内容 | 可空 |
| online_quickpay_pageinfo_request ->notify_url | 异步通知地址 | String(256) | 4.20.交易结果通知 使用XML格式报文时,建议使用CDATA标签包裹内容 | 可空 |
| online_quickpay_pageinfo_request ->extend_params | 扩展参数 | JSONObject | 用于扩展一些特殊的支付参数字段,详细参数见下表 使用XML格式报文时,建议使用CDATA标签包裹内容 | 可空 |
自定义门店号(store_id)和自定义终端号(pos_id)需经过4.1终端绑定交易接口绑定成功过的值才可以调用,绑定一次即可不需要重复绑定。
user_yima_id 用户号
- 用户在首次支付:不传用户用户号,此时到通道方的页面需要先进行绑卡->签约->支付,支付成功后【4.20 支付交易支付结果通知】中会返回用户号(此时可以进行记录);
- 用户非首次支付:可传用户用户号,此时到通道方的页面直接进行支付。
goods_short_name 商品简称
不能包含的特殊字符如下:<、>、&、'、"、|、%、#、^、-
front_url 页面跳转地址
- front_url若传入:交易在通道提供的支付页出现失败,会在通道提供的支付结果页面展示结果,待页面10s倒计时结束后,将由通道方会将交易结果数据data以页面from表单POST的方式提交,将data结果传给商户。返回:key=data,value=”JOSNString同步返回data”。
- front_url不传入:支付成功或失败,均会在通道提供的支付结果页面展示结果。
extend_params 扩展参数
| JSON节点 | 类型 | 说明 | 是否必填 | 范例 |
|---|---|---|---|---|
| split_flag | String | 分账标识 N:不分账 R:实时分账 D:延时分账 不传该节点时,将按控制台配置处理 该节点与分账功能相关具体联系业务确认开通功能 | 可空 | R |
| plan_split_date | String | 预分账日期,格式:yyyymmdd 仅延时分账类型(split_flag=D)时支持传入 | 可空 | 20230418 |
| split_info | JSONObject | 分账信息 仅支持请求实时分账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 |
若业务涉及100%分账给接收方,请与业务对接人联系确认业务。
extend_params 样例:
{"split_flag": "R","plan_split_date": "20230418","split_info": {"keep_amt": "800","split_list": [{"merchant_id": "10000000000001","div_amt": "150"},{"merchant_id": "10000000000002","div_amt": "50"}]}}
同步返回说明
针对页面版本接口,同步返回一个完整的html页面。Html页面中信息有几种情况如下:
- 接口失败:
- 请求参数front_url传值:返回错误的html页面,商户打开页面会以form表单POST请求方式进行的按照请求参数front_url传入的值进行跳转,”data”作为key,value=data,跳转到商户页面。如:key=data,value=”JOSNString同步返回data”;
- 请求参数front_url不传值:返回的html页面元素,是通道方的支付结果页面信息。
- 接口成功:
- 返回结果待支付的操作html页面元素;
- 在页面中支付成功后,进行返回的html页面,商户打开页面会以form表单POST请求方式进行的按照请求参数front_url传入的值进行跳转,”data”作为key,value=data跳转到商户页面。如:key=data,value=”JOSNString同步返回data”。
跳转请求front_url的参数
| 参数 | 中文名 | 定义 | 长度 | 必填 | 说明 |
|---|---|---|---|---|---|
| resp_code | 通道方业务返回码 | String | 8 | Y | 参见下文通道方业务返回码与信息,示例值:00000000 |
| resp_desc | 通道方业务返回描述 | String | 512 | Y | 参见下文通道方业务返回码与信息,示例值:交易成功 |
| req_seq_id | 请求流水号 | String | 128 | Y | 业务请求流水号;示例值:202208091234567891 |
| req_date | 请求日期 | String | 8 | Y | 格式:yyyyMMdd;示例值:20221013 |
| hf_seq_id | 通道方全局流水号 | String | 128 | N | 示例值:00470topo1A220809190817P842ac1364ed00000 |
| huifu_id | 通道商户号 | String | 32 | N | 通道分配的商户号;示例值:6666000108854952 |
| remark | 商户私有域 | String | 1024 | N | 原样返回请求的订单备注(memo);示例值:商户私有域 |
| trans_amt | 订单金额 | String | 16 | N | 单位元,需保留小数点后两位,示例值:1.00 |
| trans_stat | 交易状态 | String | 1 | N | F:失败 P:处理中 S:交易成功;示例值:S |
通道方业务返回码与信息
| 返回码 | 返回描述 |
|---|---|
| 00000000 | 交易成功 |
| 00000100 | 交易处理中 |
| 10000000 | %s不能为空(%s代指报错参数名) |
| 10000000 | %s长度固定%d位(%s代指报错参数名、%d代指字段长度) |
| 10000000 | %s最大长度为%d位(%s代指报错参数名、%d代指字段长度) |
| 10000000 | %s的传入枚举[%s]不存在(%s代指报错参数名) |
| 10000000 | %s不符合%s格式(%s代指报错参数名) |
| 10000000 | 请求参数不符合JSON格式 |
| 20000000 | 重复交易 |
| 22000000 | 产品号不存在 |
| 22000000 | 产品号状态异常 |
| 22000001 | 用户客户号不存在 |
| 22000002 | 商户证件信息不存在 |
| 22000002 | 商户信息不存在 |
| 22000002 | 商户状态异常 |
| 22000002 | 企业渠道商不存在 |
| 22000002 | 个人渠道商不存在 |
| 22000002 | 企业商户信息不存在 |
| 22000002 | 个人商户信息不存在 |
| 22000002 | 商户信息配置有误 |
| 22000004 | 暂未开通延迟入账权限 |
| 22000005 | 该商户未配置支付银行 |
| 98888888 | 系统错误 |


