微信支付開(kāi)發(fā)中沙箱密鑰的示例分析-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)微信支付開(kāi)發(fā)中沙箱密鑰的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有資溪免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

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


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

微信支付開(kāi)發(fā)中沙箱密鑰的示例分析

圖1 微信支付仿真測(cè)試系統(tǒng)

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

例如,刷卡支付URL:api.mch.weixin.qq.com/pay/micropay

變更為:api.mch.weixin.qq.com/sandboxnew/pay/micropay。

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

獲取驗(yàn)簽秘鑰API:

請(qǐng)求Urlapi.mch.weixin.qq.com/sandboxnew/pay/getsignkey
是否需要證書(shū)
請(qǐng)求方式POST


請(qǐng)求參數(shù):

字段名字段必填示例值類(lèi)型說(shuō)明
商戶號(hào)mch_id1305638280String(32)微信支付分配的微信商戶號(hào)
隨機(jī)字符串nonce_str5K8264ILTKCH16CQ2502SI8ZNMTM67VSString(32)隨機(jī)字符串,不長(zhǎng)于32位
簽名sign5K8264ILTKCH16CQ2502SI8ZNMTM67VSString(32)簽名值


返回參數(shù):

字段名字段必填示例值類(lèi)型說(shuō)明
返回狀態(tài)碼return_codeSUCCESSString(16)SUCCESS/FAIL 此字段是通信標(biāo)識(shí),非交易標(biāo)識(shí)
返回信息return_msg簽名失敗String(128)返回信息,如非空,為錯(cuò)誤原因 ,簽名失敗 ,參數(shù)格式校驗(yàn)錯(cuò)誤


以下字段在return_code 為SUCCESS的時(shí)有返回。

字段名字段必填示例值類(lèi)型說(shuō)明
商戶號(hào)mch_id1305638280String(32)微信支付分配的微信商戶號(hào)
沙箱密鑰sandbox_signkey013467007045764String(32)返回的沙箱密鑰

商戶接入仿真系統(tǒng)的交互流程示例:
1. 商戶發(fā)起刷卡支付請(qǐng)求,使用POST方式調(diào)用 api.mch.weixin.qq.com/sandboxnew/pay/micropay
2. 帶sandboxnew 的https請(qǐng)求會(huì)被nginx路由到仿真系統(tǒng)。仿真系統(tǒng)根據(jù)支付金額(total_fee字段)返回預(yù)期報(bào)文給商戶。同時(shí),落地該筆請(qǐng)求數(shù)據(jù);
3. 商戶發(fā)起查單,調(diào)用 api.mch.weixin.qq.com/sandboxnew/pay/orderquery,帶上微信訂單號(hào)(transaction_id)或商戶內(nèi)部單號(hào)(out_trade_no);
4. 仿真系統(tǒng)收到查單請(qǐng)求后,根據(jù)單號(hào)及金額返回預(yù)期的查單結(jié)果給商戶;
5. 商戶下載對(duì)賬單,調(diào)用 api.mch.weixin.qq.com/sandboxnew/pay/downloadbill,仿真系統(tǒng)返回固定的賬單格式給商戶。注:賬單內(nèi)容不一定與商戶在仿真系統(tǒng)產(chǎn)生的交易完全相同。

二、沙箱密鑰

使用方倍工作室微信支付全能接口類(lèi),幾行代碼即可實(shí)現(xiàn)

//1.5 沙箱密鑰$obj = array();$obj['mch_id'] = MCHID;$url = 'https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey';$wxHongBaoHelper = new WxPay();$data = $wxHongBaoHelper->wxpay($url, $obj, false);$res = $wxHongBaoHelper->xmlToArray($data);

返回結(jié)果如下

array(3) {
  ["return_code"]=>  string(7) "SUCCESS"
  ["return_msg"]=>  string(2) "ok"
  ["sandbox_signkey"]=>  string(32) "4d827419cb511d8f6ccc35d574ff1f7b"}
仿真測(cè)試系統(tǒng)

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

關(guān)于“微信支付開(kāi)發(fā)中沙箱密鑰的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

網(wǎng)站名稱:微信支付開(kāi)發(fā)中沙箱密鑰的示例分析-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://bm7419.com/article26/dgcdjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、外貿(mào)網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)站制作網(wǎng)站維護(hù)、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名