常见充值方式介绍及对比

发表于:2012-7-06 09:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈太汉    来源:51Testing软件测试网采编

  1:银联充值

  1)环境部署

  安装NetPay4NTSetup.exe,将MerPrk.key和PgPubk.key两个文件放到C:\WINDOWS目录下,环境部署完成了。

  2)程序中要注意的问题

  最容易导致问题的就是生成加密串,这个加密功能是由银联提共的,调用Interop.CHINAPAYLib.dll中类CHINAPAYLib.NetPayClientClass的sign方法,由于这是对字符串进行加密,不同的字符串加密后的串是不一样的,所以要注意被加密字符前后是否有多余的空格,支付金额的位数,如果加密串生成有误,到银联那边肯定报参数有误的。充值成功后就是回调解密,解密调用的是CHINAPAYLib.NetPayClientClass的check方法,返回“0”表示成功,其他值表示失败。充值成功才能进行转点和发奖。

  3)还要注意的一个问题是充值金额

  充值金额是一个12位的字符串,以分作为单位,如000000001000表示10元,不能提交0元的订单。

  4)银联订单的大致流程:用户提交一个订单,将部分参数的值加在一起,按照一定的方式加密,将结果和其他参数POST到银联的指定地址,银联会对参数进行验证,如果验证通过则认为是合法的订单,用户可以开始支付,支付成功之后,银联会对两个地址发送请求,一个地址是前台显示页面(告诉用户支付成功),另一个页面则是逻辑功能页面,把用户买的东西给他,先还是验证订单是否合法,进一步确认用户是否已经支付,支付成功后就把东西给用户。并告诉银联已经把东西给用户了,如果出现问题,银联会隔一段时间再次发送请求,时间间隔会越来越大,一定时间过来不再发送请求,有时候银联那边也会出现问题,用户的钱扣了,但是没有向我们指定的页面发送请求,就只能联系银联让他们退钱,所有的支付流程大致都是这样的,只是不同的支付方式验证不一样。

  验证无非3种:

  (1)参数验证,参数的格式验证,加密串是否匹配

  (2)IP验证,只有双方约定的IP才能访问

  (3)订单的验证,验证订单是否支付

  1是必验证的,2||3=true就可,就怕为false,那样真的很不安全

  2:快钱充值

  1)环境部署

  环境就是为了解决加密解密问题。登录公司在快钱的账号,按照相关提示可以生成一个加密问题和一个解密问题,解密文件要上传到快钱上,因为我们加密后传过去的字符串他们要解密验证。我们的程序只用调用这个两个文件,生成订单的时候要调用加密文件,回调的时候要调用解密文件,这两个文件建议放在C盘的一个目录中,把他们的路径配在配置文件中共程序调用。IP验证是必须的,只能让指定的IP访问就安全多了,如果哪个牛人能突破IP的限制,或者构造虚假的IP,那就真的可以横冲直撞了。

  2)生成加密串注意的问题

  所有的参数都是先放到Dictionary中的,然后生成一个字符串,参数加入dictionary中的顺序千万不能改,改了就是不同的字符串了,加密后的字符串当然是不一样的。总之要确保加密和解密的参数的顺序是一样的。

  3)还要注意的一个问题是充值金额

  充值金额没有位数的限制,以分为单位,如1000表示10元,左边不能补0

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号