Hbuilder mui——app微信支付


一、參數說明

        登陸微信開放平台(注意是開放平台,不是公眾平台);https://open.weixin.qq.com

        做app首先需要在微信開放平台后台創建應用,第二步勾選ios和Android應用平台,其中Android應用需要填寫應用簽名、應用包名,重點就在與如何獲取應用包名、應用簽名。(審核和開通方式教程

        

        應用包名:就是Hbuilder中打包時填寫的Android包名;

        應用簽名:如果用的是DCloud公用證書,則微信應用簽名為:"59201cf6589202cb2cdab26752472112"(全小寫)

                        如果是自有證書,獲取應用簽名方法:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5  參考:Android開發要點說明->第一步(后台設置)。

                        也可以自己配置證書,在網上搜索android.keystore證書配置教程,app打包時候選擇此證書即可

        下圖是微信中的配置,注意看紅框中的描述

 

二、DCloud官網支付配置

        官方的支付配置有很多重點都沒說明,但是下面的參考實例代碼還是有用的。其中的appid就是開放平台的appid。

         注意:獲取的支付通道每種包含三個字段:id、description、serviceReady。serviceReady是用來判斷支付通道服務是否安裝,對於支付寶可以通過wap頁面支付,因此值固定為true;然而微信支付則依賴微信客戶端,如果設備上未安裝微信客戶端則serviceReady值為false,此時應該提示用戶安裝微信客戶端才能進行支付操作。(官網文檔

 三、流程

        流程與支付寶app支付類似。(業務流程Android開發步驟說明

        1.app發起支付申請,請求服務器向微信發起預付單處理;(微信統一下單

        2.請求成功后,對預付單進行簽名並返回json數據給app;(處理並簽名之后的參數:調起支付參數

        3.app拉起微信支付;

        4.支付成功后異步通知服務器支付結果;

        5.app中進入訂單支付結果頁面(這里數據重新與服務器確認是否支付成功)

四、問題解決

        肯定會碰到的問題:支付失敗:-100[100]:[payment微信:-1]General errors,肯定是配置出現錯誤了,微信不會提醒你錯誤在哪的

                1.檢查參數:

                        a.確認開放平台的 appid、mac_id、key、Appsecret  與服務器中的配置一樣。(公眾號中NOTIFY_URL 是需要匹配才能回調,開放平台好像不需要)

                        b.app只需要配置微信appid即可。

                        c.確認app中的"應用包名"與微信中配置一樣;

                        d.再次檢查微信配置中的"應用簽名"是否按規定獲取的。!!!!(簽名通過一個app獲取,參考上面文檔,確認是否填的正確值)

                2.如果是剛修改過微信配置中的應用簽名,則需要等待幾分鍾甚至更久才能測試成功

                3.確認服務器向微信發起預付單處理,返回的參數沒有錯誤(說明簽名方式沒錯,所有簽名方式都需要按同一種方式執行)

                4.在app端查看服務器傳回來的參數是否缺少或者有錯誤(參考 調起支付參數 嚴格對比字母大小寫)

 

mui中查看錯誤信息比較麻煩,我的做法是:console.log(JSON.stringify(result)); 數組轉為輸出json字符串

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM