日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

浅析微信支付:微信支付简单介绍(小程序、公众号、App、H5)

發(fā)布時(shí)間:2023/12/31 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅析微信支付:微信支付简单介绍(小程序、公众号、App、H5) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文是【淺析微信支付】系列文章的第二篇,主要講解一下普通商戶接入的支付方式以及其中的不同之處。


上篇文章講了本系列的大綱,沒有看過的朋友們可以看一下。

淺析微信支付:前篇大綱

微信支付是集成在微信客戶端的支付功能,用戶可以通過手機(jī)完成快速的支付流程。微信支付以余額、綁定銀行卡的快捷支付為基礎(chǔ),向用戶提供安全、快捷、高效的支付服務(wù)。

微信支付開通需要申請商戶平臺功能,所以,個(gè)人的訂閱號是不能開通微信支付的,只有服務(wù)號可以開通,申請成為公眾賬號支付商戶必須滿足以下條件:

1)擁有公眾帳號,且為服務(wù)號; 2)公眾帳號須通過微信認(rèn)證;

微信認(rèn)證資質(zhì)審核通過后,即可申請微信支付功能。

這里就不演示如何開通微信支付了,百度有現(xiàn)成的例子。

下面講開通微信支付后的開發(fā)選擇。

1、支付方式

從微信支付商戶平臺的首頁 https://pay.weixin.qq.com/wiki/doc/api/index.html 進(jìn)入,選擇 普通商戶 版本的支付方式,主要分為以下六種:

1.刷卡支付:用戶打開微信錢包的刷卡的界面,商戶掃碼后提交完成支付 2.公眾號支付:用戶在微信內(nèi)進(jìn)入商家H5頁面,頁面內(nèi)調(diào)用JSSDK完成支付 3.掃碼支付:用戶打開"微信掃一掃“,掃描商戶的二維碼后完成支付 4.APP支付:商戶APP中集成微信SDK,用戶點(diǎn)擊后跳轉(zhuǎn)到微信內(nèi)完成支付 5.H5支付:用戶在微信以外的手機(jī)瀏覽器請求微信支付的場景喚起微信支付 6.小程序支付:用戶在微信小程序中使用微信支付的場景

以上六種支付方式,比較常用的是 2、4、6 這三種,刷卡、掃碼、H5現(xiàn)在相對來說用的比較少,本文就主要講 2、4、6 這三種支付方式了。

1.1.公眾號支付

公眾號支付用途非常廣泛,主要用于商家在微信服務(wù)號中自建網(wǎng)頁商城網(wǎng)站,用戶通過鏈接或者二維碼進(jìn)入微信內(nèi)部網(wǎng)頁瀏覽器時(shí),進(jìn)行購買下單等支付操作時(shí)調(diào)用的流程。

開發(fā)前準(zhǔn)備:

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_3

一、設(shè)置支付目錄
請確保實(shí)際支付時(shí)的請求目錄與后臺配置的目錄一致(現(xiàn)在已經(jīng)支持配置根目錄,配置后有一定的生效時(shí)間,一般5分鐘內(nèi)生效),否則將無法成功喚起微信支付。

在微信商戶平臺(pay.weixin.qq.com)設(shè)置您的公眾號支付支付目錄,設(shè)置路徑:商戶平臺-->產(chǎn)品中心-->開發(fā)配置。公眾號支付在請求支付的時(shí)候會校驗(yàn)請求來源是否有在商戶平臺做了配置,所以必須確保支付目錄已經(jīng)正確的被配置,否則將驗(yàn)證失敗,請求支付不成功。

二、設(shè)置授權(quán)域名
開發(fā)公眾號支付時(shí),在統(tǒng)一下單接口中要求必傳用戶openid,而獲取openid則需要您在公眾平臺設(shè)置獲取openid的域名,只有被設(shè)置過的域名才是一個(gè)有效的獲取openid的域名,否則將獲取失敗。

PS:簡單講就是需要填寫一個(gè)微信認(rèn)證通過的域名,這個(gè)域名就是咋們訪問的頁面鏈接,需要注意的一點(diǎ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.用戶通過鏈接或二維碼進(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支付適用于商戶在移動端APP中集成微信支付功能。
商戶APP調(diào)用微信提供的SDK調(diào)用微信支付模塊,商戶APP會跳轉(zhuǎn)到微信中完成支付,支付完后跳回到商戶APP內(nèi),最后展示支付結(jié)果。
目前微信支付支持手機(jī)系統(tǒng)有:IOS(蘋果)、Android(安卓)和WP(Windows Phone)。

官方場景介紹如下:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_1

開發(fā)流程:

1.用戶進(jìn)入商戶APP,選擇商品下單、確認(rèn)購買,進(jìn)入支付環(huán)節(jié)。商戶服務(wù)后臺生成支付訂單,簽名后將數(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支付和公眾號支付有幾個(gè)不同的點(diǎn):

1.公眾號支付需要進(jìn)行用戶授權(quán)獲取用戶信息,統(tǒng)一下單接口需要用戶的openid 2.APP支付不需要用戶授權(quán),也不需要用戶的openid 3.APP支付依賴于平臺,如iOS、Android,需要前端小伙伴配合SDK開發(fā),公眾號直接調(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(公眾號支付)或JSSDK(H5)調(diào)起微信支付,接入小程序支付非常相似,以下是三種接入方式的對比:

對比欄目JSAPIJSSDK小程序
統(tǒng)一下單都需要先獲取到Openid,調(diào)用相同的API
調(diào)起數(shù)據(jù)簽名五個(gè)字段參與簽名(區(qū)分大小寫):appId,nonceStr,package,signType,timeStamp
調(diào)起支付頁面協(xié)議HTTP或HTTPSHTTP或HTTPSHTTPS
支付目錄
授權(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ùn)營的能力,給用戶發(fā)放代金券或立減優(yōu)惠的相關(guān)說明 2.現(xiàn)金紅包:提供給商戶營銷的能力,商戶給用戶派發(fā)現(xiàn)金紅包相關(guān)說明 3.企業(yè)付款:企業(yè)付款至用戶微信支付零錢或銀行卡

支付工具待將支付接口講完之后,會單獨(dú)拿幾章來講一下,這里就不細(xì)講了!

3、注意事項(xiàng)

上面主要講了小程序、公眾號、APP這三種支付方式,我們需要注意的是,無論哪種支付方式,最終都會去調(diào)取 統(tǒng)一下單接口,這個(gè)接口主要是將咋們商戶中的訂單信息拼接為支付信息傳入到微信平臺,微信平臺會返回一個(gè) 預(yù)支付單 信息,我們對這個(gè)信息進(jìn)行再次加密后拼接為實(shí)際支付所需的參數(shù)(五個(gè)字段參與簽名(區(qū)分大小寫):appId,nonceStr,package,signType,timeStamp),給到微信提供的官方接口中即可調(diào)起支付頁面了;

關(guān)于上面的步驟這里不細(xì)講,后面幾章會著重說明調(diào)取微信支付的前期準(zhǔn)備,以公眾號支付為例子,講一下如何獲取授權(quán)、拉取用戶信息,生產(chǎn)支付信息、調(diào)起微信支付等...

結(jié)語

前面幾章都是一些比較瑣碎的概念型文章,從下一章開始進(jìn)入實(shí)操代碼環(huán)節(jié),下一章會講 進(jìn)入微信支付的前期準(zhǔn)備 盡情期待!

?如果想要提前一覽源碼的小伙伴,可以先看看我的 github,地址如下: https://github.com/YClimb/wxpay-sdk/blob/master/README.md

加作者私人微信,作者微信號如下 yclimb,標(biāo)明 微信支付 可拉入微信支付討論群與小伙伴一起探討哦,一定要標(biāo)明 微信支付 哦~

到此本文就結(jié)束了,關(guān)注公眾號查看更多推送!!!



轉(zhuǎn)載于:https://www.cnblogs.com/yclimb/p/9934002.html

總結(jié)

以上是生活随笔為你收集整理的浅析微信支付:微信支付简单介绍(小程序、公众号、App、H5)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。