最近幫朋友做了一個簡單的微分銷系統(tǒng),實現(xiàn)從企業(yè)付款到零錢分潤的功能脑豹,簡單記錄一下微信企業(yè)付款到零錢的開發(fā)過程郑藏,
主要就是按規(guī)則封裝好請求參數(shù)調(diào)用微信接口,涉及一些簽名校驗瘩欺;
A.接口流程
1. 獲取用戶OPENID 必盖,不同用戶在不同公眾號下的OPENID都是唯一的, 這里主要講企業(yè)付款到零錢俱饿,已經(jīng)實現(xiàn)微信獲取用戶信息的騷年可以跳過這一步
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839
2. 參數(shù)簽名歌粥,需要將參數(shù)簽名傳遞到微信企業(yè)付款接口,如果之前有實現(xiàn)其他微信接口拍埠,可以復(fù)用原來簽名方法
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=4_3
3. 調(diào)用企業(yè)付款接口
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2
B.前置條件
1. 已開通微信應(yīng)用(服務(wù)號或者小程序)阁吝,主要用到APPID+OPENID
2. 已開通微信商戶,并且開通企業(yè)付款到零錢械拍,主要用到商戶號+商戶秘鑰+商戶證書
C.代碼實現(xiàn):
核心代碼就是下面這個方法突勇,其實把需要的參數(shù)準(zhǔn)備好后邏輯就很簡單了,實現(xiàn)的就是開發(fā)流程中定義的幾個步驟坷虑;
D.最終效果
微信企業(yè)付款A(yù)PI的JAVA代碼我打了個壓縮包甲馋,有興趣的騷年可以自己下載到本地,項目可以直接跑起來迄损,需要把參數(shù)根據(jù)自己的實際情況進行配置定躏;小程序和微信服務(wù)號操作流程都是一樣的。
--企業(yè)付款DEMO下載-- ? ?提取碼: s7ps
E.常見問題
文章主要還是給大家提供思路芹敌,有網(wǎng)友留言說付款還是會遇到問題痊远,可以加我的QQ:2172931891,盡可能幫助定位;
我了解反饋最多的是下面這幾類問題氏捞,如果有遇到的話可以先自己排查下:
app_id (商戶關(guān)聯(lián)的應(yīng)用ID)?
mch_id (商戶ID)
key (商戶秘鑰)
1.SIGNERROR 簽名錯誤
-- 請求時編碼要是全部設(shè)置為UTF-8;
-- key傳的不正確碧聪,key和app_id一定要對的上,如果已經(jīng)接入過微信支付液茎,要確認這里的傳的就是微信支付中用到的key;
-- 簽名的參數(shù)和傳遞給微信的參數(shù)不匹配逞姿,一般是拼接參數(shù)不正確導(dǎo)致的,DEMO中參數(shù)已經(jīng)配置好了捆等,只要不修改參數(shù)的個數(shù)基本不會有問題;? ?
2.NO_AUTH 此IP地址不允許調(diào)用接口
-- 新版本商戶后臺默認需要IP校驗滞造,有些人填192.168.1.XXX這種內(nèi)網(wǎng)IP是不行的,可以訪問ip168之類的網(wǎng)站獲取自己的外網(wǎng)地址栋烤;在開發(fā)階段也可以先關(guān)掉校驗谒养,方便本地調(diào)試;
3.OPENID_ERROR Openid錯誤
-- app_id和openid沒對上導(dǎo)致的,比如公司同時開通了小程序和微信服務(wù)號明郭,兩個應(yīng)用關(guān)聯(lián)了同一個商戶买窟,極有可能就是用的小程序app_id作為參數(shù),但是傳的是微信服務(wù)號關(guān)聯(lián)的openid
企業(yè)付款到個人零錢差不多就這些內(nèi)容达址,希望可以給大家一點幫助 : )
歷史文章:
JAVA微信企業(yè)付款到零錢(十分鐘搞定)
微信授權(quán)獲取用戶openId的方法和步驟
一個微信號同時支持多個環(huán)境網(wǎng)頁授權(quán)
微信兩種簽名算法MD5和HMAC-SHA256