【全國(guó)】 集團(tuán)簡(jiǎn)介 關(guān)注我們
幫學(xué)院 商標(biāo)分類表-2024尼斯分類 知識(shí)產(chǎn)權(quán)交易

快幫集團(tuán)

微信小程序接入微信支付方法

2019-04-15

適合沒(méi)有微信支付接入經(jīng)驗(yàn)的開(kāi)發(fā)者。

 

1. 申請(qǐng)微信支付

 

小程序認(rèn)證以后,可以在小程序后臺(tái),微信支付菜單欄,申請(qǐng)微信支付。

 

填寫企業(yè)信息和對(duì)公賬戶,微信支付會(huì)打一筆隨機(jī)金額到對(duì)公賬戶,輸入金額完成驗(yàn)證后,在線簽署協(xié)議,這樣整個(gè)微信支付的申請(qǐng)流程完成了。

 

微信支付申請(qǐng)完,會(huì)發(fā)送微信支付商戶號(hào),商戶平臺(tái)用戶名密碼等信息到注冊(cè)者郵箱。

 

2. 準(zhǔn)備工作

 

2.1 配置小程序密鑰

 

在小程序后臺(tái)設(shè)置頁(yè),點(diǎn)擊生成,管理員驗(yàn)證二維碼后,會(huì)隨機(jī)生成 AppSecret。請(qǐng)妥善保管好 Appsecret,不要明文存儲(chǔ)于服務(wù)器,AppSecret 用于和微信服務(wù)器交互。比如獲取用戶的 openid 接口就需要用到。

 

2.2 設(shè)置密鑰和下載證書(shū)

 

用申請(qǐng)微信支付獲得的用戶名和密碼,登錄商戶平臺(tái) (pay.weixin.qq.com),在賬戶中心,API 安全中下載證書(shū)和設(shè)置密鑰。

 

密鑰是 32 位,設(shè)置以后需要妥善保管,因?yàn)闊o(wú)法查看密鑰,所有微信支付相關(guān)的接口都會(huì)使用這個(gè)密鑰加密。

 

2.3 配置 Https 服務(wù)器

 

小程序的前端是使用微信提供的框架開(kāi)發(fā),但是后臺(tái)依然是開(kāi)發(fā)者自己的服務(wù)器。小程序發(fā)起的是 https 請(qǐng)求,意味著小程序開(kāi)發(fā)者必須配置 https 服務(wù)器。

 

配置 https 服務(wù)器之前,先要獲取證書(shū),證書(shū)可以向相關(guān)機(jī)構(gòu)購(gòu)買,騰訊云目前可以向用戶提供免費(fèi)的證書(shū)。

 

證書(shū)安裝指引在這里查看:

 

https://www.qcloud.com/doc/pr...

 

3. 微信支付流程

 

微信支付有多種支付方式,包括刷卡支付,公眾號(hào)支付,掃碼支付,APP 支付,在這里微信支付的所有接口:https://pay.weixin.qq.com/wik...

 

小程序是在微信里調(diào)起支付的,其實(shí)是公眾號(hào)支付。關(guān)于公眾號(hào)支付的詳細(xì)文檔可在這里查看:https://pay.weixin.qq.com/wik...

 

所有公眾號(hào)支付相關(guān)的鏈接都可以在此鏈接找到,開(kāi)發(fā)者首先需要大概了解這些接口。

 

小程序公眾號(hào)支付的主要流程如下(本圖只考慮了正常流程,異常流程參考公眾號(hào)支付文檔):

 

3.1 關(guān)于 openid

 

上述流程中請(qǐng)求 openid,用的是小程序最新 api 中的接口,開(kāi)發(fā)者可以查看小程序的登錄接口。

 

開(kāi)發(fā)者從第三方服務(wù)器獲得的 openid,在統(tǒng)一下單的接口里面需要使用到。

 

3.2 關(guān)于小程序調(diào)起微信支付

 

上述流程中的小程序調(diào)起微信支付,用的是小程序微信支付接口 wx.requestPayment,該接口的詳細(xì)描述可以查看小程序的微信支付 API

 

這個(gè)接口中的 package timeStamp 參數(shù)是從開(kāi)發(fā)者的第三方服務(wù)器返回的,package 是第三方服務(wù)器從統(tǒng)一下單接口回復(fù)中獲得。

 

接口中其他的參數(shù),appId,noceStr,signType 以及 paySign 則由小程序這邊存儲(chǔ)或者計(jì)算而得。

 

其中 paySign 是簽名,簽名算法文檔在這里:

 

https://pay.weixin.qq.com/wik...

 

整個(gè)公眾號(hào)支付的主要流程基本都是在第三方服務(wù)器上實(shí)現(xiàn),開(kāi)發(fā)者需要熟讀公眾號(hào)支付文檔,了解消息交互流程以及每個(gè)接口。

 

這里并沒(méi)有描述正常微信支付必不可少的一些功能:異常處理,查詢訂單,發(fā)起退款,下載對(duì)賬單等等。

 

微信小程序支付流程;

 

文字展示


1、小程序內(nèi)調(diào)用登錄接口,獲取到用戶的openid,api參見(jiàn)公共api【小程序登錄API

 

2、商戶server調(diào)用支付統(tǒng)一下單,api參見(jiàn)公共api【統(tǒng)一下單API

 

3、商戶server調(diào)用再次簽名,api參見(jiàn)公共api【再次簽名】

 

4、商戶server接收支付通知,api參見(jiàn)公共api【支付結(jié)果通知API

 

5、商戶server查詢支付結(jié)果,api參見(jiàn)公共api【查詢訂單API

 

小程序調(diào)起支付API的形成的參數(shù):


paySign = MD5(appId=wxd678efh567hg6787&nonceStr=5K8264ILTKCH16CQ2502SI8ZNMTM67VS&package=prepay_id=wx2017033010242291fcfe0db70013231072&signType=MD5&timeStamp=1490840662&key=qazwsxedcrfvtgbyhnujmikolp111111) = 22D9B4E54AB1950F51E0649E8810ACD6

代碼形式展示

wx.requestPayment(

{

timeStamp’: ‘’,

nonceStr’: ‘’,

package’: ‘’,

signType’: ‘MD5’,

paySign’: ‘’,

success’:function(res){},

fail’:function(res){},

complete’:function(res){}

})

 

個(gè)人思考:


1,首先聊一聊開(kāi)發(fā)模式[自己也是第一次看,進(jìn)行總結(jié),接下來(lái)即將用到項(xiàng)目中去。


1.1普通模式


場(chǎng)景是適用于自己開(kāi)發(fā)或者外包開(kāi)發(fā),申請(qǐng)自己的appId,mch_id


1.2商戶服務(wù)模式


該模式包含普通服務(wù)商模式與銀行類服務(wù)商模式。


2, 業(yè)務(wù)說(shuō)明


申請(qǐng)注冊(cè)小程序,開(kāi)通支付流程,即可,一下幾點(diǎn)注意:


appid必須為最后拉起收銀臺(tái)的小程序appid;


mch_id為和appid成對(duì)綁定的支付商戶號(hào),收款資金會(huì)進(jìn)入該商戶號(hào);


trade_type請(qǐng)?zhí)顚?/span>JSAPI;


openidappid對(duì)應(yīng)的用戶標(biāo)識(shí),即使用wx.login接口獲得的openid


3,業(yè)務(wù)流程


請(qǐng)參考以上圖片顯示展示與文字說(shuō)明


4, 開(kāi)發(fā)步驟


5, 小程序調(diào)用支付API


6 sub_appId的使用說(shuō)明


sub_appid可為公眾號(hào),APP或小程序的appid,服務(wù)商在服務(wù)商商戶平臺(tái)可手動(dòng)為每個(gè)特約商戶綁定與渠道商主體或特約商戶主體一致的公眾號(hào),APP或小程序的appid;針對(duì)小程序,還支持綁定服務(wù)商主體的小程序appid。目前最多配置5個(gè). 手工配置路徑:服務(wù)商商戶平臺(tái)-服務(wù)商功能-子商戶管理-開(kāi)發(fā)配置-特約商戶APPID配置”。



TAG標(biāo)簽耗時(shí):0.0066518783569336 秒

文章內(nèi)容來(lái)源于網(wǎng)絡(luò),侵刪

常見(jiàn)問(wèn)題

京公網(wǎng)安備 11010802036823號(hào)

   

京ICP備16051929號(hào)

   

增值電信業(yè)務(wù)許可證編號(hào):京B2-20190686

   

專利代理機(jī)構(gòu)代碼:16087

   

人力資源服務(wù)許可證編號(hào):1101082019043

   

代理記賬許可證書(shū)編號(hào):DLJZ11010820210015

0