国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

小程序微信支付開發流程記錄

whjin / 2802人閱讀

摘要:附微信支付流程微信支付流程和小程序的支付流程基本一致,需要注意兩點需要在微信商戶平臺配置支付目錄,只有跳轉到了支付目錄的地址,才能發起微信支付。

我所在公司需要開發一款商城小程序,里面需要用到微信支付,我負責里面的下單功能,從小程序端到后臺的支付流程都是我自己開發的,由于我們組沒有人有開發微信支付的經驗,很多東西都還不怎么明白,但是沒辦法,只能我自己琢磨,寫完之后總感覺有bug,但是不知道該怎么改才合適,前前后后踩了不少的坑,自己有時間也研究了一下,改動了好幾次之后,我覺得目前的版本是最順暢,安全性也是最高的,我把目前的做法流程記錄一下,供他人參考。

首先要拿到收款的微信商戶號和支付秘鑰

確保拿到用戶的openid,獲取用戶的openid的流程大致是,在微信端使用wx.login獲取到code,將code傳到服務器換取openid,具體的流程可去官方文檔查看獲取openid

創建一個代付款的訂單,得到該訂單的單號

在服務端調用微信支付的統一下單接口微信支付統一下單,( 調用預下單接口的時候,要傳入一個正確的通知地址,字段名稱是notify_url,這個地址是我們自己寫的接口地址,用于接收微信支付結果通知,然后更新訂單狀態 ),進行預下單之后,得到一個prepay_id

用得到的prepay_id在js里調用發起支付微信小程序支付

支付結果,微信會通過服務端通知到統一下單的時候的通知地址,當收到微信支付結果通知之后,需要對接收到的信息進行簽名驗證,確保驗證通過了,才更新訂單的狀態。

踩坑集合:

最開始的版本是直接在小程序微信支付的js的success回調里,接收到了支付成功之后,再在js里調用修改訂單狀態的接口,這樣做其實很不安全,因為別人一旦拿到小程序的源碼,就可以直接跳過微信支付,直接調用修改訂單付款狀態的接口了,而且,如果客戶在微信支付完成之后,沒有點完成按鈕,也不會進入js的success回調里面,所以需要通過服務端的通知接口,接收到支付結果通知之后,再在服務端修改訂單付款狀態,這樣就沒有問題了。

多次通知付款結果的問題。付款結果通知,微信會發起多次,一開始的時候,我發現同一個訂單會有多條一樣的付款日志,沒找到問題,后面看了微信支付的官方文檔之后,才知道,為了保證能接收到支付的結果,同一條訂單的支付結果會通知多次,需要開發者自己進行處理。

支付結果通知的安全性問題。因為支付結果通知接收的地址是對外開放的,所以一旦地址泄露出去,有可能會被有心人調用,按照一定的參數格式調用,就能修改訂單的付款狀態,造成假的支付通知。所以在收到支付結果通知的時候,需要對接收到的數據按照簽名的規則進行簽名校驗,校驗通過了,才更新訂單的付款狀態。簽名需要用到支付秘鑰,只要秘鑰沒有泄露,就不會有安全性問題。

微信支付的秘鑰不要讀到前端。因為我們的接口分了好多地方讀取,所以在進行微信統一下單的時候,有把支付秘鑰在小程序的js頁面里讀出來,再在js里調統一下單的接口,從安全性的角度上來看,這樣不夠安全,支付秘鑰的讀取和傳輸應該只在后端操作,不應該讀到前端,當然讀到前端也沒有問題,但是可以改的話最好改一下。

附:微信JSAPI支付流程
微信JSAPI支付流程和小程序的支付流程基本一致,需要注意兩點:

需要在微信商戶平臺配置支付目錄,只有跳轉到了支付目錄的地址,才能發起微信支付。

網頁需要獲取openid需要進行一次頁面跳轉,需要用戶對網頁授權之后,才能獲取到code,獲取到code之后,再使用code獲取到openid,再進行統一下單預支付,其他流程就和小程序一致。因為在網頁里要獲取到openid必須要進行一次頁面跳轉才能獲取到openid,所以我建議可以在訂單確認頁面,確認好信息之后,先下好待付款的訂單,得到訂單號之后再跳轉,跳轉到支付頁面的時候,進行獲取openid的操作,再進行下面的操作即可。

獲取openid參考微信網頁授權

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/101416.html

相關文章

  • PHP實現支付程序用戶授權的工具類

    摘要:背景最近項目需要上線支付寶小程序,同時需要走用戶的授權流程完成用戶信息的存儲,以前做過微信小程序的開發,本以為實現授權的過程是很簡單的事情,但是再實現的過程中還是遇到了不少的坑,因此記錄一下實現的過程學到的知識支付寶開放接口的調用模式以及實 背景 最近項目需要上線支付寶小程序,同時需要走用戶的授權流程完成用戶信息的存儲,以前做過微信小程序的開發,本以為實現授權的過程是很簡單的事情,但是...

    weapon 評論0 收藏0
  • 【實戰教程】只需三步,用云函數又快又安全地實現程序支付

    摘要:使用觸發器自動根據微信支付回調更新可以保證無論何種情況下,數據中保存的都是最終用戶實際支付的金額。想要實現這個功能,則要將觸發器和云函數進行搭配使用了。 showImg(https://segmentfault.com/img/remote/1460000018649967?w=2160&h=918);本文主要側重于講述小程序在線支付功能中的編程思想和編程模式,并在必要的地方提供關鍵代...

    Sike 評論0 收藏0
  • 淺析微信支付微信支付簡單介紹(程序、公眾號、App、H5)

    摘要:本文是淺析微信支付系列文章的第二篇,主要講解一下普通商戶接入的支付方式以及其中的不同之處。淺析微信支付前篇大綱微信支付是集成在微信客戶端的支付功能,用戶可以通過手機完成快速的支付流程。目前微信支付支持手機系統有蘋果安卓和。 本文是【淺析微信支付】系列文章的第二篇,主要講解一下普通商戶接入的支付方式以及其中的不同之處。 上篇文章講了本系列的大綱,沒有看過的朋友們可以看一下。 淺析微信支...

    shadowbook 評論0 收藏0
  • 淺析微信支付:前篇大綱

    摘要:淺析微信支付前篇大綱本文是淺析微信支付系列文章的第一篇,主要會介紹一下為何寫下這個系列以及對于微信支付的一點小經驗,與君共勉。下面講一下我是如何去學習微信支付的。 淺析微信支付:前篇大綱 本文是【淺析微信支付】系列文章的第一篇,主要會介紹一下為何寫下這個系列以及對于微信支付的一點小經驗,與君共勉。 以下會分幾個步驟講一下我學習微信支付的過程,也是一部辛酸史,也是希望朋友們不要再次跌進...

    mayaohua 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<