我前段時間做微信支付,遇到了很多坑,網上也沒有講解的特別明白的,通過借鑒各路人才的經驗,最后也完成了,網上有很多講解,我在這只講一些注意點和解決的方法。我就講講我從完全懵到完成的過程吧。
在微信提供的接口文檔中提供了一個微信支付接口,應該是直接調用這個接口就可以發起微信支付
文檔路徑:https://developers.weixin.qq.com/miniprogram/dev/api/api-pay.html#wxrequestpaymentobject
但是,當開始信心滿滿的去看所需參數時,懵逼了,這些參數是什么
在這些參數中最難理解和獲取的就是這兩個了,仔細研究后發現,package這個參數的獲取要調用微信提供的另一個接口,統一下單接口。原來在微信中支付需要先進行一下預下單。這里的時間戳使用的是秒值,不是毫秒值
文檔路徑:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1
這個接口就需要后臺通過http請求來調了
而在這些參數中,有兩個參數很眼熟,在第一步發起微信請求時也有這兩個參數,后發現這里的隨機字符串就是調起支付時用到的隨機字符串,而且是必須一致,那么簽名呢,要是也認為一樣就完全調溝里了,這里的簽名我稱為一次簽名,因為支付的時候要進行第二次簽名。簽名生成算法有講解,多讀幾遍就明白了,我建議讀個幾十遍。
把這些必填的參數都準備好
很重要的是你要首先有個店鋪,就有商戶號了
訂單號必須唯一哦,通知地址就是當支付成功后微信會回調這個地址,在這里你可以做一些事,比如修改訂單狀態什么的。
然后就是簽名生成,這個很重要:把需要的參數都放到一個map中,然后對這些參數進行排序,然后把商品key拼接到后面進行MD5加密就生成簽名了,我還是建議仔細看看簽名生成算法,不要想太復雜,就是排序,拼接,加密三步完成。
最后就是準備參數傳輸了,這里的參數傳輸是以xml的方式傳輸,下面就是傳輸的數據,其實就是一個大的字符串,
你可以這樣
String s =“<xml>” +"<appid>wxdxxxxxxxxx</appid>" +"<mch_id>10000100</mch_id>" +"<nonce_str>24jtlk2j3ltjl2kjlkt3j</nonce_str>" +"<sign>432l4j5j4325l23k4j5lj34</sign>" +"</xml>"
標題名稱:詳解微信小程序調用支付接口支付-創新互聯
本文URL:http://vcdvsql.cn/article24/jehje.html
成都網站建設公司_創新互聯,為您提供網站導航、Google、網站設計、網站建設、定制網站、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯