天天看點

微信支付-微信公衆号支付,微信H5支付,微信APP支付,微信掃碼支付

1. 登入 微信公衆平台 ;

2. 點選左邊菜單裡面的微信支付

微信支付-微信公衆号支付,微信H5支付,微信APP支付,微信掃碼支付

檢視相關商戶号,确定該公衆号支付針對由哪個商戶号進行收款;

3. 登入步驟2中的商戶平台,點選産品中心,開啟支付産品-公衆号支付(如果已開通可以忽略該步驟);

4. 繼續點選商戶平台->産品中心->開發配置,确定商戶号是否和即将開發的公衆号支付一緻。檢視支付配置->公衆号支付

微信支付-微信公衆号支付,微信H5支付,微信APP支付,微信掃碼支付

添加相應的jsapi授權目錄,添加規則具體參見:微信公衆号支付開發目前url未注冊解決辦法

 5. 回到公衆平台,設定->公衆号設定->功能設定,添加js接口安全域名和網頁授權域名;

h5支付是指商戶在微信用戶端外的移動端網頁展示商品或服務,使用者在前述頁面确認使用微信支付時,商戶發起本服務呼起微信用戶端進行支付。

主要用于觸屏版的手機浏覽器請求微信支付的場景。可以友善的從外部浏覽器喚起微信支付。

提醒:h5支付不建議在app端使用,如需要在app中使用微信支付,請接app支付,文檔詳見微信支付開發文檔。

申請入口:登入商戶平台-->産品中心-->我的産品-->支付産品-->h5支付

https://pay.weixin.qq.com/wiki/doc/api/h5.php?chapter=15_5

1. 登入商戶平台,檢視開發配置->檢視商戶号和h5支付域名。

2. 登入開發平台,确定appid,appid必須是移動應用中所使用的appid

微信支付-微信公衆号支付,微信H5支付,微信APP支付,微信掃碼支付

更正:appid 可以是公衆号id,注意是

3. 檢視相關的商戶号、和支付key(用于簽名)。檢視key步驟:商戶平台->賬戶中心->賬戶設定->api安全->然後在該頁的“api密鑰”部分,點選“設定密鑰”,可以看到密鑰内容,該密鑰就是我們需要的“支付key”。本步操作隻能在開發階段、産品沒有上線前操作,産品上線後切忌點選“設定密鑰”,否則會影響線上的支付功能。

4. 調用統一下單即可得到 mweb_url ,打開支付視窗,進行支付。統一下單接口請參考https://pay.weixin.qq.com/wiki/doc/api/h5.php?chapter=9_20&index=1

5. 可以對 mweb_url 進行設定重定向頁面

補充:redirect_url 必須是目前域名下指定的位址,比如發起支付h5域名是domain,重定向頁面位址最好是domain,否則未配置的情況下會報商家存在未配置的參數,請聯系商家解決

6. 支付成功或者取消或者失敗都會重定向 redirect_url 位址,支付成功會異步執行通知notify_url。

1. 登入開發平台,檢視appid;

2. 登入商戶平台,檢視對應的商戶号;

3. 密匙key同微信h5支付步驟3;

4. 然後調用app統一下單;

注意:

1. 解決微信app支付服務端,app上提示“商戶支付下單id非法”

統一下單接口,傳回的字段名是“prepay_id”

調起支付接口,傳入的字段名是“prepayid”

坑爹的微信支付!!

同時呼籲大家一定要養成命名規範。。。

2.關于微信app支付,提示支付驗證簽名失敗

最近做微信app支付,在“統一下單”裡加簽沒有問題,調用成功,但是在 “調起支付”後卻提示  支付驗證簽名失敗。

先說一下請求的參數,參數一共有七個:

prepayid(統一下單裡傳回的辨別符),

partnerid(商戶号),

appid,

package(微信要求必須有,内容是“sign=wxpay”),

 noncestr(随機數,不适用微信傳回的,是重新生成一個,注意統一下單裡的參數是nonce_str),

timestamp(時間戳,十位,注意統一下單裡的時間是完整的時間,這裡是時間戳),

sign(簽名,将上述字段重新簽名,而不是用統一下單傳回的sign)。

這個問題折磨了我一上午,以為統一下單裡簽名沒問題,那麼調起支付就不會在加簽上出錯,最後用微信的簽名生成工具對比了一下簽名結果發現 程式生成的簽名與官網生成的不一樣,然後把簽名過程輸出了下,發現 package 這裡出現了問題。

sign=wxpay,我在加簽裡對内容進行了utf-8編碼,而恰巧,一不小心 “=” 也參與了編碼,于是 就變成了 sign%3dwxpay,然後 錯誤的package進行了錯誤的加簽,導緻簽名出錯。

解決方案:在加簽過程裡修改,如果map比對到 package,那麼map的值不參與編碼。官方簽名校驗工具位址:https://pay.weixin.qq.com/wiki/tools/signverify/。

(吐槽一句,微信支付的文檔真是一團糟,要啥啥沒有,找啥找不到,而且還出現了 多個标準。當然,也可能是我水準太差。。)

5. 支付完成,等待通知回調。

補充:微信掃碼支付

公衆号支付是手機端的微信公衆号h5頁面支付,這種支付方式必須是在微信内置浏覽器發起。

掃碼支付分為模式一和模式二,模式一主要為線下服務,該模式是先掃碼,再生成訂單,商戶先為自己的商品生成二維碼連接配接,然後使用者掃碼之後決定是否購買,二維碼無過期時間,比如自動售賣機大多采用這種模式;模式二主要為線上電商服務,使用者選擇商品後生成訂單,根據訂單生成二維碼,然後支付,該二維碼為臨時二維碼。

申請入口:登入商戶平台-->産品中心-->我的産品-->支付産品-->掃碼支付

設定掃碼支付回調連結:登入商戶平台-->産品中心-->開發配置

采用模式二:

統一下單後會生成一個 code_url : weixin://wxpay/bizpayurl?pr=dbjqsa6

利用第三方二維碼工具生成二維碼

最好掃碼進行支付回調ok

原創文章請随便轉載。願和大家分享,并且一起進步。-- 江 coder