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