手机网页支付

本API为后台版接口,用于商户进行移动端的网银支付及充值,用户付款银行卡需要预先在银行网银或柜面开通在线支付功能才可进行支付,form_html字段返回银行提供的html,由商户自行展示,同时可以承接普通消费和分期消费交易。

涉及到的接口包括: 手机网页支付接口、 线上交易查询接口 、 线上交易退款接口、 线上退款查询接口。

请求参数

  • 请求地址

https://spin.cloudpnr.com/top-online-ser/wapPay

  • 公共请求参数

请求报文头HEADER - 「接口规则-参数规定-报文头」 ,请求报文体BODY - 「接口规则-参数规定-报文体」 ,响应报文体 - 「接口规则-参数规定-响应报文体」

  • 请求参数(data)
参数中文名称 参数名称 数据格式 是否必须 说明
请求流水号 req_seq_id 变长64位String 必须  
请求日期 req_date 定长8位String 必须 YYYYMMDD
商户号 huifu_id 变长32位String 必须  
银行卡号 card_no 变长19位String 必须  
异步通知地址 mer_notice_url 变长512位String 必须 virgo://#{http_server_url} 例:virgo://http://www.xxx.com/getResp
页面跳转地址 business_url 变长512位String 必须 支付成功后,前端跳转地址 例:http://www.xxx.com/getResp 银行必填
失败页面跳转地址 business_fail_url 变长512位String 可选 支付失败时,页面跳转至商户该URL(不带交易信息,仅跳转)银行选填
订单金额 trans_amt 变长12位String 必须 订单金额,单位元,需保留小数点后两位,例如:1.00,最低传入0.01
订单有效期 time_expire 固定14位String 可选 订单失效时间 YYYYMMDDHHMMSS格式
分期期数 instalments_num 固定2位String 可选 03;06;12;24,不传不分期
分账串 acct_split_bunch JSON 可选 请求分账串
网联扩展信息 extend_pay String 必须 网联扩展信息
设备信息 device_info String 必须 设备信息
延时标记 is_delay_acct 固定1位String 可选 是否延时交易,1为延迟 0为不延迟
风控信息 risk_check_info 变长4000位String 必须 jsonstring,风控信息
商户私有域 mer_priv 变长1024位String 可选  

设备信息

参数 中文名 类型 必填 最大长度 说明
trx_device_type 设备类型 String Y 2 01:手机,02:平板,03:手表,04:PC
trx_device_ip 交易设备IP String Y 45 用于标识交易设备IP地址,目前暂传IPv4格式
trx_device_mac 交易设备MAC String N 12 去掉特殊的连接符号,如冒号、连接符
trx_device_imei 交易设备IMEI String N 15  
trx_device_imsi 交易设备IMSI String N 15  
trx_device_icc_id 交易设备ICCID String N 20  
trx_device_wifi_mac 交易设备WIFIMAC String N 12  
trx_device_gps 交易设备GPS String N 23  

网联扩展信息

参数 中文名 类型 必填 最大长度 说明
pyer_trx_trm_tp 付款方交易终端类型 String N 2 01:电脑,02:手机,03:平板设备,04:可穿戴设备,05数字电视,06条码支付受理终端,99其他
pyer_trx_trm_no 付款方交易终端编码 String N 32  
pyee_acct_id 收款方账户编号 String N 34  
pyee_nm 收款方账户名称 String N 60 不能包含特殊字符
pyee_acct_tp 收款方账户类型 String N 2 03:个人支付账户;04:单位支付账户
pyee_trx_trm_tp 收款方交易终端类型 String N 2 01:电脑,02:手机,03:平板设备,04:可穿戴设备,05数字电视,06条码支付受理终端,99其他
pyee_trx_trm_no 收款方交易终端编码 String N 32  
mer_type 商户类型 String N 2 01:法人,02:其他组织,03:个体工商户,04:自然人
mer_id_type 商户证件类型 String N 2 商户证件类型
mer_id_no 商户证件编码 String N 32  
mer_cat_code 商户行业类别 String N 4 商户行业类别
goods_short_name 商品简称 String N 40 不能包含特殊字符
biz_tp 业务种类 String N 6 业务种类

商户证件类型

meridType 备注
01 身份证
02 军官证
03 护照
04 户口簿
05 士兵证
06 港澳通行证
07 台湾通行证
08 临时身份证
09 外国人居留证
10 警官证
11 营业执照
12 组织机构代码证
13 税务登记证
14 统一社会信用代码证
99 其他

响应参数

  • 同步响应参数(data)
参数 中文名 类型 必填 最大长度 说明
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  
mer_priv 商户私有域 String N 1024  
form_encoding 页面字符集 String N   UTF-8、GBK等等
form_html 银行提交页面html String N 2048  
bank_order_no 银行订单流水号 String N 64  
bank_code 通道返回码 String N 65  
bank_message 通道返回描述 String N 256  
  • 异步响应参数(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  
hf_seq_id 汇付流水号 String N 128  
product_id 产品号 String Y 32  
huifu_id 商户号 String Y 32  
mer_priv 商户私有域 String N 1024  
trans_amt 订单金额 String N 12  
trans_stat 交易状态 String N 1 P:处理中,S:成功,F:失败
bank_id 银行代号 String N 8  
debit_flag 借贷标识 String N 1 D:借记;C:贷记
acct_split_bunch 分账串 JSON N   返回分账串
fee_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:内扣
bank_code 通道返回码 String N 8  
bank_message 通道返回描述 String N 128  
trans_type 交易类型 String Y   交易类型

交易类型

transType 备注
WAP_PAY 手机网页支付
WAP_PAY_INSTALLMENT 手机网页支付(分期)

请求示例

{
    "sign": "fjQseLBzYoKa03Ke10CtWSCSSRBrvP9HYAfR+8QaArOhHGRgprILcdG8gUiP5Gt0lsAaXnTMePWvw/xpqP5A2EqUyWuj0PEdnKRmaDf/Ri88DH3C1Q5cyuAFg7K8GOc+Yrr4jtlAI4UOSyoGgnjd6LYSLuKxaiudQT8IAxzgt/tsOK757s6wBll/59VPOAnB+W3HoWzHY72f2H8bw88ZFDSDkfIocsRUByII50bPR31Zx9GvabBZxMIzf7tuHW2GY1Ou8Sf8I3DlzqwvNedsMHVfzLxaH66TgpzxSG0XhHBNjlnB6ro57MlJCP+huDbNu9UBfewgvihj1mwW0IO0mQ==",
    "sign_type": "RSA2",
    "sys_id": "TEST",
    "data": "{\"req_seq_id\":\"20201221wap0005\",\"req_date\":\"20201221\",\"huifu_id\":\"6666000103124174\",\"card_no\":\"6226********0577\",\"trans_amt\":\"200.00\",\"instalments_num\":\"03\",\"mer_notice_url\":\"virgo://https://www.spin.com\",\"business_url\":\"virgo://aaab\",\"device_info\":\"{\\\"trx_device_ip\\\":\\\"172.0.0.1\\\",\\\"trx_device_type\\\":\\\"01\\\"}\"}"
}

响应示例

{
    "data": "{\"bank_order_no\":\"20210201155211o2glc0\",\"form_encoding\":\"UTF-8\",\"form_html\":\"<html><head><meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html; charset=UTF-8\\\"/></head><body><form id = \\\"pay_form\\\" action=\\\"https://gateway.95516.com/gateway/api/frontTransReq.do\\\" method=\\\"post\\\"><input type=\\\"hidden\\\" name=\\\"bizType\\\" id=\\\"bizType\\\" value=\\\"000201\\\"/><input type=\\\"hidden\\\" name=\\\"orderId\\\" id=\\\"orderId\\\" value=\\\"20210201155211o2glc0\\\"/><input type=\\\"hidden\\\" name=\\\"backUrl\\\" id=\\\"backUrl\\\" value=\\\"https://pnrpay-sit.cloudpnr.com/pnrpay/outer/bank/income/asyn/W1\\\"/><input type=\\\"hidden\\\" name=\\\"signature\\\" id=\\\"signature\\\" value=\\\"ob4EUHrqKz3EloEwzRpUnyYDoNwGwhMEJWAq2cnldKppQ4Ecn2zsB2ioh6FCbmfIYx5VMHAVemxKmHQOgV8KxFmjA2ow5f/adLcMZYjO9m9o42fJgzM1H7MRQkzVNL3YjEpIRicwH3Zjvc3BIFbDZb4/vyvH6ur5FFgk97Jm2v5D9uUwbBEvu00JjeNKxIq1rgW92dgLl0I0kDxboe9yAldtn671CIM3xIuVxWKj/HHdODRMhVmVpi7MGNIkXSeYH0CNvw61HXeGmZ2EJvfJZr7OM88TjGau9dJSCmtRjA11quAYb8gse07XcsGKkaYXvHPd8SmOneO9O2/telwoLA==\\\"/><input type=\\\"hidden\\\" name=\\\"merName\\\" id=\\\"merName\\\" value=\\\"(特约)Adamall-汇分期\\\"/><input type=\\\"hidden\\\" name=\\\"txnType\\\" id=\\\"txnType\\\" value=\\\"01\\\"/><input type=\\\"hidden\\\" name=\\\"channelType\\\" id=\\\"channelType\\\" value=\\\"08\\\"/><input type=\\\"hidden\\\" name=\\\"ctrlRule\\\" id=\\\"ctrlRule\\\" value=\\\"00010000000000000000000000000000\\\"/><input type=\\\"hidden\\\" name=\\\"accessType\\\" id=\\\"accessType\\\" value=\\\"0\\\"/><input type=\\\"hidden\\\" name=\\\"txnTime\\\" id=\\\"txnTime\\\" value=\\\"20210201155211\\\"/><input type=\\\"hidden\\\" name=\\\"riskRateInfo\\\" id=\\\"riskRateInfo\\\" value=\\\"{imei=null&macAddr=nu:ll&deviceType=1&sourceIP=172.0.0.1lbs=null}\\\"/><input type=\\\"hidden\\\" name=\\\"txnSubType\\\" id=\\\"txnSubType\\\" value=\\\"03\\\"/><input type=\\\"hidden\\\" name=\\\"accNo\\\" id=\\\"accNo\\\" value=\\\"6226880292910577\\\"/><input type=\\\"hidden\\\" name=\\\"instalTransInfo\\\" id=\\\"instalTransInfo\\\" value=\\\"{numberOfInstallments=03&instalRate=003500&mchntFeeSubsidy=003500}\\\"/><input type=\\\"hidden\\\" name=\\\"frontUrl\\\" id=\\\"frontUrl\\\" value=\\\"https://pnrpay-sit.cloudpnr.com/pnrpay/outer/bank/income/return/W1\\\"/><input type=\\\"hidden\\\" name=\\\"certId\\\" id=\\\"certId\\\" value=\\\"81663363089\\\"/><input type=\\\"hidden\\\" name=\\\"encoding\\\" id=\\\"encoding\\\" value=\\\"UTF-8\\\"/><input type=\\\"hidden\\\" name=\\\"version\\\" id=\\\"version\\\" value=\\\"5.1.0\\\"/><input type=\\\"hidden\\\" name=\\\"merAbbr\\\" id=\\\"merAbbr\\\" value=\\\"Adamall\\\"/><input type=\\\"hidden\\\" name=\\\"reserved\\\" id=\\\"reserved\\\" value=\\\"{cardNumberLock=1}\\\"/><input type=\\\"hidden\\\" name=\\\"merId\\\" id=\\\"merId\\\" value=\\\"823290048164293\\\"/><input type=\\\"hidden\\\" name=\\\"merCatCode\\\" id=\\\"merCatCode\\\" value=\\\"5331\\\"/><input type=\\\"hidden\\\" name=\\\"currencyCode\\\" id=\\\"currencyCode\\\" value=\\\"156\\\"/><input type=\\\"hidden\\\" name=\\\"txnAmt\\\" id=\\\"txnAmt\\\" value=\\\"20000\\\"/><input type=\\\"hidden\\\" name=\\\"signMethod\\\" id=\\\"signMethod\\\" value=\\\"01\\\"/></form><script type=\\\"text/javascript\\\">document.all.pay_form.submit();</script></body></html>\",\"hf_seq_id\":\"0047default210201155211P220c0a855d100000\",\"huifu_id\":\"6666000103124174\",\"product_id\":\"HUIFENQI\",\"req_date\":\"20201221\",\"req_seq_id\":\"20201221wap0005\",\"sub_resp_code\":\"00000100\",\"sub_resp_desc\":\"交易正在处理中\",\"version\":\"1.0.0\"}",
    "resp_code": "10000",
    "resp_desc": "成功调用",
    "sign": "f2rfZ2eY+7DPK4cHkxtPasxG5sMgmwGMCU28cv88U6vSzwpTDrUQgpESDfCT+drt+HQDOPHrA8g/wGYV5HwHAnRsiANF7jBGk/xQSfx6hD7f2my/493azFKARru3+5bX0ZPqc0LbhWSd412TMejX05s+7zdDWt2ys4lY7oxWIbXSFdEBJjah2y9drwvNU+rZGPktMgeyRokVMFVtp33C5HePWsKFoi0zGLptHpjyKKIkNO1Y6KoKXyTxjOxU1I3SR/3CC0L/j+CTrXHLvapudC2qt77LoCV070QUcZEkXAsQQT8Uh5KOWRSWU0mtQG/yliqYHAkAQ7odYDS+7amxHA=="
}

接口调用示例

Demo参考