这几天在做chinapay的接口整合,银联的文档写得太烂,代码规范也不行,给用户带来不便就不多说,废话少说了,整理一下碰到的一些文档中没有强调的问题或者容易忽视的问题。
一、注册ChinaPay.dll这个文件
如果想调用银联的接口,必须在机器上配置好环境:运行窗口中 regsvr32 ChinaPay.dll的绝对路径。
二、后台响应地址(即要配置的BgRetUrl)需要用外网的地址才能获取到支付成功后返回的数据
由于开发在本地测试,刚开始使用本地localhost的链接,结果接收不到支付成功后返回的数据,困扰了我好久。
三、验证数字签名的方法返回的不是布尔,是字符串的true或false
Com类型信息转换为.NET元数据tlbimp ChinaPay.dll /out: ChinaPay_tsl.dll后,并不是像文档中说的那样返回的布尔值,返回的是字符串。
四、支付版本号问题
808080开头的商户用此版本“20040916”。
五、支付成功后返回的数据要判断状态
对返回的数据除了要进行数字签名验证外,还需要进行状态的判断,如if(Request["status"]==”1001”){}