银联APP支付接口¶
本API为后台版接口,用于商户的移动端支付场景,通过调用SDK唤起银联支付界面,用户可选择手机中预装的银行APP进行支付
请求参数¶
- 请求地址
https://spin.cloudpnr.com/top-online-ser/unionpay
- 公共请求参数
请求报文头HEADER - 「接口规则-参数规定-报文头」 ,请求报文体BODY - 「接口规则-参数规定-报文体」 ,响应报文体 - 「接口规则-参数规定-响应报文体」
- 请求参数(data)
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
请求流水号 | req_seq_id | 变长64位String | 必须 | |
请求日期 | req_date | 定长8位String | 必须 | 请求时间YYYYMMDD |
产品号 | product_id | 变长32位String | 必须 | |
商户号 | huifu_id | 变长32位String | 必须 | |
交易银行卡卡号 | pay_card_ | 变长1024位String | 必须 | 交易银行卡卡号-密文(公私钥) |
订单金额 | trans_amt | 变长12位String | 必须 | 订单金额,单位元,需保留小数点后两位,例如:1.00,最低传入0.01 |
异步通知地址 | mer_notice_url | 变长512位String | 可选 | virgo://#{http_server_url} 例:virgo://http://www.xxx.com/getResp |
页面跳转地址 | front_url | 变长120位String | 可选 | 支付成功后,前端跳转地址 https://www.xxx.com/getResp |
订单有效期 | time_expire | 固定14位String | 可选 | 订单失效时间 YYYYMMDDHHMMSS格式 |
支付卡类型 | pay_card_type | 固定2位String | 必须 | 支付卡类型:01 :借记账户,02 :贷记账户,04 :借贷综合 |
卡号锁定标识 | card_number_lock | 固定1位String | 可选 | 卡号锁定标识,如果上送卡号,取值为1时,表示锁定卡 |
直通模式的银行标识 | ebank_en_abbr | 固定1位String | 可选 | 目前支付以下银行:CCB :中国建设银行,CNCB :中信银行手机银行,CEB :光大银行手机银行,PAB:平安口袋银行 |
订单详情 | order_desc | 固定1位String | 可选 | 订单详情,可填写商品名称,最大64个字符 |
商户私有域 | mer_priv | 变长1024位String | 可选 | |
分账串 | acct_split_bunch | JSON | 可选 | 请求分账串 |
设备信息 | device_info | String | 必须 | 设备信息 |
网联扩展信息 | nacl_info | String | 必须 | 网联扩展信息 |
风控信息 | risk_check_info | 变长4000位String | 必须 | jsonstring, 风控信息 |
设备信息¶
参数 | 中文名 | 类型 | 必填 | 最大长度 | 说明 |
---|---|---|---|---|---|
device_type | 设备类型 | String | Y | 2 | 01:手机,02:平板,03:手表,04:PC |
device_ip | 交易设备IP | String | Y | 45 | 用于标识交易设备IP地址,目前暂传IPv4格式 |
device_mac | 交易设备MAC | String | N | 12 | 去掉特殊的连接符号,如冒号、连接符 |
device_imei | 交易设备IMEI | String | N | 15 | |
device_imsi | 交易设备IMSI | String | N | 15 | |
device_icc_id | 交易设备ICCID | String | N | 20 | |
device_wifi_mac | 交易设备WIFIMAC | String | N | 12 | |
device_gps | 交易设备GPS | String | N | 23 |
响应参数¶
- 同步失败响应参数(resp_data)
仅传business_url且校验失败场景返回
sub_resp_code | 返回码 | String | Y | 8 | 业务返回码 |
sub_resp_desc | 返回描述 | String | Y | 512 | 业务返回描述 |
req_seq_id | 请求流水号 | String | Y | 64 | |
req_date | 请求日期 | String | Y | 8 | |
hf_seq_id | 汇付流水号 | String | N | 128 | |
product_id | 产品号 | String | Y | 32 | |
huifu_id | 商户号 | String | Y | 32 | |
trans_amt | 交易金额 | String | N | 12 | 订单金额,单位元,需保留小数点后两位,例如:1.00,最低传入0.01 |
mer_priv | 商户私有域 | String | N | 1024 | |
notify_sync_url | 同步跳转的地址 | String | N | 4096 | 同步跳转的地址 |
channel_type | 支付渠道类型 | String | N | 1 | 支付渠道类型:U:银联 |
bank_order_no | 支付渠道订单编号 | String | N | 32 | 汇付发往银行(银联)的订单编号,即银联流水号 |
bank_code | 银行返回码 | String | N | 32 | |
bank_message | 银行返回信息 | String | N | 32 | |
union_order_no | 银联受理订单 | String | N | 32 | 银联受理订单,银联移动支付系统返回该流水号,调用支付控件时使用 |
- 异步响应参数(resp_data)
参数 | 中文名 | 类型 | 必填 | 最大长度 | 说明 |
---|---|---|---|---|---|
sub_resp_code | 返回码 | String | Y | 8 | 业务返回码 |
sub_resp_desc | 返回描述 | String | Y | 512 | 业务返回描述 |
req_seq_id | 请求流水号 | String | Y | 64 | |
req_date | 请求日期 | String | Y | 8 | |
product_id | 产品号 | String | Y | 32 | |
huifu_id | 商户号 | String | Y | 32 | |
trans_amt | 交易金额 | String | N | 12 | |
is_delay_acct | 是否延时分账 | String | N | 1 | 0:实时;1:延时 |
is_div | 是否分账交易 | String | N | 1 | 0:非分账交易;1:是分账交易 |
fee_flag | 手续费扣款标志 | String | N | 1 | 1:外扣;2:内扣 |
trans_stat | 交易状态 | String | N | 1 | I:处理中,P:处理中,S:成功,F:失败 |
mer_priv | 商户私有域 | String | N | 1024 | |
notify_sync_url | 同步跳转的地址 | String | N | 4096 | 同步跳转的地址 |
channel_type | 支付渠道类型 | String | N | 1 | 支付渠道类型:U:银联 |
bank_order_no | 支付渠道订单编号 | String | N | 32 | 汇付发往银行(银联)的订单编号,即银联流水号 |
bank_code | 银行返回码 | String | N | 32 | |
bank_message | 银行返回信息 | String | N | 32 | |
union_order_no | 银联受理订单 | String | N | 32 | 银联受理订单,银联移动支付系统返回该流水号,调用支付控件时使用 |
pay_card_no | 交易银行卡卡号 | String | N | 1024 | 交易银行卡卡号-密文(公私钥) |
mer_priv | 商户私有域 | String | N | 1024 | |
acct_split_bunch | 分账串 | JSON | N | 返回分账串 |
请求示例¶
java
{
"data":"{\"req_seq_id\":\"20210916120120P1GRAY000481\",\"req_date\":\"20210916\",\"product_id\":\"JCTEST\",\"huifu_id\":\"6666000103423237\",\"trans_amt\":\"2.00\",\"mer_notice_url\":\"virgo://http://www.baidu.com\",\"front_url\":\"http://www.baidu.com\",\"pay_card_no\":\"\",\"pay_card_type\":\"01\",\"card_number_lock\":\"\",\"ebank_en_abbr\":\"\",\"order_desc\":\"银联收银台统一支付\",\"mer_priv\":\"商户私有域\",\"time_expire\":\"\",\"acct_split_bunch\":\"\",\"risk_check_info\":\"{\\\"ip_addr\\\":\\\"127.0.0.1\\\",\\\"latitude\\\":\\\"1222\\\",\\\"longitude\\\":\\\"122\\\",\\\"base_station\\\":\\\"12221\\\",\\\"risk_mng_info\\\":{\\\"sub_trade_type\\\":\\\"4300\\\"}}\"}",
"sign":"kc+9Q6otpa3G0p+a5RafJZYzMwPUnZBdusHvwh2JMtmr79mSoB01UleJHuZkN28MXBDLCOaxOE2Hhbb0yGvHh/KKfKHycslfrb6l3viZnizQVQhx8UX8tjenXvKGyCmOscp2hu+kT25jNd1KkOaZrBCt1t9iuFdi2Xg4y0hoM4pzKAByEbvb4YINBKsTsyAUBITZVnADdRLAy4m53MP0esXWM932XWzgI+OfG2jrlJ+H6PeUUB0UBdDTsuMk3UzI/6eqhFN+c+SQ+DOZCeNNt+VAb/3fHuyGaf/LlOHOVeF3aazt1nc5fhdueh6Kz/aLpRkyko9aR5UyUqZceuc28g==",
"sign_type":"RSA2",
"sys_id":"JCTEST"
}
响应示例¶
java
{
"data":"{\"bank_code\":\"03110006\",\"bank_message\":\"调用PNRPAYWEB接口失败\",\"hf_seq_id\":\"0047default210916103647P974c0a855d100000\",\"huifu_id\":\"6666000103423237\",\"product_id\":\"JCTEST\",\"req_date\":\"20210916\",\"req_seq_id\":\"20210916120120P1GRAY000481\",\"sub_resp_code\":\"90000000\",\"sub_resp_desc\":\"调用PNRPAYWEB接口失败\",\"trans_amt\":\"2.00\",\"trans_stat\":\"P\"}",
"resp_code":"10000",
"resp_desc":"成功调用",
"sign":"ikRUchSKflZGyJ4q+i+Mw/+4EONj0OkK5DcZGt9jjTcSjoqyqt4IPPZBt7ngJdwdOEEg2uSHK1bvgnt2SHFmf6uGuqtE4Xk8vUYD6EkH7aM15sL+PNLFCOkFUamQE4OzfuCJXquGX3MvDj4r9OUwj7ygEu8Q/ymexS/l+BaZW7JEISPdmK3ImPjfW2PU1IVN6R0HAx2vCaXOcxXjrGXLz8FKfZ5OG1ltcvhi/31WQNp8DhHCDL4u+auMpYoJ7X5jeeuI26g1XSZDVWWNrdiERIup3lPJJrEeaKL2fH5MBmbDGXJyYDWadiQXLW65G804Eob0tOSQi6IVG51QJZFfXQ=="
}