成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

淺析微信支付:如何使用沙箱環(huán)境測(cè)試

騫諱護(hù) / 3381人閱讀

摘要:本文是淺析微信支付系列文章的第十篇,主要講解如何使用沙箱環(huán)境來(lái)測(cè)試微信支付。圖為微信支付仿真測(cè)試系統(tǒng)后簡(jiǎn)稱(chēng)仿真系統(tǒng)的簡(jiǎn)化原理圖。沙箱說(shuō)明微信支付沙箱環(huán)境,是提供給微信支付商戶(hù)的開(kāi)發(fā)者,用于模擬支付及回調(diào)通知。

本文是【淺析微信支付】系列文章的第十篇,主要講解如何使用沙箱環(huán)境來(lái)測(cè)試微信支付。

淺析微信支付系列已經(jīng)更新十篇了喲~,沒(méi)有看過(guò)的朋友們可以看一下。

淺析微信支付:下載對(duì)賬單和資金賬單

淺析微信支付:申請(qǐng)退款、退款回調(diào)接口、查詢(xún)退款

淺析微信支付:查詢(xún)訂單和關(guān)閉訂單

淺析微信支付:支付結(jié)果通知

在實(shí)際開(kāi)發(fā)中,通常我們都是在開(kāi)發(fā)環(huán)境中開(kāi)發(fā),本地環(huán)境也有很多限制,比如:微信支付無(wú)法調(diào)起、H5鏈接需要鑒權(quán)、支付結(jié)果通知需要外網(wǎng)等。

面對(duì)以上的問(wèn)題,微信官方給出了解決的方法,就是咋們這篇文章的 沙箱環(huán)境,也就是微信支付的官方測(cè)試環(huán)境,這個(gè)環(huán)境能做些什么呢?我覺(jué)得最重要的一點(diǎn)就是我們可以實(shí)時(shí)根據(jù)官方的例子調(diào)用對(duì)應(yīng)的接口,并且接口會(huì)馬上返回結(jié)果,拿微信支付預(yù)支付單接口來(lái)說(shuō),調(diào)用以后會(huì)實(shí)時(shí)返回我們支付的相關(guān)信息,這樣就免于開(kāi)發(fā)時(shí)不知道返回結(jié)果而苦惱。

仿真測(cè)試系統(tǒng)

為降低商戶(hù)測(cè)試門(mén)檻,微信支付團(tuán)隊(duì)開(kāi)發(fā)了一套獨(dú)立的仿真測(cè)試系統(tǒng)。該系統(tǒng)根據(jù)驗(yàn)收用例金額的不同返回不同的響應(yīng)報(bào)文,以滿(mǎn)足商戶(hù)正常功能測(cè)試、安全/異常測(cè)試及性能測(cè)試的需求。

圖1為微信支付仿真測(cè)試系統(tǒng)(后簡(jiǎn)稱(chēng)仿真系統(tǒng))的簡(jiǎn)化原理圖。仿真系統(tǒng)的API協(xié)議與正式API完全相同(API接口文檔)。商戶(hù)開(kāi)發(fā)者只需將正式API的調(diào)用URL增加一層sandboxnew路徑,即可對(duì)接到仿真系統(tǒng)。

例如,刷卡支付URL:https://api.mch.weixin.qq.com...
變更為:https://api.mch.weixin.qq.com...。

仿真系統(tǒng)與生產(chǎn)環(huán)境完全獨(dú)立,包括存儲(chǔ)層。商戶(hù)在仿真系統(tǒng)所做的所有交易(如下單、支付、查詢(xún))均為無(wú)資金流的假數(shù)據(jù),即:用戶(hù)無(wú)需真實(shí)扣款,商戶(hù)也不會(huì)有資金入賬。代金券同理,沙箱環(huán)境中無(wú)需商戶(hù)真實(shí)制券與發(fā)券,亦不會(huì)出現(xiàn)真實(shí)扣券情況。驗(yàn)收仿真測(cè)試系統(tǒng)的API驗(yàn)簽密鑰需從API獲取:

源碼&交互過(guò)程

以下為微信官方的仿真測(cè)試系統(tǒng)文檔:

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_1

上面說(shuō)明具體的交互過(guò)程和相關(guān)的仿真測(cè)試系統(tǒng)的API驗(yàn)證簽名,為什么需要這個(gè)簽名接口呢?這是因?yàn)槭褂?沙箱環(huán)境 時(shí)使用的是真實(shí)的商戶(hù)號(hào)、小程序/公眾號(hào)APP_ID,但是 API密鑰這個(gè)參數(shù)必須使用 沙箱環(huán)境sandbox_signkey,此接口主要是取得這個(gè)參數(shù)。

注:仿真測(cè)試環(huán)境中的商戶(hù)號(hào)(父子商戶(hù)號(hào))需使用真實(shí)商戶(hù)號(hào)。

下面為取得 sandbox_signkey的示例:

/**
 * 獲取沙盒 sandbox_signkey
 *
 * @author yclimb
 * @date 2018/9/18
 */
private void doGetSandboxSignKey() throws Exception {
    WXPayConfigImpl config = WXPayConfigImpl.getInstance();
    HashMap data = new HashMap();
    // 商戶(hù)號(hào)
    data.put("mch_id", config.getMchID());
    // 獲取隨機(jī)字符串
    data.put("nonce_str", WXPayUtil.generateNonceStr());
    // 生成簽名
    String sign = WXPayUtil.generateSignature(data, config.getKey());
    data.put("sign", sign);
    
    // 得到 sandbox_signkey
    WXPay wxPay = new WXPay(config);
    String result = wxPay.requestWithoutCert("/sandboxnew/pay/getsignkey", data, 10000, 10000);
    System.out.println(result);
}

小伙伴可以根據(jù) result 來(lái)獲取具體的返回?cái)?shù)據(jù),解析之后獲取 sandbox_signkey參數(shù)。

商戶(hù)接入仿真系統(tǒng)的交互流程示例:

商戶(hù)發(fā)起刷卡支付請(qǐng)求,使用POST方式調(diào)用 https://api.mch.weixin.qq.com...

帶sandboxnew 的https請(qǐng)求會(huì)被nginx路由到仿真系統(tǒng)。仿真系統(tǒng)根據(jù)支付金額(total_fee字段)返回預(yù)期報(bào)文給商戶(hù)。同時(shí),落地該筆請(qǐng)求數(shù)據(jù);

商戶(hù)發(fā)起查單,調(diào)用 https://api.mch.weixin.qq.com...,帶上微信訂單號(hào)(transaction_id)或商戶(hù)內(nèi)部單號(hào)(out_trade_no);

仿真系統(tǒng)收到查單請(qǐng)求后,根據(jù)單號(hào)及金額返回預(yù)期的查單結(jié)果給商戶(hù);

商戶(hù)下載對(duì)賬單,調(diào)用 https://api.mch.weixin.qq.com... ,仿真系統(tǒng)返回固定的賬單格式給商戶(hù)。注:賬單內(nèi)容不一定與商戶(hù)在仿真系統(tǒng)產(chǎn)生的交易完全相同。

沙箱說(shuō)明:sandbox/sandboxnew
微信支付沙箱環(huán)境,是提供給微信支付商戶(hù)的開(kāi)發(fā)者,用于模擬支付及回調(diào)通知。以驗(yàn)證商戶(hù)是否理解回調(diào)通知、賬單格式,以及是否對(duì)異常做了正確的處理。
◆ 如何對(duì)接沙箱環(huán)境?
1、修改商戶(hù)自有程序或配置中,微信支付api的鏈接,如:被掃支付官網(wǎng)的url為:https://api.mch.weixin.qq.com... 增加sandboxnew路徑,變更為https://api.mch.weixin.qq.com... , 即可接入沙箱驗(yàn)收環(huán)境,其它接口類(lèi)似;
2、在微信支付開(kāi)發(fā)調(diào)試站點(diǎn)(站點(diǎn)鏈接:http://mch.weixin.qq.com/wiki... ),按接口文檔填入正確的支付參數(shù),發(fā)起微信支付請(qǐng)求,完成支付;
3、驗(yàn)收完成后,修改程序或配置中的api鏈接(重要?。?,去掉sandboxnew路徑。對(duì)接現(xiàn)網(wǎng)環(huán)境。

說(shuō)明地址:
https://pay.weixin.qq.com/wik...
https://pay.weixin.qq.com/wik...

結(jié)語(yǔ)

其實(shí) 沙箱環(huán)境主要是為了方便在開(kāi)發(fā)時(shí)及時(shí)獲得接口返回值和進(jìn)行 商戶(hù)支付驗(yàn)收使用,本文講了如何獲取 sandbox_signkey參數(shù),然后如何進(jìn)行模擬對(duì)接,在實(shí)際接口URL后增加 sandboxnew 即可,接口會(huì)實(shí)時(shí)返回結(jié)果參數(shù),此點(diǎn)于正式環(huán)境不同(正式環(huán)境支付后是異步調(diào)用,沙箱環(huán)境是實(shí)時(shí)返回)。

注意:有的接口沙箱環(huán)境的接口并不只是在鏈接中增加 sandboxnew,整個(gè)鏈接都會(huì)改變,在實(shí)際操作中我們應(yīng)該查看官方文檔一一對(duì)照,如支付退款接口,正式線(xiàn)接口為:/secapi/pay/refund,而沙箱環(huán)境接口為:/sandboxnew/pay/refund,在沙箱環(huán)境中去掉了 secapi 這一路徑,請(qǐng)小伙伴一定要注意。

預(yù)告:為了更好的驗(yàn)證微信支付安全性,我們需要接入微信的 驗(yàn)收測(cè)試,下一篇文章 支付驗(yàn)收示例和驗(yàn)收指引 為大家講解,敬請(qǐng)期待!??!

?如果想要提前一覽源碼的小伙伴,可以先看看我的 github,地址如下:
?
?`
?https://github.com/YClimb/wxp...
?`

加作者私人微信,作者微信號(hào)如下 yclimb,標(biāo)明 微信支付 可拉入微信支付討論群與小伙伴一起探討哦,一定要標(biāo)明 微信支付 哦~

到此本文就結(jié)束了,關(guān)注公眾號(hào)查看更多推送!??!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/72145.html

相關(guān)文章

  • 淺析微信支付支付驗(yàn)收示例和驗(yàn)收指引

    摘要:本文是淺析微信支付系列文章的第十一篇,主要講解支付驗(yàn)收示例和驗(yàn)收指引。為保證商戶(hù)接入質(zhì)量,提升交易安全及用戶(hù)體驗(yàn),微信支付的合作服務(wù)商在正式上線(xiàn)交易前,必須先根據(jù)本文指引完成驗(yàn)收。 本文是【淺析微信支付】系列文章的第十一篇,主要講解支付驗(yàn)收示例和驗(yàn)收指引。 淺析微信支付系列已經(jīng)更新十一篇了喲~,沒(méi)有看過(guò)的朋友們可以看一下。 淺析微信支付:如何使用沙箱環(huán)境測(cè)試 淺析微信支付:下載對(duì)賬單...

    Cympros 評(píng)論0 收藏0
  • 淺析微信支付:開(kāi)通免充值產(chǎn)品功能及如何進(jìn)行接口升級(jí)指引

    摘要:本文是淺析微信支付系列文章的第十五篇,主要講解如何開(kāi)通免充值產(chǎn)品功能流程和其中的注意事項(xiàng),對(duì)于接口升級(jí)會(huì)重要講解,避免爬坑。 本文是【淺析微信支付】系列文章的第十五篇,主要講解如何開(kāi)通免充值產(chǎn)品功能流程和其中的注意事項(xiàng),對(duì)于接口升級(jí)會(huì)重要講解,避免爬坑。 淺析微信支付系列已經(jīng)更新十五篇了喲~,沒(méi)有看過(guò)的朋友們可以看一下哦。 淺析微信支付:商戶(hù)平臺(tái)代金券或立減優(yōu)惠開(kāi)通、指定用戶(hù)代金券發(fā)...

    NicolasHe 評(píng)論0 收藏0
  • 淺析微信支付:前篇大綱

    摘要:淺析微信支付前篇大綱本文是淺析微信支付系列文章的第一篇,主要會(huì)介紹一下為何寫(xiě)下這個(gè)系列以及對(duì)于微信支付的一點(diǎn)小經(jīng)驗(yàn),與君共勉。下面講一下我是如何去學(xué)習(xí)微信支付的。 淺析微信支付:前篇大綱 本文是【淺析微信支付】系列文章的第一篇,主要會(huì)介紹一下為何寫(xiě)下這個(gè)系列以及對(duì)于微信支付的一點(diǎn)小經(jīng)驗(yàn),與君共勉。 以下會(huì)分幾個(gè)步驟講一下我學(xué)習(xí)微信支付的過(guò)程,也是一部辛酸史,也是希望朋友們不要再次跌進(jìn)...

    mayaohua 評(píng)論0 收藏0
  • 淺析微信支付:下載對(duì)賬單和資金賬單

    摘要:本文是淺析微信支付系列文章的第九篇,主要講解商戶(hù)下載對(duì)賬單接口和資金賬單接口的實(shí)現(xiàn)和一些注意事項(xiàng)。注意微信側(cè)未成功下單的交易不會(huì)出現(xiàn)在對(duì)賬單中。 本文是【淺析微信支付】系列文章的第九篇,主要講解商戶(hù)下載對(duì)賬單接口和資金賬單接口的實(shí)現(xiàn)和一些注意事項(xiàng)。 淺析微信支付系列已經(jīng)更新九篇了喲~,沒(méi)有看過(guò)的朋友們可以看一下哦。 淺析微信支付:申請(qǐng)退款、退款回調(diào)接口、查詢(xún)退款 淺析微信支付:查詢(xún)訂...

    Ethan815 評(píng)論0 收藏0
  • 淺析微信支付:(余額提現(xiàn))企業(yè)付款到微信用戶(hù)零錢(qián)或銀行卡賬戶(hù)

    摘要:本文是淺析微信支付系列文章的第十二篇,主要講解在商戶(hù)存在的提現(xiàn)商戶(hù)付款到微信用戶(hù)零錢(qián)或者銀行卡需求。應(yīng)用場(chǎng)景微信支付已上線(xiàn)企業(yè)付款至銀行卡功能。企業(yè)付款到銀行卡發(fā)票與交易手續(xù)費(fèi)發(fā)票為拆分單獨(dú)開(kāi)具。 本文是【淺析微信支付】系列文章的第十二篇,主要講解在商戶(hù)存在的提現(xiàn)、商戶(hù)付款到微信用戶(hù)零錢(qián)或者銀行卡需求。 淺析微信支付系列已經(jīng)更新十二篇了喲~,沒(méi)有看過(guò)的朋友們可以看一下哦。 淺析微信支...

    ad6623 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<