聚合正扫¶
针对目前常见的二维码支付(微信/支付宝/银联云闪付),提供聚合后的扫码支付接口,从扫码支付形式的不同分为聚合正扫和聚合反扫。
请求参数¶
- 请求地址
https://spin.cloudpnr.com/top/trans/pullPayInfo
- 公共请求参数
请求报文头HEADER - 「接口规则-参数规定-报文头」 ,请求报文体BODY - 「接口规则-参数规定-报文体」 ,响应报文体 - 「接口规则-参数规定-响应报文体」
- 请求参数(data)
参数 | 中文名 | 类型 | 必填 | 最大长度 | 说明 |
---|---|---|---|---|---|
req_seq_id | 请求流水号 | String | Y | 128 | 请求流水号,请求日期 + 请求流水号需保证唯一 |
req_date | 请求时间 | String | Y | 8 | 请求时间YYYYMMDD |
mer_ord_id | 商户订单号 | String | Y | 128 | 同一个product_id及huifu_id下需唯一 |
huifu_id | 商户号 | String | Y | 16 | |
trade_type | 交易类型 | String | Y | 16 | 微信公众号:T_JSAPI;小程序:T_MINIAPP; 支付宝JS:A_JSAPI;支付宝正扫:A_NATIVE; 银联正扫:U_NATIVE;银联JS:U_JSAPI;数字人民币二维码支付:D_NATIVE; |
bank_channel_no | 渠道号 | String | N | 32 | 渠道号,若需使用自有渠道请联系业务对接人;不传走默认线下 |
trans_amt | 交易金额 | String | Y | 12 | 交易金额 |
goods_desc | 商品描述 | String | Y | 127 | |
terminal_device_info | 设备信息 | JSON | N | 1024 | Json对象,详见 设备信息 |
risk_check_info | 风控信息 | String | Y | 4000 | 风控信息,jsonObject字符串,详见 风控信息 |
notify_url | 异步通知地址 | String | Y | 512 | 异步通知地址,支持VIRGO方式。virgo://#{http_server_url} 例:virgo://http://www.xxx.com/getResp |
time_expire | 交易有效期 | String | N | 14 | 非必填,订单失效时间,超过此时间限制之后该笔订单将无法进行支付,失效时间与订单创建时间之间的间隔应大于60S,YYYYMMDDHHMMSS格式; |
limit_pay | 指定支付方式 | String | N | 1 | 是否禁止用户使用信用卡支付。默认不禁用,若禁止请填1 |
is_delay_acct | 延时标记 | String | N | 1 | 是否延时交易,1为延迟 0为不延迟 |
term_div_coupon_type | 传入分帐遇到优惠的处理规则 | int | N | 1-按比例分 2-按顺序保障 3-只给交易商户(默认) 参考附录 传入分帐遇到优惠的处理规则 | |
acct_split_bunch | 分账串 | JSON | N | 4000 | 4000位,见附录 请求分账串 |
mer_priv | 商户私有域 | String | N | 1024 | 原样返回 |
wx_data | 微信扩展参数集合 | JSON | N | Json格式,见附录 微信请求参数 | |
alipay_data | 支付宝扩展参数集合 | JSON | N | Json格式,见附录 支付宝请求参数 | |
unionpay_data | 银联扩展参数集合 | JSON | N | Json格式,见附录 银联请求参数 | |
pay_scene | 手续费类型 | String | N | 01:标准费率线上,02:标准费率线下,03:非盈利费率,04:缴费费率,05:保险费率,06:行业活动费率,07:校园餐饮费率,08:K12中小幼费率 | |
fq_mer_discount_flag | 分期贴息类型 | int | N | 分期贴息类型,1:商户贴息,默认商户不贴息。注意:当此处填1时,花呗商户承担比例hb_fq_seller_percent只能填0 | |
remark | 交易备注 | String | N | 45 | |
digitalBankNo | 数字货币银行编号 | String | N | 5 | 01002-工行,01003-农行(暂不支持),01004-中行(暂不支持), 01005-建行(暂不支持) 01002-工行,01003-农行(暂不支持),01004-中行(暂不支持), 01005-建行(暂不支持) 01006-网商(暂不支持),01007-微众(暂不支持), 01008-邮储, 01009-交行(暂不支持) |
响应参数¶
- 同步响应参数(data)
参数 | 中文名 | 类型 | 必填 | 最大长度 | 说明 |
---|---|---|---|---|---|
sub_resp_code | 业务返回码 | String | Y | 8 | 见附录 业务返回码 |
sub_resp_desc | 业务返回描述 | String | Y | 512 | 业务返回描述 |
req_seq_id | 请求流水号 | String | Y | 交易时传入,原样返回 | |
req_date | 请求时间 | String | Y | 交易时传入,原样返回 | |
huifu_id | 汇付商户号 | String | Y | 32 | 汇付分配的商户号 |
mer_ord_id | 商户订单号 | String | Y | 50 | 商户生成 |
hf_seq_id | 汇付流水号 | String | N | 128 | |
trade_type | 交易类型 | String | Y | 见附录 交易类型 | |
trans_amt | 交易金额 | String | Y | 12 | 交易金额 |
settlement_amt | 结算金额 | String | Y | 16 | 结算金额,实际支付金额 |
wx_response | 微信返回的响应报文 | JSON | N | 以下字段当业务返回码=00时有返回 | |
alipay_response | 支付宝返回的响应报文 | JSON | N | 以下字段当业务返回码=00时有返回 | |
unionpay_response | 银联返回的响应报文 | JSON | N | 以下字段当业务返回码=00时有返回 | |
trans_stat | 交易状态 | String | N | 1 | I:初始、P:处理中、S:成功、F:失败 |
acct_stat | 账务状态 | String | N | 1 | I:初始、P:处理中、S:成功、F:失败 |
bank_code | 通道返回码 | String | N | 32 | |
bank_message | 通道返回描述 | String | N | 200 | |
qr_code | 二维码链接 | String | N | 64 | |
pay_info | js支付信息 | String | N | 500 | json 格式,作用于JS支付时的参数(对于JS支付会返还),用于前端唤起微信或支付宝的支付控件 |
token_id | 动态口令 | String | N | 64 | I授权口令 |
is_delay_acct | 是否延时交易 | String | N | 1 | 1:延时交易 ; 0:非延时交易; |
mer_priv | 商户私有域 | String | N | 1024 | 原样返回 |
dc_response | 数字货币返回响应参数 | String | N | 以下字段当业务返回码=00时有返回,数字货币内容 |
- 异步响应参数(resp_data)
参数 | 中文名 | 类型 | 必填 | 最大长度 | 说明 |
---|---|---|---|---|---|
sub_resp_code | 业务返回码 | String | Y | 8 | 见附录 业务返回码 |
sub_resp_desc | 业务返回描述 | String | Y | 512 | 业务返回描述 |
req_seq_id | 请求流水号 | String | Y | 交易时传入,原样返回 | |
req_date | 请求时间 | String | Y | 交易时传入,原样返回 | |
huifu_id | 汇付子商户号 | String | Y | 16 | 汇付分配的商户号 |
mer_ord_id | 商户订单号 | String | Y | 128 | 商户生成 |
hf_seq_id | 汇付流水号 | String | N | 128 | |
trans_type | 交易类型 | String | Y | 见附录 交易类型 | |
trans_amt | 交易金额 | String | Y | 12 | 交易金额 |
settlement_amt | 结算金额 | String | Y | 16 | 结算金额 |
wx_response | 微信返回的响应报文 | JSON | N | 微信异步报文内容 | |
alipay_response | 支付宝返回的响应报文 | JSON | N | 支付宝异步报文内容 | |
unionpay_response | 银联返回的响应报文 | JSON | N | 银联异步报文内容 | |
acct_split_bunch | 分账串 | JSON | N | 4000 | 见附录 返回分账串 |
is_delay_acct | 是否延时交易 | String | N | 1 | 1:延时交易 ; 0:非延时交易; |
is_div | 是否分账交易 | String | N | 1 | 1:分账交易 ; 0:非分账交易; |
acct_date | 账务日期 | String | Y | 8 | ACCT账务日期,yyyyMMdd |
fee_amount | 手续费金额 | String | Y | 16 | 手续费金额 |
fee_flag | 手续费扣款标志 | int | Y | 1:外扣; 2:内扣 | |
notify_type | 通知类型 | int | Y | 1:通道通知,2:账务通知 | |
trans_stat | 交易状态 | String | N | 1 | I:初始、P:处理中、S:成功、F:失败 |
acct_stat | 账务状态 | String | N | 1 | I:初始、P:处理中、S:成功、F:失败 |
bank_code | 通道返回码 | String | N | 32 | |
bank_message | 通道返回描述 | String | N | 200 | |
out_trans_id | 微信支付宝订单号 | String | N | 64 | |
party_order_id | 支付凭证号 | String | N | 64 | |
end_time | 支付完成时间 | String | N | 14 | 支付完成时间,格式为yyyyMMddHHmmss,如2009年12月25日 9点10分10秒表示为20091225091010 |
debit_flag | 借贷标识 | String | N | 1 | 见附录 借贷标识 |
trans_time | 交易时间 | String | N | 14 | 支付完成时间,格式为yyyyMMddHHmmss |
out_ord_id | 外部订单号 | String | N | 50 | |
devs_id | 汇付终端号 | String | N | 32 | |
posp_seq_id | 凭证号 | String | N | 6 | |
remark | 备注 | String | N | 45 | |
mer_priv | 商户私有域 | String | N | 1024 | 原样返回 |
auth_no | 授权码 | String | N | 64 | |
fq_mer_discount_flag | 分期贴息类型 | int | N | 分期贴息类型,1:商户贴息 | |
dc_response | 数字货币返回响应参数 | String | N | 以下字段当业务返回码=00时有返回, 数字货币内容 | |
wx_user_id | 微信用户唯一标识码 | String | N | 128 | 微信用户唯一标识码;259号文新增字段 |
mer_dev_location | 商户终端定位 | jsonObject | N | Json格式 ;详见 259号文新增字段 |
请求示例¶
{
"sign_type":"RSA2",
"sys_id":"ACWILL",
"sign": "kP0YeT3BxIRpc0SsrCLRh6ZCKDk/nvJhCCIHb4MSuJacEvkeK8H7QPG+uGegrC92HWtHxFYeoh2csH4sy7IQG9EC1Dh0aKC+r5j/GXb014ZqQBksVMtsSXJpe5JcbMIHfLgdgfWn3SvMsI8Co2BxseC6mC4VQHZDcAc0upoJwqhpsibzm1d+dFVKkLUL5veO1uNhXhPdYx6VSQJbj9MFCh5Vrkf1yc/lvLqGLm5E1ZJjHovMJLNrIBodGkKXO8vB7JtWoTqDN+0eVZFjp9nVO1b7F3CtMABarcpw+v13FjOMAmpkF1ZiYOaHFvHGIaWCVbOvLn2dVXQZsWTCwQvWmA==",
"data": "{\"devs_id\":\"SPINTP320939500790581\",\"goods_desc\":\"测试商品\",\"huifu_id\":\"6666000101234567\",\"mer_ord_id\":\"20210322242839189460627456W\",\"notify_url\":\"virgo://http://xxx.com/callback\",\"product_id\":\"test\",\"req_date\":\"20210322\",\"req_seq_id\":\"page01242839207519723520\",\"risk_check_info\":\"{\\"riskMngInfo\\":{\\"subTradeType\\":\\"4300\\"},\\"ipAddr\\":\\"139.207.19.246\\"}\",\"sub_openid\":\"oJVd2uA7J6yQvx-tUP_xz\",\"terminal_device_info\":{\"device_ip\":\"139.207.19.246\",\"device_type\":\"1\",\"devs_id\":\"SPINTP320939500790581\"},\"time_expire\":\"20210322172803\",\"trade_type\":\"T_JSAPI\",\"trans_amt\":\"9.00\",\"wx_data\":{\"openid\":\"oJVd2uA7J6yQvx-tUP_jSydcX0zA\",\"sub_appid\":\"wxec280d4c8a1cc2ca\"}}"
}
响应示例¶
{
"resp_code":"10000",
"resp_desc":"成功调用",
"data":"{\"acctStat\":\"I\",\"bank_code\":\"SUCCESS\",\"bank_message\":\"成功\",\"hf_seq_id\":\"002900TOP2A210322172603P866ac132fcd00000\",\"huifu_id\":\"6666000101234567\",\"mer_ord_id\":\"20210322242839189460627456W\",\"payInfo\":\"{\\"appId\\":\\"xxxx\\",\\"timeStamp\\":\\"1616405164\\",\\"nonceStr\\":\\"825c00cef333490a804b192086f90b3b\\",\\"package\\":\\"prepay_id=wx22172604180910e4495d56c49e00210000\\",\\"signType\\":\\"RSA\\",\\"paySign\\":\\"vB5F1hCmTraUqdMXnIrsIoYVKX3xrAFQ0l2uE8KM6cuiaZV/9XcMoEd+s40vW2KHtsamtGouLVQEPeNUnkxV/PEP70cthvKTqb7Bcuqi6wgGjRNKYIVveVSGqIh86UO5zcRWCwYsO982Pc3lQDFtXCmqIn6LaYjayGZbsNg55Zy2Gp1DCUD+STwGsTJJgeI15vAAO3IHJuC4POVehh/pVB9mkMAVptByZ/LyMkOWySUE2Vkvp/W+e24ntCAFBHXlWrhgkNtBesOSBvZ04gTwbSCFeavbDO1lF8ABXhLlBY7JKojYhYwJEibm7QIZgXGNhoFqoYSBkJYfdT9wAbkRBA==\\"}\",\"product_id\":\"test\",\"req_date\":\"20210322\",\"req_seq_id\":\"page01242839207519723520\",\"settlement_amt\":\"9.00\",\"sub_resp_code\":\"00000100\",\"sub_resp_desc\":\"交易正在处理中 cashCode:000 cashDesc:成功\",\"trade_type\":\"T_JSAPI\",\"trans_amt\":\"9.00\",\"trans_stat\":\"P\",\"wx_response\":{\"payInfo\":\"{\\"appId\\":\\"xxxx\\",\\"timeStamp\\":\\"1616405164\\",\\"nonceStr\\":\\"825c00cef333490a804b192086f90b3b\\",\\"package\\":\\"prepay_id=wx22172604180910e4495d56c49e00210000\\",\\"signType\\":\\"RSA\\",\\"paySign\\":\\"vB5F1hCmTraUqdMXnIrsIoYVKX3xrAFQ0l2uE8KM6cuiaZV/9XcMoEd+s40vW2KHtsamtGouLVQEPeNUnkxV/PEP70cthvKTqb7Bcuqi6wgGjRNKYIVveVSGqIh86UO5zcRWCwYsO982Pc3lQDFtXCmqIn6LaYjayGZbsNg55Zy2Gp1DCUD+STwGsTJJgeI15vAAO3IHJuC4POVehh/pVB9mkMAVptByZ/LyMkOWySUE2Vkvp/W+e24ntCAFBHXlWrhgkNtBesOSBvZ04gTwbSCFeavbDO1lF8ABXhLlBY7JKojYhYwJEibm7QIZgXGNhoFqoYSBkJYfdT9wAbkRBA==\\"}\",\"resultCode\":\"SUCCESS\"}}",
"sign":"ixo6gYmN3+OqWxPOg9HG/CoyTzsyASWxPAW1eQEtHvUEx4VrXbc+rjwYBQ3qmAwe3xEurD4Y8YnpgOl7f7fCD71GyNuUDdK92goZ58FFbj11RU+WYjfee75AAk3H/C3eew8iJvyyTp924AFunyt5t30x9bLF1GF9l43ztuBV9ttYirJ2mjc67NWxOlbFrTwfeTn4HA5GhL4WeN3yd+RH7kzbbMQkqps9tM52zCdrJmVyht1LwIFMqKAvA5/cZvDOZzYr3T0ErrYQZLIcKP3oEIKUYKhFmKe2q8s38ybf8Ih9drDAkRpLLyGwnb1RRZ1rO45JdU1uG+VZ29g3jqTTxg=="
}
- 接口调用实例