溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發(fā)布時間:2021-09-15 18:11:45 來源:億速云 閱讀:125 作者:小新 欄目:移動開發(fā)

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

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

為降低商戶測試門檻,微信支付團隊開發(fā)了一套獨立的仿真測試系統(tǒng)。該系統(tǒng)根據(jù)驗收用例金額的不同返回不同的響應報文,以滿足商戶正常功能測試、安全/異常測試及性能測試的需求。

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

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

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

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

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

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

獲取驗簽秘鑰API:

請求Urlapi.mch.weixin.qq.com/sandboxnew/pay/getsignkey
是否需要證書
請求方式POST


請求參數(shù):

字段名字段必填示例值類型說明
商戶號mch_id1305638280String(32)微信支付分配的微信商戶號
隨機字符串nonce_str5K8264ILTKCH16CQ2502SI8ZNMTM67VSString(32)隨機字符串,不長于32位
簽名sign5K8264ILTKCH16CQ2502SI8ZNMTM67VSString(32)簽名值


返回參數(shù):

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


以下字段在return_code 為SUCCESS的時有返回。

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

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

二、沙箱密鑰

使用方倍工作室微信支付全能接口類,幾行代碼即可實現(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);

返回結果如下

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

為降低商戶測試門檻,微信支付團隊開發(fā)了一套獨立的仿真測試系統(tǒng)。該系統(tǒng)根據(jù)驗收用例金額的不同返回不同的響應報文,以滿足商戶正常功能測試、安全/異常測試及性能測試的需求。

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

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI