支付坑的故事 -最主要的是微信 ,如下都是本身的思考得來的,不免有不足之處。若有錯誤,歡迎給位批評指正!也可在下面留下你的QQ 我們一塊兒討論問題!php
總結:樓主感受微信支付是最坑人的-沒有之一!api
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 服務器
請仔細閱讀官方文檔! 查看那些是必須參數,那些是非必須參數!須要注意的是:加密規則 加密規則 加密規則!請點擊進去詳細閱讀。還有支付的單位都是元。微信
微信公衆平臺支付接口調試工具:https://pay.weixin.qq.com/wiki/tools/signverify/ 能夠在這驗證你的參數是否正確。app
2:客戶端支付分爲兩種方式微信公衆平臺
1:客戶端本身調用統一下單接口 ,而後在客戶端本地進行簽名加密,而後調起微信支付。工具
2:後臺服務器(這裏直本身APP的後臺)調用統一下單接口,APP調用一個接口,直接返回支付須要的微信支付
這六個字段。加密
總結:在2015年12份左右的demo中,很明確的表示第一種方式不建議在用(固然也能夠用)。大部分都用第二中方式。
緣由:第一種方式支付的缺點以下:
1 :第一種方式暴露了APPID 和partnerId (商戶API密鑰)、MCH_ID商戶號。APP_SECRET這個沒用!!不安全。畢竟抓包以及破譯仍是存在的。再者不須要進行簽名和加密了!
2 :第一種支付方式發起支付須要和服務器交互三次,用戶體驗太差。和微信後臺一次(統一下單)、和本身的後臺交互兩次(一次傳遞給後臺生成的預支付Id和參數,一次支付以後 支付狀態的獲取。)
第二方式優勢以下:
1:後臺進行簽名和加密,這樣不會暴露上面的關鍵字段。客戶端也剩下進行簽名和加密的步驟了。
2:交互次數減小位兩次,也符合用戶體驗。
總結 :最主要是爲了安全考慮!
3:常見的錯誤:
/*我先整理總結一下在發*/