//从首页传过来
= 要求。("");
= 要求。("");
地图=new();
/***银联全渠道系统,产品参数,除自行选择外无需修改***/
。放(””, 。); //版本号,全渠道默认值
。放(””, 。); //字符集编码,可以使用UTF-8或GBK。
。放(””, 。()。()); //签名方法
.put("", "01"); //交易类型,01:消费
.put("", "01"); //交易子类型,01:自助消费
。放(””, ””); //业务类型:B2B
.put("", "07"); //通道类型固定为07
/***商户接入参数***/
。放(””, ); // 商户号,请修改为您申请的正式商户号或open注册的777测试商户号
.put("", "0"); //接入类型,0:直连商户
。放(””,。()); //商户订单号,8-40位数字和字母,不能包含“-”或“_”,可以自行自定义规则
。放(””, 。()); //订单发送时间,取系统时间,格式为,必须取当前时间,否则会报无效
.put("", "156"); //交易币种(国内商户一般为人民币156元)
。放(””, ); //交易金额,单位分,无小数点
//前台通知地址(需要设置允许外网访问http)。 支付成功后点击页面“返回商户”按钮时,会向该地址发布异步通知消息。
//如果您想在几秒内自动跳转回商户页面,您需要联系银联业务申请自动返回商户页面。
//异步通知参数详细信息请参见帮助中心下载产品接口规范。 网关支付产品接口规范。 消费交易商户通知。
。放(””, 。);
//后端通知地址(需要设置为【外部网络】并且可以访问http)。 支付成功后,银联会自动向商户提交的地址发布异步通知消息。 银联不会对交易失败发送后台通知。
//后台通知参数详细信息请参见帮助中心下载产品接口规范。 网关支付产品接口规范。 消费者交易商家通知。
//注意:1、需要设置为可以从外网访问,否则收不到通知 2、可以使用HTTP 3、收到后台通知后,需要在10秒内返回或者302状态代码
// 4、如果银联通知服务器发送通知后10秒内没有收到返回状态码或无响应码,银联将在一段时间后再次发送。 共发送5次,每次间隔时间为0、1、2、4分钟。
// 5.如果发送的话,后台通知地址是多少?参数,例如:后台通知处理程序验证签名之前,需要编写逻辑去掉这些字段,然后验证签名,否则签名验证失败。
。放(””, 。);
//实现网银预定位的方法:
//发送字段。 该字段取值参考《平台接入接口规范第五部分附录》(全渠道平台银行名称-短码对照表) 2)联系银联营业部激活商户号网银字冠权限
//.put("", "ABC"); //发卡机构代码
// 订单超时。
//超过该时间,除网银交易外,银联系统将拒绝接受其他交易,并提示超时。 超时后若重定向银行网银交易成功,将自动退款,并在5个工作日左右将金额退回持卡人账户。
// 建议这个时间为支付时的北京时间加15分钟。
// 如果查询接口响应超过超时时间且不是A6或00,则可以判断为失败。
.put("", new ("").(new Date().() + 15 * 60 * 1000));
//请求者保留域,
// 透明传输字段将按原样显示在查询、通知和对帐文件中。 如有需要,请开启并修改您想要透传的数据。
// 一些特殊字符可能会影响解析。 请填写以下建议方法:
// 1、如果可以确定内容中不会出现&={}[]"'等符号,则可以直接填写数据,推荐方法如下。
//.put("", "透传信息1|透传信息2|透传信息3");
// 2、当内容中可能出现&={}[]"'符号时:
// 1) 如果需要在对帐文件中显示,可以将字符替换为全角&={}[]"'字符(代码自己写,这里不演示);
// 2)如果对账文件没有显示要求,可以这样做(如下)。
// 注意控制数据长度。 实际传输的数据长度不能超过1024位。
// 解析查询、通知等接口时使用new(.(),.); 然后进行后续的数据解析。
//.put("", .("可接受任何格式的信息".().(.)));
/**请求参数设置完毕后,下面会对请求参数进行签名并生成html表单,将表单写入浏览器并跳转打开银联页面**/
地图=.sign(,.); //消息中的值是在方法中获取并自动赋值的,只要证书配置正确。
= .().(); //获取请求的银联前端地址:对应的属性文件。 在文件中。
html = .(,,.); //生成自动跳转的Html表单
.("打印请求HTML,这是请求消息,是联查排查的依据:"+html);
//将生成的html写入浏览器自动跳转打开银联支付页面; 调用这里后,html中表单项的名称和值无法修改,直到浏览器跳转到银联页面。 ,如果修改,签名验证将失败。
分别。().(html);