银联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  

网联扩展信息

参数 中文名 类型 必填 最大长度 说明
goods_short_name 商品简称 String Y 40 不能包含特殊字符
biz_tp 业务种类 String Y 6 业务种类

响应参数

  • 同步失败响应参数(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=="
}

接口调用示例

Demo参考