?
一、開發(fā)前準(zhǔn)備??
1. 注冊(cè)并開通微信小店
- ??主體要求??:需為企業(yè)/個(gè)體工商戶(個(gè)人暫不支持),需提供營(yíng)業(yè)執(zhí)照、法人身份證、銀行賬戶等信息。
- ??步驟??:
- 登錄 微信公眾平臺(tái),注冊(cè)并認(rèn)證公眾號(hào)(服務(wù)號(hào)或小程序)。
- 進(jìn)入公眾號(hào)后臺(tái) → 左側(cè)導(dǎo)航欄「微信小店」→ 點(diǎn)擊「開通」,按提示提交資質(zhì)(營(yíng)業(yè)執(zhí)照、管理員信息等)。
- 審核通過(guò)后,小店基礎(chǔ)功能(商品、訂單、支付)自動(dòng)開通。

2. 獲取關(guān)鍵憑證
- ??商戶號(hào)(mch_id)??:用于支付接口調(diào)用(需單獨(dú)申請(qǐng)微信支付商戶號(hào),部分小店場(chǎng)景可能自動(dòng)關(guān)聯(lián))。
- ??API密鑰(API Key)??:用于接口簽名驗(yàn)證(在微信支付商戶平臺(tái)設(shè)置)。
- ??AppID??:公眾號(hào)或小程序的唯一標(biāo)識(shí)(在各自后臺(tái)獲取)。
- ??服務(wù)器IP白名單??:需將開發(fā)服務(wù)器IP添加到微信公眾平臺(tái)或支付商戶平臺(tái)的“IP白名單”,否則接口調(diào)用會(huì)被拒絕。
3. 熟悉開發(fā)文檔
- 官方接口文檔:微信小商店開放平臺(tái)(含商品、訂單、物流等接口)。
- 微信支付文檔:微信支付開發(fā)指南(支付、退款等核心功能)。
??二、核心接口調(diào)用(以RESTful API為例)??
微信小店提供??商品管理、訂單管理、物流查詢、售后管理??等API,需通過(guò)access_token
鑒權(quán)。以下是關(guān)鍵步驟:
1. 獲取access_token
access_token
是調(diào)用所有接口的憑證,有效期2小時(shí),需定期刷新。
??請(qǐng)求示例(HTTP GET)??:
http復(fù)制
APPID
:公眾號(hào)/小程序的AppID;APPSECRET
:公眾號(hào)/小程序的密鑰(需在后臺(tái)保密)。
??返回結(jié)果??:
json復(fù)制
2. 商品管理接口(示例)
??場(chǎng)景??:新增一個(gè)商品到小店。
??接口路徑??:POST https://api.weixin.qq.com/shop/goods/add?access_token=ACCESS_TOKEN
??請(qǐng)求參數(shù)??(JSON格式):
json復(fù)制
??返回結(jié)果??:
json復(fù)制
3. 訂單管理接口(示例)
??場(chǎng)景??:查詢訂單詳情。
??接口路徑??:GET https://api.weixin.qq.com/shop/order/get?access_token=ACCESS_TOKEN&order_id=ORDER_ID
??返回結(jié)果??(關(guān)鍵字段):
json復(fù)制
4. 支付接口(關(guān)鍵)
微信小店支付需通過(guò)??微信支付商戶號(hào)??完成,核心流程:
- 商家生成預(yù)支付訂單(調(diào)用
統(tǒng)一下單
接口); - 用戶支付后,微信異步通知商家服務(wù)器;
- 商家驗(yàn)證通知簽名,更新訂單狀態(tài)。
??統(tǒng)一下單接口示例(HTTP POST)??:
http復(fù)制
??請(qǐng)求參數(shù)(JSON)??:
json復(fù)制
??注意??:需使用商戶私鑰對(duì)請(qǐng)求簽名(具體簽名算法見微信支付簽名指南)。
??三、前端開發(fā)(公眾號(hào)/H5/小程序)??
1. 公眾號(hào)內(nèi)H5頁(yè)面
- ??JS-SDK集成??:需引入微信JS-SDK,實(shí)現(xiàn)分享、獲取用戶信息等功能。
通過(guò)后端接口獲取html預(yù)覽復(fù)制jsapi_ticket
和簽名,配置JS-SDK權(quán)限:javascript運(yùn)行復(fù)制
2. 小程序開發(fā)
- ??關(guān)聯(lián)小商店??:小程序需綁定已開通的微信小店(在小程序后臺(tái)「電商」→「小商店」中關(guān)聯(lián))。
- ??調(diào)用小商店API??:通過(guò)
wx.request
調(diào)用小商店接口(需先獲取access_token
)。javascript運(yùn)行復(fù)制
3. 支付交互
- 用戶點(diǎn)擊支付時(shí),前端調(diào)用
wx.requestPayment
(小程序)或跳轉(zhuǎn)H5支付頁(yè)面(公眾號(hào))。
??小程序支付示例??:javascript運(yùn)行復(fù)制
??四、后端開發(fā)(核心邏輯)??
1. 數(shù)據(jù)庫(kù)設(shè)計(jì)
需設(shè)計(jì)以下核心表(根據(jù)業(yè)務(wù)擴(kuò)展):
goods
:存儲(chǔ)商品信息(ID、名稱、價(jià)格、庫(kù)存、圖片等);orders
:訂單表(訂單ID、用戶openid、總金額、狀態(tài)、創(chuàng)建時(shí)間等);order_items
:訂單商品明細(xì)(關(guān)聯(lián)訂單ID和商品ID);logistics
:物流信息(訂單ID、快遞公司、運(yùn)單號(hào)等)。
2. 異步通知處理
微信支付、訂單狀態(tài)變更等操作會(huì)通過(guò)??異步通知??告知商家(如支付成功通知)。需在后端:
- 接收XML/JSON格式的通知數(shù)據(jù);
- 驗(yàn)證簽名(確保數(shù)據(jù)來(lái)自微信);
- 處理業(yè)務(wù)邏輯(如更新訂單狀態(tài)、發(fā)貨);
- 返回
SUCCESS
響應(yīng)(否則微信會(huì)重復(fù)通知)。
??支付通知驗(yàn)證示例(Python)??:
python運(yùn)行復(fù)制
3. 安全防護(hù)
- ??防重放攻擊??:記錄已處理的
transaction_id
或out_trade_no
,避免重復(fù)處理; - ??數(shù)據(jù)加密??:敏感信息(如用戶手機(jī)號(hào)、地址)需加密存儲(chǔ);
- ??接口限流??:防止惡意請(qǐng)求(如通過(guò)Nginx或中間件限制頻率)。
??五、測(cè)試與上線??
1. 沙箱環(huán)境測(cè)試
微信提供??沙箱環(huán)境??(支付接口)用于測(cè)試,避免影響生產(chǎn)數(shù)據(jù)。需在商戶平臺(tái)切換至沙箱模式,使用沙箱的APPID
、mch_id
和API Key
調(diào)用接口。
2. 上線前檢查
- 確認(rèn)所有接口權(quán)限已開通(如商品發(fā)布、支付);
- 測(cè)試極端場(chǎng)景(如庫(kù)存不足、支付失敗、退款);
- 驗(yàn)證日志記錄(接口調(diào)用日志、錯(cuò)誤日志)是否完整;
- 關(guān)閉沙箱環(huán)境,切換至生產(chǎn)環(huán)境配置。
3. 提交審核(可選)
若小店涉及特殊類目(如食品、藥品),需提交相關(guān)資質(zhì)至微信審核,審核通過(guò)后方可上線。
??六、官方資源與工具??
- 微信小商店開放平臺(tái)文檔:接口說(shuō)明;
- 微信支付商戶平臺(tái):支付相關(guān)配置與對(duì)賬;
- 開發(fā)者社區(qū):?jiǎn)栴}答疑與經(jīng)驗(yàn)分享;
- Postman模板:接口調(diào)試工具(含示例請(qǐng)求)。
??總結(jié)??:微信小店開發(fā)需結(jié)合官方API和業(yè)務(wù)需求,重點(diǎn)關(guān)注??接口鑒權(quán)、支付流程、數(shù)據(jù)安全??三大核心。建議先通過(guò)沙箱環(huán)境驗(yàn)證功能,再逐步上線生產(chǎn)環(huán)境。