Java 支付对接之微信/支付宝扫码支付(也就是H5支付)
寫在前面:
具體對接請參考接口文檔,對接文檔寫的會更詳細,本文只探討支付實現思路
支付流程:
基本上支付功能的對接都差不多,我把它簡化為3步:
支付實現流程:
這一步可以按需求設計,我這邊是設計一個二維碼,也可以使用其他方式誘導用戶進入獲取賬單信息
在獲取賬單信息的同時調用支付微信/支付寶提供的統一下單接口,獲取支付URL
在調用統一下單接口時除了商品的基本信息外還需要生成一個支付訂單號,每個支付訂單都必須有一個唯一的訂單號,支付成功會原樣返回,用于確保訂單的唯一性;并且需要上傳商戶收費賬單號,支付成功回調時也會原樣返回,用于確認賬單支付狀態。
在支付成功異步回調的接口中拿到回調數據后:
第一步,先驗簽,先判斷回調數據是否合法;
第二步,拿到支付訂單號(每一筆支付訂單都有唯一的訂單號),用于判斷是否重復回調,因為有可能因為網絡等原因,會重復收到支付成功通知;
第三步,保存支付成功回調信息,每一個支付完的信息都要保存好,方便后續查看,并且要用于判斷是否重復回調;
第四步,拿到回調信息中商戶訂單號,也就是調用統一下單接口時上傳的收費賬單號,拿到收費賬單號后調出未支付收費賬單并修改支付狀態,以及處理一下需要支付完成后才能執行的操作,比如說開閘。
最后,業務處理結束后記得再回復“SUCCESS",因為如果你沒有回復接收成的話他們會誤以為你沒有收到,然后再給你發一次。
總結 :
一、對支付第三方的理解
- 對接支付第三方實際上就是兩個平臺之間的交互,支付平臺需要知道商品的基本信息及商品的價格,商戶平臺需要知道訂單的支付狀態、支付金額及支付時間
二、對支付的理解
- 連接起兩個平臺的其實就兩個接口:一個是支付平臺提供的統一下單接口,一個是商戶平臺提供的支付成功回調接口;兩個接口都完成才算是一次完整的支付
總結
以上是生活随笔為你收集整理的Java 支付对接之微信/支付宝扫码支付(也就是H5支付)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UG NX 12 内部草图和外部草图的区
- 下一篇: 软件工程英文释义