成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

小程序微信支付開(kāi)發(fā)流程記錄

whjin / 2864人閱讀

摘要:附微信支付流程微信支付流程和小程序的支付流程基本一致,需要注意兩點(diǎn)需要在微信商戶(hù)平臺(tái)配置支付目錄,只有跳轉(zhuǎn)到了支付目錄的地址,才能發(fā)起微信支付。

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

首先要拿到收款的微信商戶(hù)號(hào)和支付秘鑰

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

創(chuàng)建一個(gè)代付款的訂單,得到該訂單的單號(hào)

在服務(wù)端調(diào)用微信支付的統(tǒng)一下單接口微信支付統(tǒng)一下單,( 調(diào)用預(yù)下單接口的時(shí)候,要傳入一個(gè)正確的通知地址,字段名稱(chēng)是notify_url,這個(gè)地址是我們自己寫(xiě)的接口地址,用于接收微信支付結(jié)果通知,然后更新訂單狀態(tài) ),進(jìn)行預(yù)下單之后,得到一個(gè)prepay_id

用得到的prepay_id在js里調(diào)用發(fā)起支付微信小程序支付

支付結(jié)果,微信會(huì)通過(guò)服務(wù)端通知到統(tǒng)一下單的時(shí)候的通知地址,當(dāng)收到微信支付結(jié)果通知之后,需要對(duì)接收到的信息進(jìn)行簽名驗(yàn)證,確保驗(yàn)證通過(guò)了,才更新訂單的狀態(tài)。

踩坑集合:

最開(kāi)始的版本是直接在小程序微信支付的js的success回調(diào)里,接收到了支付成功之后,再在js里調(diào)用修改訂單狀態(tài)的接口,這樣做其實(shí)很不安全,因?yàn)閯e人一旦拿到小程序的源碼,就可以直接跳過(guò)微信支付,直接調(diào)用修改訂單付款狀態(tài)的接口了,而且,如果客戶(hù)在微信支付完成之后,沒(méi)有點(diǎn)完成按鈕,也不會(huì)進(jìn)入js的success回調(diào)里面,所以需要通過(guò)服務(wù)端的通知接口,接收到支付結(jié)果通知之后,再在服務(wù)端修改訂單付款狀態(tài),這樣就沒(méi)有問(wèn)題了。

多次通知付款結(jié)果的問(wèn)題。付款結(jié)果通知,微信會(huì)發(fā)起多次,一開(kāi)始的時(shí)候,我發(fā)現(xiàn)同一個(gè)訂單會(huì)有多條一樣的付款日志,沒(méi)找到問(wèn)題,后面看了微信支付的官方文檔之后,才知道,為了保證能接收到支付的結(jié)果,同一條訂單的支付結(jié)果會(huì)通知多次,需要開(kāi)發(fā)者自己進(jìn)行處理。

支付結(jié)果通知的安全性問(wèn)題。因?yàn)橹Ц督Y(jié)果通知接收的地址是對(duì)外開(kāi)放的,所以一旦地址泄露出去,有可能會(huì)被有心人調(diào)用,按照一定的參數(shù)格式調(diào)用,就能修改訂單的付款狀態(tài),造成假的支付通知。所以在收到支付結(jié)果通知的時(shí)候,需要對(duì)接收到的數(shù)據(jù)按照簽名的規(guī)則進(jìn)行簽名校驗(yàn),校驗(yàn)通過(guò)了,才更新訂單的付款狀態(tài)。簽名需要用到支付秘鑰,只要秘鑰沒(méi)有泄露,就不會(huì)有安全性問(wèn)題。

微信支付的秘鑰不要讀到前端。因?yàn)槲覀兊慕涌诜至撕枚嗟胤阶x取,所以在進(jìn)行微信統(tǒng)一下單的時(shí)候,有把支付秘鑰在小程序的js頁(yè)面里讀出來(lái),再在js里調(diào)統(tǒng)一下單的接口,從安全性的角度上來(lái)看,這樣不夠安全,支付秘鑰的讀取和傳輸應(yīng)該只在后端操作,不應(yīng)該讀到前端,當(dāng)然讀到前端也沒(méi)有問(wèn)題,但是可以改的話(huà)最好改一下。

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

需要在微信商戶(hù)平臺(tái)配置支付目錄,只有跳轉(zhuǎn)到了支付目錄的地址,才能發(fā)起微信支付。

網(wǎng)頁(yè)需要獲取openid需要進(jìn)行一次頁(yè)面跳轉(zhuǎn),需要用戶(hù)對(duì)網(wǎng)頁(yè)授權(quán)之后,才能獲取到code,獲取到code之后,再使用code獲取到openid,再進(jìn)行統(tǒng)一下單預(yù)支付,其他流程就和小程序一致。因?yàn)樵诰W(wǎng)頁(yè)里要獲取到openid必須要進(jìn)行一次頁(yè)面跳轉(zhuǎn)才能獲取到openid,所以我建議可以在訂單確認(rèn)頁(yè)面,確認(rèn)好信息之后,先下好待付款的訂單,得到訂單號(hào)之后再跳轉(zhuǎn),跳轉(zhuǎn)到支付頁(yè)面的時(shí)候,進(jìn)行獲取openid的操作,再進(jìn)行下面的操作即可。

獲取openid參考微信網(wǎng)頁(yè)授權(quán)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/101416.html

相關(guān)文章

  • PHP實(shí)現(xiàn)支付程序用戶(hù)授權(quán)的工具類(lèi)

    摘要:背景最近項(xiàng)目需要上線支付寶小程序,同時(shí)需要走用戶(hù)的授權(quán)流程完成用戶(hù)信息的存儲(chǔ),以前做過(guò)微信小程序的開(kāi)發(fā),本以為實(shí)現(xiàn)授權(quán)的過(guò)程是很簡(jiǎn)單的事情,但是再實(shí)現(xiàn)的過(guò)程中還是遇到了不少的坑,因此記錄一下實(shí)現(xiàn)的過(guò)程學(xué)到的知識(shí)支付寶開(kāi)放接口的調(diào)用模式以及實(shí) 背景 最近項(xiàng)目需要上線支付寶小程序,同時(shí)需要走用戶(hù)的授權(quán)流程完成用戶(hù)信息的存儲(chǔ),以前做過(guò)微信小程序的開(kāi)發(fā),本以為實(shí)現(xiàn)授權(quán)的過(guò)程是很簡(jiǎn)單的事情,但是...

    weapon 評(píng)論0 收藏0
  • 【實(shí)戰(zhàn)教程】只需三步,用云函數(shù)又快又安全地實(shí)現(xiàn)程序支付

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

    Sike 評(píng)論0 收藏0
  • 淺析微信支付微信支付簡(jiǎn)單介紹(程序、公眾號(hào)、App、H5)

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

    shadowbook 評(píng)論0 收藏0
  • 淺析微信支付:前篇大綱

    摘要:淺析微信支付前篇大綱本文是淺析微信支付系列文章的第一篇,主要會(huì)介紹一下為何寫(xiě)下這個(gè)系列以及對(duì)于微信支付的一點(diǎn)小經(jīng)驗(yàn),與君共勉。下面講一下我是如何去學(xué)習(xí)微信支付的。 淺析微信支付:前篇大綱 本文是【淺析微信支付】系列文章的第一篇,主要會(huì)介紹一下為何寫(xiě)下這個(gè)系列以及對(duì)于微信支付的一點(diǎn)小經(jīng)驗(yàn),與君共勉。 以下會(huì)分幾個(gè)步驟講一下我學(xué)習(xí)微信支付的過(guò)程,也是一部辛酸史,也是希望朋友們不要再次跌進(jìn)...

    mayaohua 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<