中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

接入微信支付的方法步驟

發布時間:2021-10-12 13:39:36 來源:億速云 閱讀:151 作者:iii 欄目:編程語言

這篇文章主要介紹“接入微信支付的方法步驟”,在日常操作中,相信很多人在接入微信支付的方法步驟問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”接入微信支付的方法步驟”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、微信支付的前提條件

1.1 公眾號

微信公眾號大體上可以分為服務號和訂閱號,訂閱號和服務號的具體區別在以前寫過的一篇文章Spring Boot開發微信公眾號中具體介紹了,這里就不再贅述,總的來說就是服務號提供了更高級的功能。

微信支付接入需要已經完成微信認證的服務號。如果是小程序的話,也需要完成微信認證

公眾號可以關聯同一主體的10個小程序,不同主體的3個小程序,如果是和公眾號同一主體的小程序并且公眾號已經完成認證,則直接可以在公眾號后臺的小程序管理中,進行快速注冊并認證,這樣就無需重復支付微信認證所需的300RMB了。

接入微信支付的方法步驟

1.2 微信商戶平臺

微信認證完成后,在公眾號后臺的 微信支付 中開通微信支付功能。提交微信支付申請后,3-5個工作日內,會進行審核,審核通過后會往你填寫的郵箱里發送一份包含商戶號信息的郵件,同時會往你填寫的對公賬戶中打幾毛錢的匯款,需要你查看具體金額后在商戶平臺中驗證。

商戶分為普通商戶和服務商商戶,千萬不要申請錯了。

普通商戶是可以進行交易,但是不能拓展商戶。

服務商可以拓展商戶,但是不能交易。

服務商就是提供統一的支付入口,它需要綁定具體的普通商戶,微信支付時會在支付接口中攜帶普通商戶參數,支付成功后金額會直接到具體的普通商戶賬戶上。

接入微信支付的方法步驟

申請時直接申請普通商戶就可以了。

1.3 綁定商戶

微信支付發起依賴于公眾號、小程序等應用與商戶號的綁定關系。因此在進行開發前,需要將商戶與具體應用進行綁定。

如果商戶和需要綁定的AppID是同一主體,只需要以下步驟即可完成綁定。

  • 在商戶平臺-產品中心-AppID賬戶管理中關聯AppID,輸入AppId申請綁定

  • 在公眾號或小程序后臺微信支付-商戶號管理中進行確認。

接入微信支付的方法步驟

如果商戶和需要綁定的AppID是不同主體,步驟和上述一樣,除了輸入AppId之外,還需要填入AppId的認證信息。

接入微信支付的方法步驟

二、微信支付相關配置

2.1 支付產品類型

1. 付款碼支付

用戶打開微信錢包-付款碼的界面,商戶掃碼后提交完成支付。

2. JSAPI支付

用戶通過微信掃碼,關注公眾號等方式進入商家H5頁面,并在微信內調用JSSDK完成支付。

3. Native支付

用戶打開微信掃一掃,掃描商戶的二維碼后完成支付。

4. APP支付

商戶APP中集成微信SDK,用戶點擊后跳轉到微信內完成支付。

5. H5支付

用戶在微信以外的手機瀏覽器請求微信支付的場景喚起微信支付。

6. 小程序支付

用戶在微信小程序中使用微信支付的場景。

7. 刷臉支付

無需掏出手機,刷臉完成支付,適合線下各種場景。

在商戶平臺-產品中心-我的產品中申請開通支付產品。

接入微信支付的方法步驟

2.2 支付授權目錄配置

在商戶平臺-產品中心-開發配置中進行支付授權目錄的配置(即你開發的下單接口地址),需要注意的是授權目錄最多可以配置五個,在開發過程中請合理定義支付接口。

接入微信支付的方法步驟

2.3 配置商戶密鑰

在商戶平臺-賬戶中心-API安全中設置API密鑰。

接入微信支付的方法步驟

第一次設置時,需要安裝操作證書,傻瓜式安裝,按照提示一步一步操作就可以。

API密鑰需要一個32位的隨機字符串,記得不要隨意更改API密鑰

接入微信支付的方法步驟

在微信API v3版本中,除了要配置API密鑰外,還需要配置APIv3密鑰和申請CA頒發的API證書。

  • API v3密鑰主要用于平臺證書解密、回調信息解密。

  • API證書用于調用更高級別的api接口,包含退款、紅包等接口。

如果使用開源的微信開發包,請了解是否支持v3版本

2.4 配置服務器

在公眾號后臺-開發-基本配置-服務器配置中啟用并填寫服務器信息。

接入微信支付的方法步驟

2.5 白名單配置

在公眾號后臺-開發-基本配置-公眾號開發信息中配置開發者密鑰,同時填寫IP白名單。

接入微信支付的方法步驟

2.6 JS接口安全域名

在公眾號后臺-公眾號設置-功能設置中設置JS接口安全域名。

接入微信支付的方法步驟

上面的配置是基于公眾號支付配置的,小程序支付沒有這么麻煩,小程序支付不用配置支付授權目錄和授權域名。

 JSAPI小程序
支付協議HTTP/HTTPSHTTPS
支付目錄
授權域名

三、微信支付流程

由于微信升級了API接口,在API v3接口中,需要加載申請的API證書,微信已經封裝了相關jar包,并且提供了加載示例,具體可參考“https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_3.shtml”,這里就不再贅述。我們以API v2為例詳細學習一下微信接入的主要流程(因為API v3的一些接口還在持續升級,v2接口相對完整)。

接入微信支付的方法步驟

上面的這張圖片來自微信開發文檔,我們詳細分析一下支付流程。

3.1 微信下單接口

用戶通過微信客戶端發起支付,在商戶后臺生成訂單,然后調用微信下單接口,生成預支付訂單,返回訂單號!

下單接口涉及到的主要參數,只列舉重要的幾個參數:

請求參數是否必傳類型描述
appidString公眾號appid
mch_idString商戶號
nonce_strString隨機字符串,32位以內
signString簽名,默認使用MD5進行加密
out_trade_noString系統內部訂單號
total_feeInt訂單總金額,單位是分
notify_urlString支付結果通知接口

sign的簽名也比較通用,涉及了一個保證簽名不可預測的nonce_str

  • 將所有發送的非空參數使用字典排序生成鍵值對(key1=value1&key2=value2);

  • 將商戶平臺密鑰拼接在上述字符串的最后("String"+&key=密鑰);

  • 將上述字符串采用MD5加密

3.2 支付

拉起微信支付,輸入密碼,完成支付。這一步需要在H5網頁中執行JS調起支付。

需要以下參數,因此在預付訂單返回時,需要將下列參數封裝后響應給頁面,由頁面完成支付。

參數名是否必傳類型描述
appIdString公眾號id
timeStampString當前時間戳
nonceStrString隨機字符串
packageString預支付訂單,格式為prepay_id=***
signTypeString簽名類型,默認MD5
paySignString簽名

簽名和下單接口的簽名方式一樣。

JS偽代碼如下:

function onBridgeReady(){
    WeixinJSBridge.invoke(
        'getBrandWCPayRequest', {
            // 公眾號ID,由商戶傳入            "appId":"wx2421b1c4370ec43b",
            // 時間戳,自1970年以來的秒數            "timeStamp":"1395712654",  
            // 隨機串            "nonceStr":"e61463f8efa94090b1f366cccfbbb444",
            "package":"prepay_id=u802345jgfjsdfgsdg888", 
            // 微信簽名方式            "signType":"MD5",
            // 微信簽名            "paySign":"70EA570631E4BB79628FBCA90534C63FF7FADD89"        },
        function(res){
            if(res.err_msg == "get_brand_wcpay_request:ok" ){
                // 使用以上方式判斷前端返回,微信團隊鄭重提示:                // res.err_msg將在用戶支付成功后返回ok,但并不保證它絕對可靠。            } 
        }); 
}if (typeof WeixinJSBridge == "undefined"){
    if( document.addEventListener ){
        document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
    }else if (document.attachEvent){
        document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
        document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
    }
}else{
    onBridgeReady();
}

注意偽代碼中的這句話// res.err_msg將在用戶支付成功后返回ok,但并不保證它絕對可靠。為什么這么說呢,我舉個例子應該就明白了。假如你去超市買東西,是不是你說支付成功了你就可以把東西帶走呢?肯定不是,是當商家收到錢后才算你支付成功,你才可以把東西帶走。也就是說,這里提示的成功并不能說一定支付成功了,具體是否成功,微信平臺會以異步的方式給你進行通知。

3.3 異步通知

異步通知是比較重要的一步,在這里你可以根據通知結果處理你的業務邏輯。但是,可能會由于網絡波動等原因通知不到,或者說微信接收到的響應不符合API的規定,微信會持續發起多次通知(請在回調通知接口中合理處理,避免重復通知造成業務重復處理),直到成功為止,通知頻率為15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 總計 24h5m)。但是微信不保證通知最終一定會成功。

異步通知響應參數如下:

參數名是否必傳類型描述
return_codeString返回狀態碼,SUCCESS/FAIL
return_msgString返回信息

如果微信一直通知不成功怎么?還是剛才那個例子,你明明支付成功了,但是商家卻一直說她沒收到錢,這時候你怎么辦?肯定是去看一下她的手機是否真的沒有收到錢!這里也一樣。

3.4 支付狀態查詢

接入微信支付的方法步驟

  1. 商戶APP或者前端頁面收到支付返回時,商戶需要調用商戶查單接口確認訂單狀態,并把查詢結果展示給用戶。

  2. 商戶后臺需要準確、高效地處理微信支付發送的異步支付結果通知,并按接口規范把處理結果返回給微信支付。

  3. 商戶后臺未收到異步支付結果通知時,商戶應該主動調用 微信支付查單接口,同步訂單狀態。

  4. 商戶在T+1日從微信支付側獲取T日的交易賬單,并與商戶系統中的訂單核對。如出現訂單在微信支付側成功,但是在商戶側未成功的情況,商戶需要給用戶補發貨或者退款處理。

到此,關于“接入微信支付的方法步驟”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

塔城市| 溧水县| 乌兰县| 牙克石市| 饶河县| 永宁县| 巫山县| 莱芜市| 吐鲁番市| 乐昌市| 芒康县| 交口县| 剑河县| 彰化县| 阿拉善左旗| 台东县| 南汇区| 平度市| 宁明县| 恩平市| 德阳市| 德江县| 万源市| 正定县| 广西| 临泽县| 手游| 武威市| 安龙县| 齐河县| 商都县| 临城县| 永川市| 桐乡市| 安国市| 平南县| 泉州市| 元谋县| 呼玛县| 博罗县| 布拖县|