支付坑的故事 -最主要的是微信 ,以下都是自己的思考得来的,难免有不足之处。如有错误,欢迎给位批评指正!也可在下面留下你的QQ 咱们一起讨论问题!
总结:楼主感觉微信支付是最坑人的-没有之一!
1:微信支付步骤如下:微信支付原理:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_3
统一下单接口:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=9_1 可以查看那些是必须参数,那些是非必须参数!需要注意的是:加密规则 加密规则 加密规则!请点击进去详细阅读。还有支付的单位都是元。
微信公众平台支付接口调试工具URL:https://pay.weixin.qq.com/wiki/tools/signverify/ 可以在这验证你的参数是否正确。
2:客户端支付分为两种方式
1:客户端自己调用统一下单接口 ,然后在客户端本地进行签名加密,然后调起微信支付。
2:后台服务器(这里直自己APP的后台)调用统一下单接口,APP调用一个接口,直接返回支付需要的
这六个字段。
总结:在2015年12份左右的demo中,很明确的表示第一种方式不建议在用(当然也可以用)。大部分都用第二中方式。
原因:第一种方式支付的缺点如下:
1 :第一种方式暴露了APPID 和partnerId (商户API密钥)、MCH_ID商户号。APP_SECRET这个没用!!不安全。毕竟抓包以及破译还是存在的。再者不需要进行签名和加密了!
2 :第一种支付方式发起支付需要和服务器交互三次,用户体验太差。和微信后台一次(统一下单)、和自己的后台交互两次(一次传递给后台生成的预支付Id和参数,一次支付之后 支付状态的获取。)
第二方式优点如下:
1:后台进行签名和加密,这样不会暴露上面的关键字段。客户端也剩下进行签名和加密的步骤了。
2:交互次数减少位两次,也符合用户体验。
总结 :最主要是为了安全考虑!
3:常见的错误:
/*我先整理总结一下在发*/