微信支付(服務商)

今日有個在同一個小程序支付 款項需要付到不同的銀行卡里去???

於是找了下微信小程序支付文檔,只有個requestPayment方法

emmm 去看看小程序後臺吧

ok 有個微信支付  但是隻能綁定一個商戶號。。。死路

遂找到一位踩過坑的大佬的文章https://www.jianshu.com/p/209001043837

試試。
首先

註冊服務號!劃重點 一定是服務號。別的不行。然後就是例行操蛋的微信認證。300元。

認證完找到微信支付----》服務商申請

其中:無資金結算功能,商戶交易資金直接結算至商戶的賬戶; 

這不就是我們要的功能嗎?!開搞

然後又是例行操蛋申請過程 繁複無比。ok不要緊 ,能實現需求就是好貓🐱

然後開始配置服務商

1、API密鑰  這個很重要,支付的簽名驗證需要它 這個是在賬戶中心--》API安全--》API密鑰

修改好即可 生成密鑰可以去這裏---》http://tool.chinaz.com/tools/md5.aspx

2、申請服務商的特約商戶  即申請需要支付到對應對公賬戶的商戶號(這裏說明下,註冊服務商需要對公賬戶,這個對公賬戶已經註冊爲服務商了 就不能再成爲特約商戶,需要注意。即總店不能作爲分店再次註冊)

申請過程略

申請完後找到 服務商功能--》特約商戶管理--》配置

(1)修改公衆號支付域名 即自己api域名

(2)支付回調地址修改 注意 這裏是地址 不是域名

(3)特約商戶APPID配置 即綁定需要支付的功能小程序

至此 服務商配置完成。OK 開始激(fei)動(chang)人(e)心的代碼環節。

首先的打開坑爹的微信服務商統一下單文檔

ok 頭有點暈  咱們先不去深入理解他 提取幾個需要的參數(keng)就好

1、appid  注意⚠️ 這裏是用服務號的appid 不是小程序的

2、mch_id 這裏是用服務商的id 在我的賬號一欄可以找到

3、sub_appid  這裏纔是小程序的appid

4、sub_mch_id 這裏對應特約商戶號id 付款到對應商戶的憑證就是這個 在註冊特約商戶的時候郵件裏可以找到 這裏建議配置到數據庫動態傳遞

5、nonce_str 隨機字符串  沒什麼好說的

6、body 自行看文檔

7、out_trade_no 訂單號

8、total_fee 自行看文檔

9、trade_type 自行看文檔

10、sub_openid 此參數是巨坑 需要在發起支付前在小程序內調起wx.login 方法獲得code 然後後臺通過置換 獲得用戶openid,與之前登陸時獲取保存的openid不是同一個 需要注意

11、spbill_create_ip 自行看文檔

12、notify_url 自行看文檔

13、sign 此參數爲簽名參數 需要將需要傳遞的參數進行排序並且進行md5簽名,需要注意的是需添加參數key 即之前修改的服務商api密鑰(見代碼)

 

 好了 參數分析完畢 在後臺調用統一下單方法 不出意外是成功的 代碼見這裏(此代碼爲java且是本人整理的 如有錯誤請指正)

返回結果居然是xml格式的  emmm

ok 獲取到我們此行的重要參數 prepay_id  

同時還獲取到了一堆!@#¥%

不管 直接回傳小程序

至此 統一下單預支付完成,具體實現還得結合自身業務需求

 

--------------分割線-------------------

 

小程序開始調起微信支付 也就是我們最先看的微信小程序支付文檔 

驚(ju)喜(keng)來了

參數分析

1、timeStamp 沒什麼好說 注意是精確到秒的時間戳 毫秒貌似不行

2、nonceStr 這個參數是統一支付回傳回來  使用即可 建議存數據庫

3、package 格式如下:"prepay_id=xxxxxxx" 此參數也使用統一支付回傳回來的 建議存數據庫

4、signType 填md5  沒什麼好說

5、paySign 此參數巨坑 ,請注意

首先進行此參數拼接 先看文檔--https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=3

其中的巨坑就是這兩個參數

(1)appId 此參數不是回傳的appid啊 使用小程序的appid!!

(2)key 此參數也不要使用回傳的 是用之前在服務商裏修改api密鑰!

哎呀嗎 可把我坑慘了 往死了報 商戶簽名錯誤  我!@#¥%& 坑爹文檔 記住一點不要使用回傳裏的參數即可

可以考慮在回傳之前就在後臺拼接好並且簽名好此參數 直接將簽名後的參數傳回小程序此方式

然後進行md5簽名 MD5.hexMD5(sign).toUpperCase()   (sign爲之前拼接的參數)

ok 坑排完了 調起支付  扣錢 美滋滋

寫此文檔是因爲發現網上都沒有對應的完整的解決步驟。。。或許是太簡單了??emmm

反正我覺得挺坑爹的這文檔 

與大家共勉吧~

文章最後發佈於: 2019-07-02 09:59:55
展開閱讀全文 
有 0 個人打賞
微信小程序支付支持服務商模式
閱讀數 2659

詳見微信支付-開發文檔:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_sl_api.php?chapter=9_1 ...
博文
來自: 我是小黑,我要發發。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章