BJOURNAL DN SUCCESS 银行流水号 手机号码 支付成功标志 30 11 1 Y N 确定 Y Y :成功,N: 失败,U : 交易不Y SIGNBANK USERNAME 银行系统出具的电子签名 客户姓名 256 50 N 此字段默认不返回;如需返回,需要联系分行在商户管理平台配置客户信息返回开关。 USERACO 30 支付账号 N 此字段默认不返回;如需返回,需要联系分行在商户管理平台配置客户信息返回开关。 站点间接口的参数传送仍然采用普通的URL方式,信息包含在CGI参数,具体如下所示:
xxx.xxx.xxx/CGI?
MERCHANTID=105110040111005&POSID=000000000&BRANCHID=110000000&ORDERID=23423423&PAYMENT=12.22&REMARK1=&REMARK2=&BJOURNAL=000000372737&DN=13480220560&SUCCESS=Y&SIGNBANK=0d776764b7c7dd16ee8dcfb6343d79736b71a20d
27211dc1a42deaf567b66df842f790555351d0c319c6973c192bd6a1b8b14e2df6c6c1ecbc02074117974e95be376fb61f4f931ee8b8e72ec923d23c704c08666fa769954698c9d5d96ec40672257f881a34166ffa076d18d03b36572ca9721b65db542e32efc2fc93b1d66b
注:?前的URL为商户在建行商户管理平台中设置的服务器通知商户的URL地址参数,商户管理平台中前端通知商户地址和服务器通知商户的URL地址和通知商户验证程序必须要配置(可和设置的服务器URL参数一样)。
手机支付平台签名由以下字段顺序连接起来成一字符串,然后通过约定的算法对该串进行计算得出:
MERCHANTID + ORDERID + PAYMENT + BJOURNAL + SUCCESS
注:字符串中变量名必须是大写字母。(案例参照下面“通知商户验证程序.rar”中SignServ.java)
通知商户验证程序.zip
4 附录1:数字签名算法说明
银行将客户支付信息实时通知给商户时,使用的数字签名算法是MD5withRSA算法。商户验证签名的公钥是商户在网银系统开户、获取数字证书后,登录到网银系统中,通过下载公钥交易获取。
商户获取的公钥用X.509格式表示,并且将其按照每4位(bit)转换为一个16进制数的方式表示,产生16进制的字符串。
网上银行使用标准MD5withRSA算法对给商户的响应进行签名,产生1024位(bit)的签名结果,并且将其按照每4位(bit)转换为一个16进制数的方式表示,形成16进制的字符串,长度为256。
下面是对签名结果的表示方式的描述:
对1024位的交易结果按4位为一个单位进行划分,共获得256段 将每段看成一个16进制数,如0011为0X3,1101为0Xd。
将这个数映射到ASCII码表,形成相应的字符,如0X2为“2”,0Xd为“d”。 将这些字符连成一个字符串,长度为256。 例如:
参与签名运算的字符及其顺序如下
MERCHANTID + ORDERID + PAYMENT + BJOURNAL + SUCCESS
MERCHANTID=105110040111005&ORDERID=23423423&PAYMENT=12.22&BJOURNAL=000000372737&SUCCESS=Y
注:字符串中变量名必须是大写字母。
签名结果为:
0d776764b7c7dd16ee8dcfb6343d79736b71a20d27211dc1a42deaf567b66df842f790555351d0c319c6973c192bd6a1b8b14e2df6c6c1ecbc02074117974e95be376f
b61f4f931ee8b8e72ec923d23c704c08666fa769954698c9d5d96ec40672257f881a34166ffa076d18d03b36572ca9721b65db542e32efc2fc93b1d66b
当商户获得支付结果后,从中获取签名(格式如上)和需签名的原文。商户端程序(商户自行开发MD5withRSA签名校验程序)将签名和商户端的公钥转换成二进制格式,与签名的原文一起对签名的正确性进行校验,校验步骤如下:
1)使用公钥进行签名的逆运算 2)使用标准MD5算法运算原文
3)比较1)、2)结果。具体可参照“通知商户验证程序.rar”中SignServ.java
5技术支持联系人
建行联系人:劳醒苟 联系电话:020-83017405 联系人邮箱:
公司联系人:阳云 联系电话:020-83017373 联系人邮箱: