# 小程序连接小店

# 开发前准备

# 关联账号

小程序与微信小店之间需要先建立关联关系才能使用连接能力。关联关系由小店侧发起邀请,小程序侧接受后生效(status=1);解绑后 status=2。

# 接入流程

# 关联关系建立

%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#0ab8a6', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#089e8d', 'lineColor': '#0ab8a6', 'secondaryColor': '#07827a', 'secondaryTextColor': '#ffffff', 'secondaryBorderColor': '#055f59', 'tertiaryColor': '#0ab8a6', 'tertiaryTextColor': '#ffffff', 'tertiaryBorderColor': '#089e8d', 'edgeLabelBackground': '#888888', 'fontColor': '#888888'}}}%% flowchart LR A[小店发起邀请] --> B[邀请接受中<br/>status=4] B --> C{被邀请方处理} C -->|接受| D[已绑定<br/>status=1] C -->|拒绝| E[邀请已拒绝<br/>status=3] C -->|超时| F[邀请接受超时<br/>status=5] C -->|失败| G[邀请接受失败<br/>status=6] C -->|店铺取消| H[邀请店铺取消<br/>status=7] D -->|解绑| I[已解绑<br/>status=2] style A fill:#ffffff,stroke:#0ab8a6,color:#666666 style C fill:#ffffff,stroke:#0ab8a6,color:#666666 style E fill:#ffffff,stroke:#0ab8a6,color:#666666 style F fill:#ffffff,stroke:#0ab8a6,color:#666666 style G fill:#ffffff,stroke:#0ab8a6,color:#666666 style H fill:#ffffff,stroke:#0ab8a6,color:#666666

# 小程序组件接入

关联关系建立后,小程序可以直接使用以下原生组件展示小店内容:

组件名称 组件标签 最低基础库 用途说明
商品卡组件 <store-product> 3.7.0 在小程序中展示微信小店商品卡片,需与小店建立关联关系
店铺卡组件 <store-home> 3.5.5 在小程序中展示微信小店店铺卡片,无关联关系限制
礼物组件 <store-gift> 3.8.10 在小程序中展示微信小店礼物功能,需与小店建立关联关系,且商家需对该小程序创建礼物活动
优惠券组件 <store-coupon> 3.8.3 在小程序中展示微信小店优惠券,无关联关系限制

# 小程序 API 接入

API 名称 用途说明
wx.openStoreOrderDetail 打开微信小店订单详情页
wx.openStoreCouponDetail 打开微信小店优惠券详情页

# 定制商品接入

适用于个性化印刷、定制刻字、3D 打印等定制商品场景。用户在小程序内完成定制操作后先上传文件获取 media_id,将 media_id 作为参数传入 <store-product> 商品卡;用户点击商品卡跳转到小店下单页完成下单;商家收到订单后通过小店服务端获取文件下载链接,完成定制发货。

%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#0ab8a6', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#089e8d', 'lineColor': '#0ab8a6', 'secondaryColor': '#07827a', 'secondaryTextColor': '#ffffff', 'secondaryBorderColor': '#055f59', 'tertiaryColor': '#0ab8a6', 'tertiaryTextColor': '#ffffff', 'tertiaryBorderColor': '#089e8d', 'edgeLabelBackground': '#888888', 'fontColor': '#888888'}}}%% flowchart LR A[用户在小程序定制] --> B["[API] 上传资料<br/>uploadec"] B --> C["获取 media_id<br/>传入 &lt;store-product&gt; 参数"] C --> D[用户点击商品卡<br/>跳转小店下单] D --> E["[API] 获取文件下载链接<br/>getdownloadurl"] E --> F[下载文件定制发货] style A fill:#ffffff,stroke:#0ab8a6,color:#666666 style C fill:#ffffff,stroke:#0ab8a6,color:#666666 style D fill:#ffffff,stroke:#0ab8a6,color:#666666 style F fill:#ffffff,stroke:#0ab8a6,color:#666666
步骤 接口 调用方 说明
用户定制后上传文件 [API] 上传资料 / uploadec 小程序服务端 传入用户 openid,返回 media_id;支持图片、CAD、3DMax、文档、压缩包等格式,最大 50M
商家获取文件并发货 [API] 获取文件下载链接 / getdownloadurl 小店服务端 传入 openidorder_id,返回临时下载链接(有效期 10 分钟,每订单限 10 次/天)

两个接口均须在服务端调用,不可在小程序前端直接调用。上传资料权限集 ID:180,获取文件下载链接权限集 ID:131

# 礼物营销接入

礼物营销支持两种玩法:直接送礼(第三方应用直接发放礼物给指定用户)和礼物抽奖(在第三方应用内发起抽奖活动,用户参与后随机中奖)。两种玩法均需在小店后台创建礼物活动并授权关联第三方应用,通过相同的 API 接口实现。

礼物 API 支持小程序、小游戏、微信小店、移动应用四种账号类型调用。小店商家在后台创建礼物活动,授权关联的第三方应用作为发礼方;第三方应用服务端通过接口查询活动、指定收礼者、创建礼物订单,完成礼物发放;用户在小程序内通过 <store-gift> 礼物组件查看和领取礼物。

角色说明:

角色 说明
小店商家 在小店后台创建礼物活动,授权指定第三方应用参与发礼
关联第三方应用 作为发礼方,通过服务端接口发放礼物(支持小程序、小游戏、微信小店、移动应用)
用户 通过小程序内的 <store-gift> 组件查看和领取礼物

完整接入流程:

%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#0ab8a6', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#089e8d', 'lineColor': '#0ab8a6', 'secondaryColor': '#07827a', 'secondaryTextColor': '#ffffff', 'secondaryBorderColor': '#055f59', 'tertiaryColor': '#0ab8a6', 'tertiaryTextColor': '#ffffff', 'tertiaryBorderColor': '#089e8d', 'edgeLabelBackground': '#888888', 'fontColor': '#888888'}}}%% flowchart LR A["[API] 查询小店礼物活动列表<br/>list_present_activity"] --> B["[API] 查询礼物活动详情<br/>get_activity"] B --> C["[API] 创建并发送礼物<br/>create_present_order"] C --> D["[API] 指定礼物收礼者<br/>set_present_receiver"] D --> E["[API] 查询礼物订单列表<br/>list_present_order"] E --> F["[API] 查询礼物订单详情<br/>get_present_order"]
步骤 接口 调用方 说明
查询可用的礼物活动 [API] 查询小店礼物活动列表 / list_present_activity 第三方应用服务端 获取小店已授权给当前应用的礼物活动列表
获取活动详情 [API] 查询礼物活动详情 / get_activity 第三方应用服务端 查询指定活动的商品、库存、有效期等详细信息
创建礼物订单 [API] 创建并发送礼物 / create_present_order 第三方应用服务端 创建礼物单,返回 present_id;外部应用身份调用时额外返回 business_typequery
指定收礼用户 [API] 指定礼物收礼者 / set_present_receiver 第三方应用服务端 传入上一步返回的 present_id 和收礼用户的 openid,完成礼物发放,用户可在小程序内通过 <store-gift> 组件领取
查询发放记录 [API] 查询礼物订单列表 / list_present_order 第三方应用服务端 查询当前应用已发放的礼物单列表
查询订单详情 [API] 查询礼物订单详情 / get_present_order 第三方应用服务端 查询指定礼物单的状态(待领取/已领取/已过期等)

以上接口均使用第三方应用的 access_token 调用,支持小程序、小游戏、微信小店、移动应用四种账号类型。

# 事件通知接入

配置消息推送后,当用户通过小程序进入小店下单成功,小店侧会向渠道小程序推送订单通知回调。

[事件] 订单通知 / cooperation_shop_order 推送至小程序侧配置的消息回调地址,存在两个 Event 值:

场景 Event 值
旧版关联账号 cooperation_shop_order
新版关联账号 related_shop_order_submission

回调消息示例(解密后的明文 JSON):

{
    "ToUserName": "gh_2defbb026678",
    "FromUserName": "OPENID",
    "CreateTime": 1706518830,
    "MsgType": "event",
    "Event": "cooperation_shop_order",
    "Data": {
        "order_id": "coiqBw3B****TdtdzIpQ",
        "shop_appid": "店铺appid"
    }
}

order_id 并非小店侧的订单 ID,仅供渠道小程序查询使用。

重试策略:0s / 0s / 10s / 1min / 5min / 30min / 60min / 60min / 60min,最多推送 10 次。

# 接口全览

# 第三方应用服务端接口

以下接口支持小程序、小游戏、微信小店、移动应用四种账号类型调用。

中文名 / 英文名 请求方式 功能说明
上传资料 / uploadec POST /channels/ec/open/upload 上传定制商品文件,返回 media_id 供下单时传参(仅小程序场景使用)
查询小店礼物活动列表 / list_present_activity POST /channels/ec/b2c/activity/list/promoter/get 查询小店授权给当前应用的送礼活动列表
查询礼物活动详情 / get_activity POST /channels/ec/b2c/activity/info/promoter/get 查询指定送礼活动的商品、库存、有效期等详情
指定礼物收礼者 / set_present_receiver POST /channels/ec/order/presentorder/receiver/set 传入 present_id 和收礼用户 openid,绑定收礼关系
创建并发送礼物 / create_present_order POST /channels/ec/order/presentorder/create 创建礼物单,返回 present_id;外部应用身份调用时额外返回 business_type(外部 App 跳转业务类型)和 query(外部 App 跳转参数)
查询礼物订单列表 / list_present_order POST /channels/ec/order/presentlist/get 查询当前应用已发放的礼物单列表
查询收礼者订单列表 / get_receiver_order_list POST /channels/ec/order/receiverorderlist/get 查询发放给某位收礼者的订单列表
查询礼物订单详情 / get_present_order POST /channels/ec/order/present/get 查询指定礼物单的状态详情

存在旧版接口 查询礼物订单列表(旧)查询礼物订单详情(旧),推荐使用上方新版接口。

# 小店服务端接口

中文名 / 英文名 请求方式 功能说明
获取文件下载链接 / getdownloadurl POST /channels/ec/open/get_download_url 传入 openidorder_id,获取定制商品文件的临时下载链接

# 事件通知(推送至小程序侧)

中文名 / 英文名 Event 值 说明
订单通知 / cooperation_shop_order cooperation_shop_order / related_shop_order_submission 用户通过小程序下单成功后,小店推送订单回调至渠道小程序配置的消息回调地址

# 小程序组件

组件名称 组件标签 最低基础库
商品卡组件 <store-product> 3.7.0
店铺卡组件 <store-home> 3.5.5
礼物组件 <store-gift> 3.8.10
优惠券组件 <store-coupon> 3.8.3

# 小程序 API

API 名称 功能说明
wx.openStoreOrderDetail 打开微信小店订单详情页
wx.openStoreCouponDetail 打开微信小店优惠券详情页

# 常见问题 FAQ

Q:订单通知的 Event 有两个值,如何区分? A:cooperation_shop_order 用于旧版关联账号,related_shop_order_submission 用于新版关联账号。两者消息结构相同,开发者需根据实际的关联关系类型处理对应的 Event 值。

Q:礼物 API 使用哪个 access_token 调用? A:所有礼物接口均由第三方应用服务端调用,使用对应应用的 access_token,支持小程序、小游戏、微信小店、移动应用四种账号类型;上传资料(uploadec)仅小程序场景使用,由小程序服务端调用,使用小程序 access_token;获取文件下载链接(getdownloadurl)由小店服务端调用,使用小店 access_token。

文档变更日志(1条)
2026 年 04 月 28 日
新增 小程序连接小店 开发指南