搜尋
首頁微信小程式小程式開發關於微信小程式進行微信支付的步驟

關於微信小程式進行微信支付的步驟

Jun 23, 2018 am 11:26 AM
微信小程式支付

最近開發微信小程式進入到支付階段,一直以來從事App開發,所以支付流程還是熟記於心的。以下透過本文給大家講述下微信小程式進行微信支付的步驟,需要的朋友可以參考下

最近開發微信小程式進入到支付階段,一直以來從事App開發,所以支付流程還是熟記於心的。但是微信小程式的支付就有點奇怪了,應用程式的創建是在公眾號裡,但是文檔的介紹卻在公眾號中無法找到直接入口,甚是不解,而且小程式的師傅到底是屬於公眾號支付範疇還是app支付範疇也成疑問。以下是小程式支付文件的入口(嵌套在小程式api中):

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter= 7_3&index=1

小程式支付步驟:

#1,預付

2,依照預付資料簽章— —>發起支付

3,支付回呼

下面對這3個步驟進行簡單描述:

1,預付。 此介面透過前端提交需支付的資訊(訂單編號、價格等)給開發者伺服器,開發者伺服器在提交到微信,而後返回真正前端需要進行付款的一些資訊;eg:

開發者伺服器的預付接口:

https://()htm?total_fee=100&cid=6001&orderCodes=2016120119
{
"sign":"A2****************A6",
"timestamp":"14****************68",
"package":"Sign=WXPay",
"partnerId":"14****************02",
"appid":"wx****************ab",
"nonceStr":"9f****************37",
"prepayId":"wx****************54"
}

#2,發起支付(需要注意的是發起支付是不需要上傳appid,

但是簽章paySign需要appid ,而且放在第一個)

wx.requestPayment({ 
nonceStr: res.data.nonceStr, 
package: "prepay_id="+res.data.prepayId, 
signType: 'MD5', 
timeStamp: res.data.timestamp, 
paySign: sign,//<strong><span style="color:#ff0000;">五个字段参与签名(区分大小写):appId,nonceStr,package,signType,timeStamp(需要注意的是,这5个参数签名排序的顺序按照ASCII字典序排序)</span></strong> 
success: function(res){ 
console.log("支付成功"); 
}, 
fail: function() { 
}, 
complete: function() { 
} 
})

#產生簽章sign

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1&t=20161122

#微信小程式MD5加密工具下載位址:https://code.csdn.net/snippets/2019875/master/download

var MD5Util = require(&#39;../../../utils/md5.js&#39;);
var sign = &#39;&#39;; 
//<strong><span style="color:#ff0000;">顺序按照ASCII字典序排序</span></strong> 
var signA = "appId="+app.appId+"&nonceStr="+res.data.nonceStr+"&package=prepay_id="+res.data.prepayId+"&signType=MD5&timeStamp="+res.data.timestamp; 
var signB = signA+"&key="+app.key; 
sign = MD5Util.MD5(signB).toUpperCase();

產生簽章上面是我的程式碼,不是很清晰, 以下列出來官方文件的詳細描述:

假設傳送的參數如下:

#
appid: wxd930ea5d5a258f4f(需要注意的是appid 在wx.requestPayment({})发起支付是不上传,但是签名时需要)
mch_id: 10000100
device_info: 1000
body: test
nonce_str: ibuaiVcKdpRxkhJA

第一步:對參數依照key=value的格式,並依照參數名稱​​ASCII字典序排序如下:

#
stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA";

##第二步:拼接API金鑰:

stringSignTemp="stringA&key=192006250b4c09247ec02edce69f6a2d"
sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7"

此時的sign 用於wx.requestPayment 上傳參數paySign。

最終得到最終發送的資料:

<xml> 
<appid>wxd930ea5d5a258f4f</appid> 
<mch_id>10000100</mch_id> 
<device_info>1000<device_info> 
<body>test</body> 
<nonce_str>ibuaiVcKdpRxkhJA</nonce_str> 
<sign>9A0A8659F005D6984697E2CA0A9CF3B7</sign> 
<xml>

#以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

微信小程式用PHP實作支付功能

關於微信小程式的商城開發(ecshop )

以上是關於微信小程式進行微信支付的步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具