詳解微信小程序調(diào)用支付接口支付
我前段時(shí)間做微信支付,遇到了很多坑,網(wǎng)上也沒(méi)有講解的特別明白的,通過(guò)借鑒各路人才的經(jīng)驗(yàn),最后也完成了,網(wǎng)上有很多講解,我在這只講一些注意點(diǎn)和解決的方法。我就講講我從完全懵到完成的過(guò)程吧。
在微信提供的接口文檔中提供了一個(gè)微信支付接口,應(yīng)該是直接調(diào)用這個(gè)接口就可以發(fā)起微信支付
文檔路徑:https://developers.weixin.qq.com/miniprogram/dev/api/api-pay.html#wxrequestpaymentobject

但是,當(dāng)開始信心滿滿的去看所需參數(shù)時(shí),懵逼了,這些參數(shù)是什么

在這些參數(shù)中最難理解和獲取的就是這兩個(gè)了,仔細(xì)研究后發(fā)現(xiàn),package這個(gè)參數(shù)的獲取要調(diào)用微信提供的另一個(gè)接口,統(tǒng)一下單接口。原來(lái)在微信中支付需要先進(jìn)行一下預(yù)下單。這里的時(shí)間戳使用的是秒值,不是毫秒值
文檔路徑:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1

這個(gè)接口就需要后臺(tái)通過(guò)http請(qǐng)求來(lái)調(diào)了

而在這些參數(shù)中,有兩個(gè)參數(shù)很眼熟,在第一步發(fā)起微信請(qǐng)求時(shí)也有這兩個(gè)參數(shù),后發(fā)現(xiàn)這里的隨機(jī)字符串就是調(diào)起支付時(shí)用到的隨機(jī)字符串,而且是必須一致,那么簽名呢,要是也認(rèn)為一樣就完全調(diào)溝里了,這里的簽名我稱為一次簽名,因?yàn)橹Ц兜臅r(shí)候要進(jìn)行第二次簽名。簽名生成算法有講解,多讀幾遍就明白了,我建議讀個(gè)幾十遍。
把這些必填的參數(shù)都準(zhǔn)備好
很重要的是你要首先有個(gè)店鋪,就有商戶號(hào)了
訂單號(hào)必須唯一哦,通知地址就是當(dāng)支付成功后微信會(huì)回調(diào)這個(gè)地址,在這里你可以做一些事,比如修改訂單狀態(tài)什么的。
然后就是簽名生成,這個(gè)很重要:把需要的參數(shù)都放到一個(gè)map中,然后對(duì)這些參數(shù)進(jìn)行排序,然后把商品key拼接到后面進(jìn)行MD5加密就生成簽名了,我還是建議仔細(xì)看看簽名生成算法,不要想太復(fù)雜,就是排序,拼接,加密三步完成。
最后就是準(zhǔn)備參數(shù)傳輸了,這里的參數(shù)傳輸是以xml的方式傳輸,下面就是傳輸?shù)臄?shù)據(jù),其實(shí)就是一個(gè)大的字符串,
你可以這樣
String s =“<xml>” +"<appid>wxdxxxxxxxxx</appid>" +"<mch_id>10000100</mch_id>" +"<nonce_str>24jtlk2j3ltjl2kjlkt3j</nonce_str>" +"<sign>432l4j5j4325l23k4j5lj34</sign>" +"</xml>"

我就意思一下了,大家懂就行,其實(shí)就是一個(gè)字符串,完全可以通過(guò)遍歷參數(shù)map來(lái)自己拼接的。
然后就是把這個(gè)大字符串傳過(guò)去,以上沒(méi)問(wèn)題的話就會(huì)返回一個(gè)字符串的xml,格式類型咱們拼接的參數(shù)。

從中取出我們需要的東西,最重要的應(yīng)該就是這個(gè),預(yù)下單id,這就是之前咱們需要的package
使用時(shí)是這樣的:package='prepay_id=201411109120471241k1241240124bk1k24'
然后就是二次簽名了,簽名生成順序和第一次是一樣的,主要要確定需要哪些參數(shù)。

然后把這些參數(shù)返回給前臺(tái)使用,取出來(lái)放進(jìn)去就行了。

到這里前端調(diào)用一下就發(fā)起支付了。
有什么問(wèn)題歡迎提問(wèn)
以上所述是小編給大家介紹的微信小程序調(diào)用支付接口支付詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
echarts圖表無(wú)數(shù)據(jù)/空數(shù)據(jù)如何展示"暫無(wú)數(shù)據(jù)"
在開發(fā)echarts的時(shí)候我們不得不考慮數(shù)據(jù)為空的情況,其實(shí)有很多種解決辦法,下面這篇文章主要給大家介紹了關(guān)于echarts圖表無(wú)數(shù)據(jù)/空數(shù)據(jù)如何展示“暫無(wú)數(shù)據(jù)”的相關(guān)資料,需要的朋友可以參考下2022-10-10
web網(wǎng)絡(luò)安全之跨站腳本攻擊(XSS)詳解
這篇文章主要介紹了web網(wǎng)絡(luò)安全之跨站腳本攻擊(XSS)的相關(guān)資料,跨站腳本攻擊XSS是一種常見(jiàn)的Web安全漏洞,攻擊者通過(guò)注入惡意腳本誘使用戶執(zhí)行,可能導(dǎo)致竊取敏感信息或執(zhí)行惡意操作,需要的朋友可以參考下2025-03-03
js實(shí)現(xiàn)圖片從左往右漸變切換效果的方法
這篇文章主要介紹了js實(shí)現(xiàn)圖片從左往右漸變切換效果的方法,是比較典型的圖片漸變切換效果特效,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-02-02
微信小程序清空輸入框信息與實(shí)現(xiàn)屏幕往上滾動(dòng)的示例代碼
這篇文章主要介紹了微信小程序清空輸入框信息與實(shí)現(xiàn)屏幕往上滾動(dòng)的示例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
基于JavaScript實(shí)現(xiàn)鼠標(biāo)向下滑動(dòng)加載div的代碼
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)鼠標(biāo)向下滑動(dòng)加載div的代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
javascript下有關(guān)dom以及xml節(jié)點(diǎn)訪問(wèn)兼容問(wèn)題
javascript下有關(guān)dom以及xml節(jié)點(diǎn)訪問(wèn)兼容問(wèn)題...2007-11-11

