摘要:本文是淺析微信支付系列文章的第二篇,主要講解一下普通商戶接入的支付方式以及其中的不同之處。淺析微信支付前篇大綱微信支付是集成在微信客戶端的支付功能,用戶可以通過手機完成快速的支付流程。目前微信支付支持手機系統(tǒng)有蘋果安卓和。
本文是【淺析微信支付】系列文章的第二篇,主要講解一下普通商戶接入的支付方式以及其中的不同之處。
上篇文章講了本系列的大綱,沒有看過的朋友們可以看一下。
淺析微信支付:前篇大綱
微信支付是集成在微信客戶端的支付功能,用戶可以通過手機完成快速的支付流程。微信支付以余額、綁定銀行卡的快捷支付為基礎(chǔ),向用戶提供安全、快捷、高效的支付服務(wù)。
微信支付開通需要申請商戶平臺功能,所以,個人的訂閱號是不能開通微信支付的,只有服務(wù)號可以開通,申請成為公眾賬號支付商戶必須滿足以下條件:
1)擁有公眾帳號,且為服務(wù)號; 2)公眾帳號須通過微信認(rèn)證;
微信認(rèn)證資質(zhì)審核通過后,即可申請微信支付功能。
這里就不演示如何開通微信支付了,百度有現(xiàn)成的例子。
下面講開通微信支付后的開發(fā)選擇。
1、支付方式從微信支付商戶平臺的首頁 https://pay.weixin.qq.com/wiki/doc/api/index.html 進入,選擇 普通商戶 版本的支付方式,主要分為以下六種:
1.刷卡支付:用戶打開微信錢包的刷卡的界面,商戶掃碼后提交完成支付 2.公眾號支付:用戶在微信內(nèi)進入商家H5頁面,頁面內(nèi)調(diào)用JSSDK完成支付 3.掃碼支付:用戶打開"微信掃一掃“,掃描商戶的二維碼后完成支付 4.APP支付:商戶APP中集成微信SDK,用戶點擊后跳轉(zhuǎn)到微信內(nèi)完成支付 5.H5支付:用戶在微信以外的手機瀏覽器請求微信支付的場景喚起微信支付 6.小程序支付:用戶在微信小程序中使用微信支付的場景
以上六種支付方式,比較常用的是 2、4、6 這三種,刷卡、掃碼、H5現(xiàn)在相對來說用的比較少,本文就主要講 2、4、6 這三種支付方式了。
1.1.公眾號支付公眾號支付用途非常廣泛,主要用于商家在微信服務(wù)號中自建網(wǎng)頁商城網(wǎng)站,用戶通過鏈接或者二維碼進入微信內(nèi)部網(wǎng)頁瀏覽器時,進行購買下單等支付操作時調(diào)用的流程。
開發(fā)前準(zhǔn)備:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_3
一、設(shè)置支付目錄
請確保實際支付時的請求目錄與后臺配置的目錄一致(現(xiàn)在已經(jīng)支持配置根目錄,配置后有一定的生效時間,一般5分鐘內(nèi)生效),否則將無法成功喚起微信支付。
在微信商戶平臺(pay.weixin.qq.com)設(shè)置您的公眾號支付支付目錄,設(shè)置路徑:商戶平臺-->產(chǎn)品中心-->開發(fā)配置。公眾號支付在請求支付的時候會校驗請求來源是否有在商戶平臺做了配置,所以必須確保支付目錄已經(jīng)正確的被配置,否則將驗證失敗,請求支付不成功。
二、設(shè)置授權(quán)域名
開發(fā)公眾號支付時,在統(tǒng)一下單接口中要求必傳用戶openid,而獲取openid則需要您在公眾平臺設(shè)置獲取openid的域名,只有被設(shè)置過的域名才是一個有效的獲取openid的域名,否則將獲取失敗。
PS:簡單講就是需要填寫一個微信認(rèn)證通過的域名,這個域名就是咋們訪問的頁面鏈接,需要注意的一點是,請盡量認(rèn)證絕對域名,比如使用 www.yclimb.com,不使用 www.yclimb.com/blog 這樣,認(rèn)證成功后就可以使用微信的網(wǎng)頁授權(quán)接口來獲取用戶信息了。
如果需要本地測試,則需要去申請一下測試號來測試本地的用戶信息,詳情見如下鏈接:
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
注意:測試號不支持微信支付?。?!
官方場景介紹如下:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1
開發(fā)流程:
1.用戶通過鏈接或二維碼進入網(wǎng)頁 -> 2.調(diào)用微信網(wǎng)頁授權(quán)接口[官方接口] -> 3.用戶授權(quán)后獲取用戶信息[官方接口] -> 4.封裝商品信息并下單 -> 5.調(diào)用微信統(tǒng)一下單接口[官方接口] -> 6.根據(jù)統(tǒng)一下單接口返回信息組裝前端需要的支付參數(shù)[官方驗證] -> 7.前端使用支付參數(shù)喚起微信支付界面[官方接口] -> 8.支付成功后微信異步調(diào)用統(tǒng)一下單時傳入的回調(diào)接口[官方接口] -> 9.更新商戶訂單信息
基本流程就如上所述,詳細(xì)介紹見下一章。
1.2.APP支付APP支付適用于商戶在移動端APP中集成微信支付功能。
商戶APP調(diào)用微信提供的SDK調(diào)用微信支付模塊,商戶APP會跳轉(zhuǎn)到微信中完成支付,支付完后跳回到商戶APP內(nèi),最后展示支付結(jié)果。
目前微信支付支持手機系統(tǒng)有:IOS(蘋果)、Android(安卓)和WP(Windows Phone)。
官方場景介紹如下:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_1
開發(fā)流程:
1.用戶進入商戶APP,選擇商品下單、確認(rèn)購買,進入支付環(huán)節(jié)。商戶服務(wù)后臺生成支付訂單,簽名后將數(shù)據(jù)傳輸?shù)紸PP端。 2.用戶點擊后發(fā)起支付操作,進入到微信界面,調(diào)起微信支付,出現(xiàn)確認(rèn)支付界面。 3.用戶確認(rèn)收款方和金額,點擊立即支付后出現(xiàn)輸入密碼界面,可選擇零錢或銀行卡支付。 4.輸入正確密碼后,支付完成,用戶端微信出現(xiàn)支付詳情頁面。 5.回跳到商戶APP中,商戶APP根據(jù)支付結(jié)果個性化展示訂單處理結(jié)果。
PS:APP支付和公眾號支付有幾個不同的點:
1.公眾號支付需要進行用戶授權(quán)獲取用戶信息,統(tǒng)一下單接口需要用戶的openid 2.APP支付不需要用戶授權(quán),也不需要用戶的openid 3.APP支付依賴于平臺,如iOS、Android,需要前端小伙伴配合SDK開發(fā),公眾號直接調(diào)取http/https接口即可 4.統(tǒng)一下單時類型不同,開發(fā)時注意個別字段的值變化1.3.小程序支付
小程序支付開發(fā)步驟:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1
如果開發(fā)者已做過JSAPI(公眾號支付)或JSSDK(H5)調(diào)起微信支付,接入小程序支付非常相似,以下是三種接入方式的對比:
對比欄目 | JSAPI | JSSDK | 小程序 |
---|---|---|---|
統(tǒng)一下單 | 都需要先獲取到Openid,調(diào)用相同的API | ||
調(diào)起數(shù)據(jù)簽名 | 五個字段參與簽名(區(qū)分大小寫):appId,nonceStr,package,signType,timeStamp | ||
調(diào)起支付頁面協(xié)議 | HTTP或HTTPS | HTTP或HTTPS | HTTPS |
支付目錄 | 有 | 有 | 無 |
授權(quán)域名 | 有 | 有 | 無 |
回調(diào)函數(shù) | 有 | success回調(diào) | complete、fail、success回調(diào)函數(shù) |
PS:小程序訪問商戶服務(wù)都是通過HTTPS,開發(fā)部署的時候需要安裝HTTPS服務(wù)器
商戶系統(tǒng)和微信支付系統(tǒng)主要交互:
1、小程序內(nèi)調(diào)用登錄接口,獲取到用戶的openid,api參見公共api【小程序登錄API】 2、商戶server調(diào)用支付統(tǒng)一下單,api參見公共api【統(tǒng)一下單API】 3、商戶server調(diào)用再次簽名,api參見公共api【再次簽名】 4、商戶server接收支付通知,api參見公共api【支付結(jié)果通知API】 5、商戶server查詢支付結(jié)果,api參見公共api【查詢訂單API】2、支付工具
普通商戶 版本的支付工具,主要分為以下三種:
1.代金券或立減優(yōu)惠:商戶營銷和運營的能力,給用戶發(fā)放代金券或立減優(yōu)惠的相關(guān)說明 2.現(xiàn)金紅包:提供給商戶營銷的能力,商戶給用戶派發(fā)現(xiàn)金紅包相關(guān)說明 3.企業(yè)付款:企業(yè)付款至用戶微信支付零錢或銀行卡
支付工具待將支付接口講完之后,會多帶帶拿幾章來講一下,這里就不細(xì)講了!
3、注意事項上面主要講了小程序、公眾號、APP這三種支付方式,我們需要注意的是,無論哪種支付方式,最終都會去調(diào)取 統(tǒng)一下單接口,這個接口主要是將咋們商戶中的訂單信息拼接為支付信息傳入到微信平臺,微信平臺會返回一個 預(yù)支付單 信息,我們對這個信息進行再次加密后拼接為實際支付所需的參數(shù)(五個字段參與簽名(區(qū)分大小寫):appId,nonceStr,package,signType,timeStamp),給到微信提供的官方接口中即可調(diào)起支付頁面了;
關(guān)于上面的步驟這里不細(xì)講,后面幾章會著重說明調(diào)取微信支付的前期準(zhǔn)備,以公眾號支付為例子,講一下如何獲取授權(quán)、拉取用戶信息,生產(chǎn)支付信息、調(diào)起微信支付等...
結(jié)語前面幾章都是一些比較瑣碎的概念型文章,從下一章開始進入實操代碼環(huán)節(jié),下一章會講 進入微信支付的前期準(zhǔn)備 盡情期待!
?如果想要提前一覽源碼的小伙伴,可以先看看我的 github,地址如下: https://github.com/YClimb/wxpay-sdk/blob/master/README.md
加作者私人微信,作者微信號如下 yclimb,標(biāo)明 微信支付 可拉入微信支付討論群與小伙伴一起探討哦,一定要標(biāo)明 微信支付 哦~
到此本文就結(jié)束了,關(guān)注公眾號查看更多推送!??!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/71974.html
摘要:本文是淺析微信支付系列文章的第三篇,主要會講一下在開發(fā)前的一些注意事項。淺析微信支付系列已經(jīng)更新兩篇了喲,沒有看過的朋友們可以看一下。開通微信支付需要注冊登陸微信商戶平臺,微信支付相關(guān)的信息都需要在這個平臺上進行操作。 本文是【淺析微信支付】系列文章的第三篇,主要會講一下在開發(fā)前的一些注意事項。 淺析微信支付系列已經(jīng)更新兩篇了喲~,沒有看過的朋友們可以看一下。 淺析微信支付:前篇大綱...
摘要:淺析微信支付微信公眾號網(wǎng)頁授權(quán)本文是淺析微信支付系列文章的第四篇,主要講解微信支付前如何獲取獲取網(wǎng)頁授權(quán)及用戶信息獲取。淺析微信支付系列已經(jīng)更新三篇了喲,沒有看過的朋友們可以看一下哦。 淺析微信支付:微信公眾號網(wǎng)頁授權(quán) 本文是【淺析微信支付】系列文章的第四篇,主要講解微信支付前如何獲取獲取網(wǎng)頁授權(quán)及用戶信息獲取。 淺析微信支付系列已經(jīng)更新三篇了喲~,沒有看過的朋友們可以看一下哦。 淺...
摘要:淺析微信支付前篇大綱本文是淺析微信支付系列文章的第一篇,主要會介紹一下為何寫下這個系列以及對于微信支付的一點小經(jīng)驗,與君共勉。下面講一下我是如何去學(xué)習(xí)微信支付的。 淺析微信支付:前篇大綱 本文是【淺析微信支付】系列文章的第一篇,主要會介紹一下為何寫下這個系列以及對于微信支付的一點小經(jīng)驗,與君共勉。 以下會分幾個步驟講一下我學(xué)習(xí)微信支付的過程,也是一部辛酸史,也是希望朋友們不要再次跌進...
摘要:本文是淺析微信支付系列文章的第十篇,主要講解如何使用沙箱環(huán)境來測試微信支付。圖為微信支付仿真測試系統(tǒng)后簡稱仿真系統(tǒng)的簡化原理圖。沙箱說明微信支付沙箱環(huán)境,是提供給微信支付商戶的開發(fā)者,用于模擬支付及回調(diào)通知。 本文是【淺析微信支付】系列文章的第十篇,主要講解如何使用沙箱環(huán)境來測試微信支付。 淺析微信支付系列已經(jīng)更新十篇了喲~,沒有看過的朋友們可以看一下。 淺析微信支付:下載對賬單和資...
摘要:本文是淺析微信支付系列文章的第五篇,主要講解如何調(diào)用統(tǒng)一下單接口生成預(yù)支付單及調(diào)起支付頁面。淺析微信支付系列已經(jīng)更新四篇了喲,沒有看過的朋友們可以看一下哦。 本文是【淺析微信支付】系列文章的第五篇,主要講解如何調(diào)用統(tǒng)一下單接口生成預(yù)支付單及調(diào)起支付頁面。 淺析微信支付系列已經(jīng)更新四篇了喲~,沒有看過的朋友們可以看一下哦。 淺析微信支付:微信公眾號網(wǎng)頁授權(quán) 淺析微信支付:開發(fā)前的準(zhǔn)備 ...
閱讀 3054·2021-11-23 09:51
閱讀 3069·2021-11-02 14:46
閱讀 927·2021-11-02 14:45
閱讀 2881·2021-09-23 11:57
閱讀 2559·2021-09-23 11:22
閱讀 2002·2019-08-29 16:29
閱讀 806·2019-08-29 16:16
閱讀 1010·2019-08-26 13:44