淺析微信支付:支付驗收示例和驗收指引
本文是【淺析微信支付】系列文章的第十一篇,主要講解支付驗收示例和驗收指引。
淺析微信支付系列已經更新十一篇了喲~,沒有看過的朋友們可以看一下。
上一篇文章我們講了 如何使用沙箱環境測試
,文中有講到沙箱環境不僅可以用來當開發環境使用,及時返回介面資料,還能當作微信支付的 驗收示例
,官方指出,為了安全考慮希望所有商戶都接入驗收,以下我們會結合官方文件為大家講解如何接入及相關的驗收用例。
驗收指引
官方文件地址:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_1
複製程式碼
本文閱讀物件為:商戶自有系統(包括但不限於:線上購物平臺、人工收銀系統、自動化智慧收銀系統、APP應用等)負責微信支付功能驗收的測試及開發人員。
為保證商戶接入質量,提升交易安全及使用者體驗,微信支付的合作服務商在正式上線交易前,必須先根據本文指引完成驗收。驗收完成後,服務商在驗收公眾平臺(微訊號:WXPayAssist
)提交驗收通過申請,稽核通過後,才能開通相應的支付許可權(如:刷卡支付)。否則,請根據稽核駁回提示,重新完成驗收。
注:模擬測試環境中的商戶號(父子商戶號)需使用真實商戶號。
驗收流程
如圖2,商戶在收到微信支付稽核通過的郵件後,即可用郵件中提供的開發者資訊,啟動測試驗收工作。驗收開始後,驗收負責人可按照下表步驟操作:
以上為驗收的基本步驟,首先,我們需要接入 沙箱環境
,不知道的小夥伴可以檢視我的上一篇文章,有詳細描述,這裡就不細說了。
驗收測試用例
如果已經接入沙箱環境,我們就可以開始選擇微信官方對應的驗收用例進行測試了,官方提供了四種驗收用例,如下:
請根據您需要開通的功能來選擇相應的驗收用例進行測試:
◆ 刷卡支付驗收用例 ◆ 掃碼支付驗收用例 ◆ 公眾號支付驗收用例 ◆ 免充值券驗收用例
這裡我們以 公眾號支付驗收用例
來做例子,下面為官方的驗收流程:
流程我們已經知道了,重點來了,我們需要下載驗收用例,下面是地址:
https://pay.weixin.qq.com/wiki/doc/api/download/jsapi_yanshou.zip
複製程式碼
首先,請關注上面圖片中的二維碼,如果遇到問題,可以檢視官方的異常解答;下載驗收用例後,我們會得到 4 個用例文件,需要根據文件中的描述來進行驗收,支付成功
、支付失敗
介面是必須驗收的。
如何驗收?
簡單講,驗收分為以下幾個步驟:
- 獲取
sandbox_signkey
- 修改正常介面地址為沙箱環境地址,增加
sandboxnew
路徑 - 根據用例集標題中的金額傳入引數,呼叫相應的介面
- 檢視返回值與用例集中是否一致,如果一致則成功,否則失敗
需要注意的是,一定要根據用例集中的標題傳入金額,比如支付成功用例集
需要傳入金額1.01
元,那我們就必須傳入這個金額,傳入其他金額會導致失敗。
以下為示例程式碼:
public static void main(String[] args) throws Exception {
System.out.println("--------------->");
// 沙箱環境測試
WXPay wxPay = new WXPay(WXPayConfigImpl.getInstance(), true, true);
Map<String, String> resultMap = wxPay.unifiedOrder(notify_url, openid, body, out_trade_no,
"1.01", spbill_create_ip, goods_tag, detail,
timeStart, timeExpire);
System.out.println(resultMap);
/*Map<String, String> resultMap = wxPay.refund(null, "10000", "10001", "1.01", "0.01", "測試微信退款");
System.out.println(WXPayUtil.isSignatureValid(resultMap, WXPayConstants.API_KEY));*/
System.out.println("<---------------");
}
複製程式碼
上面程式碼中是作者封裝好的sdk方法,開啟沙箱環境只需要例項化物件時傳入引數即可:
// 沙箱環境測試
WXPay wxPay = new WXPay(WXPayConfigImpl.getInstance(), true, true);
// 正式環境
WXPay wxPay = new WXPay(WXPayConfigImpl.getInstance());
複製程式碼
具體原始碼見下面文末github地址。
結語
給小夥伴們分享點驗收的經驗,首先,一定要先看一遍官方文件,然後跟著官方文件一步步的操作,對於官方所講的關鍵資訊,必須仔細檢查,比如上面所說的金額,還有官方標紅的一些註釋,本文主要目的是給大家一個分享和參考,比較方便的是作者已經封裝好的sdk中有相關的 沙箱環境
切換示例,不需要大家再分析具體實現,關注如何應用即可。
如果小夥伴有遇到解決不了的問題,可以關注作者微信公眾號,加入討論群中發出疑問,和小夥伴們一起解決哦~
預告:下一篇文章 (餘額提現)企業付款到微信使用者零錢賬戶
,敬請期待!!!
如果想要提前一覽原始碼的小夥伴,可以先看看我的 github,地址如下: https://github.com/YClimb/wxpay-sdk/blob/master/README.md
關注作者微信公眾號,點選下方討論群
,掃碼即可加入微信支付討論群
與小夥伴一起探討哦~
到此本文就結束了,關注公眾號檢視更多推送!!!