1. 程式人生 > >微信公眾平臺+商戶平臺 公眾號支付 總結(即trade_type=JSAPI)追加:小程式

微信公眾平臺+商戶平臺 公眾號支付 總結(即trade_type=JSAPI)追加:小程式

前言:

    因為現在微信公眾號和微信商戶平臺已經是兩個相對獨立的模組,再加上服務商概念的引入,使得現在微信公眾號與支付平臺的關係變得十分靈活,但是對於支付來講二者又缺一不可,所以決定寫點東西記錄一下,以便自己以後忘掉能夠隨時撿起。

圖示:

對於普通商戶來說,1.有自己的公眾號,2.使用者支付的錢放到自己的商戶平臺中。

對於服務商來說,1.有自己的公眾號,2.為多個商戶平臺提供服務。

說明:

1.商戶A可以有兩個商戶平臺,在自己的公眾號中,錢付到兩個商戶平臺都是沒有問題的

2.商戶B可以沒有公眾號,所以收入依賴於服務商

3.支付介面(/pay/unifiedorder):(服務商的介面就是多了sub_appid與sub_mch_id兩個欄位,同理  查詢介面

普通商戶:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1

服務商:https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=9_1

4.支付介面呼叫成功後,前端要接jsapi,使付錢的彈出框能夠正確的彈出。

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6

出錯總結(針對服務商介面):

1.支付介面返回:“appid和mch_id不匹配”。欄位appid與mch_id有對應關係,A對應A的,X對應X的,不能亂。

2.支付介面返回:“簽名錯誤”。

    (1)注意API_KEY的值,每個商戶平臺有自己的api-key,不能亂。在服務商商戶平臺-賬戶中心-API安全,設定api-key

    (2)欄位sign,生成簽名要放在所有引數的最後。

3.JS API返回:“當前頁面的url未註冊:xxxxxx”。在服務商商戶平臺-產品中心-開發配置,設定url。注意http/https以及書寫格式

2018.8.2-小程式的開發

   今天又倒騰了一下微信的服務商的小程式,做個記錄。

    1.小程式在其公眾平臺上,配置好伺服器域名(後臺介面用),業務域名(小程式的iframe標籤 web-view用)

    2.小程式支付:同公眾號支付一樣,在呼叫wx.requestPayment(OBJECT)之前,首先呼叫微信統一下單的介面,與之前的有一些差別,要傳參sub_appid(小程式的appid),引數openid改為sub_openid。

接下來就是sign簽名,公眾號支付簽名是用服務商的appid,但是小程式這一步要用小程式的appid

    3.最後,在服務商的商戶平臺上,路徑:服務商功能-特約商戶管理-(對應統一下單付款的商戶的)配置-特約商戶APPID配置。將小程式的appid新增其中。

到此,完事。

出錯總結(針對服務商介面):

1.如果不走第3步,直接支付,應該會報錯:“商戶傳入的appid引數不正確,請聯絡商戶處理”

2.如果不改sign簽名,報錯:“支付驗證簽名失敗”