微信小店
微信门店
微信智能接口
微信设备功能

第三方代制专区

出自微信公众平台开发者文档
跳转到: 导航, 搜索

第三方开发者代制

模式介绍

为了降低商户接入成本,微信卡券团队开放第三方开发者代制的模式。子商户将卡券制作权限授权给开发者所在企业,由开发者所在企业为子商户作为信用背书,并可以帮助 没有能力制作卡券的商户制作卡券。

目前,第三方开发者代制分为第三方开发者代制(有公众号模式)和第三方开发者代制(无公众号模式)


目录

第三方开发者代制(无公众号模式)

模式概述

为了降低商户接入卡券的难度,微信公众平台向所有已具备卡券功能的公众号开放“第三方开发者代制”功能。申请并开通此功能后,具备开发能力的开发者,可通过API接口协助无公众号的商户快速接入并使用卡券。协助制券的开发者称为“母商户”,被协助制券的商户称为“子商户”。

母商户需将旗下子商户资料提前上传报备,通过审核方可生效。在制券过程中允许母商户从报备的子商户列表中,选择一个子商户协助制券。

开通步骤

第一步,申请路径:微信公众平台-卡券功能-卡券概况-查看资料和权限-第三方开发者代制(无公众号)。

第二步,商户通过微信公众平台或API接口,提交子商户资料、资质,审核通过后可使用该子商户信息制券。

第三步,调用API接口创建卡券时,需传入该模式的特有字段,具体字段参考创建子商户接口的返回字段说明。该模式下,仅创建卡券接口有变动,其余接口和卡券整体接口的使用保持不变。详情参考微信卡券接口文档


创建子商户接口

接口说明

支持母商户调用该接口传入子商户的相关资料,并获取子商户ID,用于子商户的卡券功能管理。 子商户的资质包括:商户名称、商户logo(图片)、卡券类目、授权函(扫描件或彩照)、授权函有效期截止时间。

接口详情

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/card/submerchant/submit?access_token=TOKEN 

参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{
 "info": {
 "brand_name": "aaaaaa",
 "logo_url": "http://mmbiz.xxxx",
 "protocol": "xxxxxxxxxx",
 "agreement_media_id":"xxxxxxxxxx",
 "operator_media_id":"xxxxxxxx",
 "end_time": 1438990559,
 "primary_category_id": 1,
 "secondary_category_id": 101
 }
}


字段说明

参数名 必填 类型 示例 说明
info json结构
brand_name String(36) 兰州拉面 子商户名称(12个汉字内),该名称将在制券时填入并显示在卡券页面上
logo_url string(128) http://mmbiz.xxxx 子商户logo,可通过上传logo接口获取。该logo将在制券时填入并显示在卡券页面上
protocol String(36) mdasdfkl : 授权函ID,即通过上传临时素材接口上传授权函后获得的meida_id
end_time unsigned int 15300000 授权函有效期截止时间(东八区时间,单位为秒),需要与提交的扫描件一致
primary_category_id int 2 一级类目id,可以通过本文档中接口查询
secondary_category_id int 2 二级类目id,可以通过本文档中接口查询
agreement_media_id string(36) 2343343424 营业执照或个体工商户营业执照彩照或扫描件
operator_media_id string(36) 2343343424 营业执照内登记的经营者身份证彩照或扫描件

备注:授权函请在《第三方开发者代制(无公众号)指引文档》内下载,手填并加盖鲜章后,上传彩色扫描件或彩照。

1、授权函必须加盖企业公章,或个体户店铺章、发票专用章、财务章、合同章等具备法律效力的盖章,不可使用个人私章;

2、若子商户是个体工商户,且无上述公章,授权函可用个体工商户经营者手印代替公章,且须同时额外上传《个体工商户营业执照》及该执照内登记的经营者的身份证彩照。(本方案仅适用于子商户是个体工商户,且无公章的场景。其他场景必须在授权函加盖公章)

返回数据

{
"info": {
 "merchant_id": 12,
 "create_time": 1438790559,
 "update_time": 1438790559,
 "brand_name": "aaaaaa",
 "logo_url": "http://mmbiz.xxxx",
 "status": "CHECKING",
 "begin_time": 1438790559,
 "end_time": 1438990559,
 "primary_category_id": 1,
 "secondary_category_id": 101
}
}
参数名 描述
merchant_id 子商户id,对于一个母商户公众号下唯一。创建卡券时需填入该id号,字段结构如下:

base_info:{sub_merchant_info:{merchant_id:}},详情见创建卡券接口

create_time 子商户信息创建时间
update_time 子商户信息更新时间
brand_name 子商户名称(12个汉字内),该名称将在制券时填入并显示在卡券页面上。
logo_url 子商户logo,可通过上传logo接口获取。该logo将在制券时填入并显示在卡券页面上
status 子商户状态,"CHECKING" 审核中, "APPROVED" , 已通过;"REJECTED"被驳回, "EXPIRED"协议已过期
bengin_time 创建时间(非协议开始时间)
end_time 授权函有效期截止时间(东八区时间,单位为秒)
primary_category_id 子商户一级类目
secondary_category_id 子商户二级类目

特别注意:

若子商户资料通过微信公众平台提交,可在微信公众平台卡券功能-子商户管理-子商户详情里查看子商户ID,或通过子商户创建接口返回子商户ID,或通过子商户信息拉取接口获取子商户ID。

子商户审核事件推送

开发者所代理的子商户审核通过后,会收到微信服务器发送的事件推送。

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName> 
<FromUserName><![CDATA[FromUser]]></FromUserName> 
<CreateTime>123456789</CreateTime> 
<MsgType><![CDATA[event]]></MsgType> 
<Event><![CDATA[card_merchant_check_result]]></Event> 
<MerchantId>0</MerchantId>
<IsPass>1</IsPass>
<Reason><![CDATA[reason]]></Reason>
</xml>

字段说明

参数 说明
ToUserName 开发者微信号。
FromUserName 发送方帐号(一个OpenID)。
CreateTime 消息创建时间 (整型)。
MsgType 消息类型,event。
Event 事件类型,card_merchant_check_result(子商户审核事件)
MerchantId 子商户ID。
IsPass 是否通过,为1时审核通过。
Reason 驳回的原因

卡券开放类目查询接口

接口说明

通过调用该接口查询卡券开放的类目ID,类目会随业务发展变更,请每次用接口去查询获取实时卡券类目。

注意:

1.本接口查询的返回值还有卡券资质ID,此处的卡券资质为:已微信认证的公众号通过微信公众平台申请卡券功能时,所需的资质。

2.对于第三方开发者代制(无公众号)模式,子商户无论选择什么类目,均暂不需按照此返回提供资质,返回值仅参考类目ID 即可。。


接口详情

接口调用请求说明

https请求方式: GET
https://api.weixin.qq.com/card/getapplyprotocol?access_token=TOKEN

参数说明

参数 是否必须 说明
access_token 调用接口凭证
GET数据 Json数据

返回数据

{
   "category": [
       {
           "primary_category_id": 1,
           "category_name": "美食",
           "secondary_category": [
               {
                   "secondary_category_id": 101,
                   "category_name": "粤菜",
                   "need_qualification_stuffs": [
                       "food_service_license_id",
                       "food_service_license_bizmedia_id"
                   ],
                   "can_choose_prepaid_card": 1,
                   "can_choose_payment_card": 1
               },                
       }
   ],
   "errcode": 0,
   "errmsg": "ok"
}


参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。
primary_category_id 一级目录id
secondary_category_id 二级目录id

更新子商户接口

接口说明

支持调用该接口更新子商户信息。 注:审核驳回和过期两种状态的子商户可调用更新接口更新资料重新提审。

接口详情

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/card/submerchant/update?access_token=TOKEN

参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{
  "info": {
  "merchant_id": 12,
  "brand_name": "aaaaaa",
  "logo_url": "http://mmbiz.xxxx",
  "protocol": "media_id",
  "agreement_media_id":"xxxxxxxxxx",
  "operator_media_id":"xxxxxxxx",
  "end_time": 1438990559,
  "primary_category_id": 1,
  "secondary_category_id": 101
 }
}


参数名 必填 类型 示例 说明
info json结构
merchant_id int 12 子商户id,一个母商户公众号下唯一。
brand_name String(36) 兰州拉面 子商户名称(12个汉字内),该名称将在制券时填入并显示在卡券页面上
logo_url string(128) http://mmbiz.xxxx 子商户logo,可通过上传logo接口获取。该logo将在制券时填入并显示在卡券页面上
protocol String(36) mdasdfkl : 授权函ID ,即通过上传临时素材接口上传授权函后获得的meida_id
end_time unsigned int 15300000 授权函有效期截止时间(东八区时间,单位为秒),需要与提交的扫描件一致
agreement_media_id string(36) dhskdjklfjk 营业执照或个体工商户营业执照彩照或扫描件
operator_media_id string(36) dhskdjklfjk 营业执照内登记的经营者身份证彩照或扫描件
primary_category_id int 2 一级类目id,可以通过本文档中接口查询
secondary_category_id int 2 二级类目id,可以通过本文档中接口查询

返回数据

{

 "info": {
 "merchant_id": 12,
 "create_time": 1438790559,
 "update_time": 1438790559,
 "brand_name": "aaaaaa",
 "logo_url": "http://mmbiz.xxxx",
 "status": "CHECKING",
 "begin_time": 1438790559,
 "end_time": 1438990559,
 "primary_category_id": 1,
 "secondary_category_id": 101
 }
}
参数名 描述
merchant_id 子商户id,对于一个母商户公众号下唯一。创建卡券时需填入该id号,字段结构如下:

base_info:{sub_merchant_info:{merchant_id:}},详情见创建卡券接口

create_time 子商户信息创建时间
update_time 子商户信息更新时间
brand_name 子商户名称(12个汉字内),该名称将在制券时填入并显示在卡券页面上。
logo_url 子商户logo,可通过上传logo接口获取。该logo将在制券时填入并显示在卡券页面上
status 子商户状态,"CHECKING" 审核中, "APPROVED" , 已通过;"REJECTED"被驳回, "EXPIRED"协议已过期
bengin_time 创建时间(非协议开始时间)
end_time 授权函有效期截止时间(东八区时间,单位为秒)
primary_category_id 子商户一级类目
secondary_category_id 子商户二级类目

特别注意:

若子商户资料通过微信公众平台提交,可在微信公众平台卡券功能-子商户管理-子商户详情里查看子商户ID,或通过子商户创建接口返回子商户ID,或通过子商户信息拉取接口获取子商户ID。

拉取单个子商户信息接口

接口说明

通过指定的子商户appid,拉取该子商户的基础信息。 注意,用母商户去调用接口,但接口内传入的是子商户的appid。

接口详情

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/card/submerchant/get?access_token=TOKEN

参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{
 "merchant_id": 12
}

返回数据

{
 "info": {
 "merchant_id": 12,
 "create_time": 1438790559,
 "update_time": 1438790559,
 "brand_name": "aaaaaa",
 "logo_url": "http://mmbiz.xxxx",
 "status": "CHECKING",
 "begin_time": 1438790559,
 "end_time": 1438990559,
 "primary_category_id": 1,
 "secondary_category_id": 101
 }
}

查询失败返回示例(errcode不为0,errmsg为相应错误信息):

{
 "errcode":xxxx,
 "errmsg":"xxxx"
}
参数名 描述
merchant_id 子商户id,一个母商户公众号下唯一。
create_time 子商户信息创建时间
update_time 子商户信息更新时间
brand_name 子商户名称(12个汉字内),该名称将在制券时填入并显示在卡券页面上
logo_url 子商户logo,可通过上传logo接口获取。该logo将在制券时填入并显示在卡券页面上
status "CHECKING" 审核中, "APPROVED" , 已通过;"REJECTED"被驳回, "EXPIRED"协议已过期
begin_time 创建时间(非协议开始时间),和create_time 重复,待后续去掉该字段
end_time 协议截止时间
primary_category_id 子商户一级类目
secondary_category_id 子商户二级类目

批量拉取子商户信息接口

接口说明

母商户可以通过该接口批量拉取子商户的相关信息,一次调用最多拉取100个子商户的信息,可以通过多次拉去满足不同的查询需求

接口详情

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/card/submerchant/batchget?access_token=TOKEN


参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{
 "begin_id": 0,
 "limit": 50,
 "status": "CHECKING"
}

字段说明

参数名 描述
begin_id 起始的子商户id,一个母商户公众号下唯一
limit 拉取的子商户的个数,最大值为100
status 子商户审核状态,填入后,只会拉出当前状态的子商户

返回数据

{
 "info_list": [
 {
  "merchant_id": 12,
  "create_time": 1438790559,
  "update_time": 1438790559,
  "brand_name": "aaaaaa",
  "logo_url": "http://mmbiz.xxxx",
  "status": "CHECKING",
  "begin_time": 1438790559,
  "end_time": 1438990559,
  "primary_category_id": 1,
  "secondary_category_id": 101
 },
 {
  "merchant_id": 13,
  "create_time": 1438790559,
  "update_time": 1438790559,
  "brand_name": "bbbbbb",
  "logo_url": "http://mmbiz.xxxx",
  "status": "APPROVED",
  "begin_time": 1438790559,
  "end_time": 1438990559,
  "primary_category_id": 1,
  "secondary_category_id": 101
 }
 ]
 "next_begin_id": 13
}


参数名 描述
merchant_id 子商户id,一个母商户公众号下唯一。
create_time 子商户信息创建时间
update_time 子商户信息更新时间
brand_name 子商户名称(12个汉字内),该名称将在制券时填入并显示在卡券页面上
logo_url 子商户logo,可通过上传logo接口获取。该logo将在制券时填入并显示在卡券页面上
status "CHECKING" 审核中, "APPROVED" , 已通过;"REJECTED"被驳回, "EXPIRED"协议已过期
begin_time 创建时间(非协议开始时间),和create_time 重复,待后续去掉该字段
end_time 协议截止时间
primary_category_id 子商户一级类目
secondary_category_id 子商户二级类目
next_begin_id 拉渠道列表中最后一个子商户的id

开发者注意:

当母商户的子商户数量超过100时,可通过填写begin_id的值,从而多次拉取列表的的方式来满足查询需求。具体的方式是,将上一次调用得到的返回中的next_begin_id的值作为下一次调用中的begin_id的值。

创建子商户卡券接口

若母商户需创建自己的卡券,参考原有卡券创建接口即可;

若母商户需为子商户创建卡券,需在原有卡券创建接口的基础上,增加该模式的特有字段(子商户ID),字段结构如下:base_info:{sub_merchant_info:{merchant_id:}}。

若子商户资料通过微信公众平台提交,可在微信公众平台卡券功能-子商户管理-子商户详情里查看子商户ID;

若通过创建子商户接口上传子商户资料,该接口返回字段内会带上子商户ID,或通过子商户信息拉取接口批量获取子商户ID。

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/card/create?access_token=ACCESS_TOKEN


参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{ 
 "card": {
  "card_type": "GROUPON",
  "groupon": {
      "base_info": {
          "logo_url": 
  "http://mmbiz.qpic.cn/mmbiz/iaL1LJM1mF9aRKPZJkmG8xXhiaHqkKSVMMWeN3hLut7X7hicFNjakmxibMLGWpXrEXB33367o7zHN0CwngnQY7zb7g/0",
          "brand_name":"海底捞",
          "code_type":"CODE_TYPE_TEXT",
          "title": "132元双人火锅套餐",
          "sub_title": "周末狂欢必备",
          "color": "Color010",
          "notice": "使用时向服务员出示此券",
          "service_phone": "020-88888888",
          "description": "不可与其他优惠同享\n如需团购券发票,请在消费时向商户提出\n店内均可使用,仅限堂食",
          "date_info": {
              "type": "DATE_TYPE_FIX_TIME_RANGE",
              "begin_timestamp": 1397577600 ,
              "end_timestamp": 1422724261
          },
          "sku": {
              "quantity": 500000
          },
          "get_limit": 3,
          "use_custom_code": false,
          "bind_openid": false,
          "can_share": true,
        "can_give_friend": true,
          "location_id_list" : [123, 12321, 345345],
          "custom_url_name": "立即使用",
          "custom_url": "http://www.qq.com",
          "custom_url_sub_title": "6个汉字tips",
          "promotion_url_name": "更多优惠",
        "promotion_url": "http://www.qq.com",
          "source": "大众点评"   
      
       {
       "sub_merchant_info":{
       "merchant_id":11
       }
   },
      "deal_detail": "以下锅底2选1(有菌王锅、麻辣锅、大骨锅、番茄锅、清补凉锅、酸菜鱼锅可选):\n大锅1份 12元\n小锅2份 16元 "}
 }
}

字段详情详见 微信卡券在线接口文档

错误码说明

错误码 描述
-1 系统错误。
40070 基本信息base info中填写的库存信息SKU不合法,参考CreateCard创建卡券接口
40104 创建子商户时填的类目id不对
40140 子商户状态不对,创建卡券时要求已审核,更新子商户信息时要求已驳回
40139 子商户id不正确
40079 时间填写得不对
45021 参数超长
43014 未经过平台授权,不能创建子商户。。

联系我们

第三方开发者代制(无公众号)的开发问题,可通过邮箱weixin_card@foxmail.com联系我们。

如果你想了解“发者协助制券(有公众号)”功能,可前往微信开放平台查看对应公告公众号第三方平台更新,可协助未认证公众号接入微信卡券

第三方开发者代制(有公众号模式)

模式概述

“第三方开发者代制模式(有公众号)”是腾讯为降低卡券接入门槛,商户可快速接入,由具备开发能力的开发者代商户制券的功能,暂时仅支持普通券类型(优惠券、代金券、团购券、折扣券、礼品券)。为商户提供开发能力的开发者简称“母商户”,商户简称“子商户”。

该模式下,子商户公众号无需微信认证,子商户也不需单独申请卡券功能,只需将资料提供给母商户代为提交。 该模式下,卡券的商户名和logo均为子商户的商户名和logo,且卡券创建、投放、核销等流程均只能由母商户通过调用API接口完成,子商户本身不具备直接调用卡券接口或在卡券商户后台手工操作的能力。

“第三方开发者代制模式(有公众号)”功能,面向微信开放平台所有第三方平台开放,第三方平台需达到一定注册资本金额,提供相关资质,经审核通过后才可获得协助制券能力。 “子商户”面向未认证的微信公众号开放,可选择已开放的卡券类目接入,子商户资质需由母商户代为提交,审核通过后可由母商户协助使用卡券功能。

母商户每月可为每个子商户代制券10个cardid,且每个cardid累计sku不超过5万。具体的数量限制会随运营规则调整。

开通步骤

第一步:开发者所在企业申请第三方开发者代制能力,提交资料并审核;

第二步:母商户为子商户提交资质认证资料审核;

第三步:子商户发起授权,母商户确认授权;

第四步:母商户代子商户调用卡券接口,进行卡券制作、投放、核销等动作;

第五步:母商户可以调用数据接口代子商户获取数据;


母商户资质申请接口

接口说明

母商户资质申请接口是第三方平台用以申请第三方开发者代制能力,并提交自身资质资料的上传接口,只有上传相关资质,并审核通过后才可代名下子商户提交资质。

母商户提交资质包括:注册资本、营业执照(扫描件)、税务登记证(扫描件)、上季度缴税清单(扫描件);

母商户必须先上传相应扫描件获取media_id后,传入media_id。详见上传图片media接口

同一个appid的申请,仅当驳回时可以再次提交,审核中和审核通过时不可重复提交

接口详情

接口调用请求说明

http请求方式: POST
http:// api.weixin.qq.com /cgi-bin/component/upload_card_agent_qualification?access_token=TOKEN 

参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{ 
  "register_capital": 100000,
  "business_license_media_id": "Y0vGhBIycyhEFTyq6km0pGpCPzdqoxMnr1wjs574LqeWzsPtido2VM5grKk5gzn3",
  "tax_registration_certificate_media_id": "Y0vGhBIycyhEFTyq6km0pGpCPzdqoxMnr1wjs574LqeWzsPtido2VM5grKk5gzn3",
  "last_quarter_tax_listing_media_id": "Y0vGhBIycyhEFTyq6km0pGpCPzdqoxMnr1wjs574LqeWzsPtido2VM5grKk5gzn3"
}

字段说明

参数名 必填 说明
register_capital 注册资本,数字,单位:分
business_license_media_id 营业执照扫描件的media_id
tax_registration_certificate_media_id 税务登记证扫描件的media_id
last_quarter_tax_listing_media_id 上个季度纳税清单扫描件media_id

返回数据

上传成功示例:

{
"errcode":0,
"errmsg":"ok"
}

上传失败示例(errcode不为0,errmsg为相应错误信息):

{
"errcode":61011,
"errmsg":"invalid component"
}
参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。

母商户资质审核查询接口

接口说明

该接口用于查询母商户资质审核的结果,审核通过后才能用接口继续提交子商户资质。

接口详情

接口调用请求说明

http请求方式: GET
http:// api.weixin.qq.com / cgi-bin/component/check_card_agent_qualification?access_token=TOKEN 

参数说明

参数 是否必须 说明
access_token 调用接口凭证
GET数据 Json数据

返回数据’’’

查询成功返回示例:

{
  "result":"RESULT_PASS",
}
{
  "result":" RESULT_NOT_PASS ",   
}
{
  "result":"RESULT_CHECKING",   
}
{
"result":"RESULT_NOTHING_TO_CHECK",   
}

查询失败返回示例:(errcode不为0,errmsg为相应错误信息):

{
"errcode":xxxx,
"errmsg":"xxxx"
}
参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。
result 查询结果

1.RESULT_PASS:审核通过 2.RESULT_NOT_PASS:审核驳回 3.RESULT_CHECKING:待审核 4.RESULT_NOTHING_TO_CHECK:无提审记录


子商户资质申请接口

接口说明

母商户(第三方平台)申请获得第三方开发者代制能力后,才可提交名下子商户的资质。

子商户资质审核通过后,才可进行后续的授权流程。

子商户的资质包括:商户名称、商户logo(图片)、卡券类目、AppID、营业执照或个体户经营执照(扫描件)、授权协议(扫描件)。

注意: 1、请用母商户(第三方平台)的账号提交子商户资料。

2、母商户必须先上传子商户的相应扫描件获取media_id后,传入media_id。

3、母商户必须先通过卡券类目查询接口获取卡券实时对外开放的一级、二级类目ID,传入类目ID。

4、商户名称在12个汉字长度内。

5、同一个appid的申请,仅当驳回时可再次提交,审核中和审核通过时不可重复提交。

接口详情

接口调用请求说明

http请求方式: POST
http:// api.weixin.qq.com /cgi-bin/component/upload_card_merchant_qualification?access_token=TOKEN 

参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{
 "appid": "wxf8b4f85e442a4e77",
 "name": "灰太狼烧烤店",
 "logo_media_id": "Y0vGhBIycyhEFTyq6km0pGpCPzdqoxMnr1wjs574LqeWzsPtido2VM5grKk5gzn3",
 "business_license_media_id": "Y0vGhBIycyhEFTyq6km0pGpCPzdqoxMnr1wjs574LqeWzsPtido2VM5grKk5gzn3",
 "operator_id_card_media_id":"xxxxxxxxx"
 "agreement_file_media_id": "Y0vGhBIycyhEFTyq6km0pGpCPzdqoxMnr1wjs574LqeWzsPtido2VM5grKk5gzn3",
 "primary_category_id": "1",
 "secondary_category_id": "101"
}

字段说明

参数名 必填 说明
appid 子商户公众号的appid
name 子商户商户名,用于显示在卡券券面
logo_meida_id 子商户logo,用于显示在子商户卡券的券面
business_license_media_id 营业执照或个体工商户执照扫描件的media_id
operator_id_card_media_id 当子商户为个体工商户且无公章时,授权函须签名,并额外提交该个体工商户经营者身份证扫描件的media_id
agreement_file_media_id 子商户与第三方签署的代理授权函的media_id
primary_category_id 一级类目id
secondary_category_id 二级类目id

返回数据

上传成功示例:

{
 "errcode":0,
 "errmsg":"ok"
}

上传失败示例(errcode不为0,errmsg为相应错误信息):

{
 "errcode":40013,
 "errmsg":"invalid appid"
}
参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。

授权子商户审核事件推送

当子商户资质审核通过时,开发者将收到微信服务器推送的事件。

<xml>
<AppId><![CDATA[AppId]]></AppId>
<CreateTime>1449471727</CreateTime>
<InfoType><![CDATA[card_merchant_auth_check_result]]></InfoType>
<SubMerchantAppId><![CDATA[AppId]]></SubMerchantAppId>
<IsPass>0</IsPass>
<Reason><![CDATA[Reason]]></Reason>
</xml>

字段说明

参数 说明
AppId “公众号第三方平台”账号(即母商户)的AppID。
CreateTime 消息创建时间 (整型)。
InfoType 消息类型,card_merchant_auth_check_result(第三方开发者代制有公众号模式,子商户资料审核事件)
SubMerchantAppId 子商户账号的AppID。
IsPass 是否通过,为1时审核通过,为0时审核驳回。
Reason 驳回的原因
IsPass 是否通过,为1时审核通过。

子商户资质审核查询接口

接口说明

该接口用于查询子商户资质审核的结果,审核通过后才能进行后续授权流程。 注意,用母商户去调用接口,但接口内传入的是子商户的appid。

接口详情

接口调用请求说明

http请求方式: POST
http:// api.weixin.qq.com / cgi-bin/component/check_card_merchant_qualification?access_token=TOKEN 

参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{
 “appid”:”wx********”
}

返回数据’’’

查询成功返回示例:

{
  "result":"RESULT_PASS",
}
{
  "result":" RESULT_NOT_PASS ",   
}
{
  "result":"RESULT_CHECKING",   
}
{
"result":"RESULT_NOTHING_TO_CHECK",   
}

查询失败返回示例:(errcode不为0,errmsg为相应错误信息):

{
"errcode":xxxx,
"errmsg":"xxxx"
}
参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。
result 查询结果

1.RESULT_PASS:审核通过 2.RESULT_NOT_PASS:审核驳回 3.RESULT_CHECKING:待审核 4.RESULT_NOTHING_TO_CHECK:无提审记录


图片上传media接口

开发者经常需要用到一些临时性的多媒体素材的场景,例如在使用接口(特别是发送消息时),对多媒体文件、多媒体消息的获取和调用等操作,都需通过media_id来进行。

为了卡券第三方代理模式相关接口调用顺畅,现已为所有对外的第三方平台账号配置“图片上传media接口”的权限。

图片上传media接口可参考微信公众平台开发者文档:../0/6ebbf79d99f7a435ed60cfb094867174.html

注意.:

1.对于临时素材,每个素材(media_id)会在开发者上传或粉丝发送到微信服务器3天后自动删除(所以用户发送给开发者的素材,若开发者需要,应尽快下载到本地),以节省服务器资源。

2.media_id是可复用的。

3.素材的格式大小等要求与公众平台官网一致。具体是,图片大小不超过2M,支持bmp/png/jpeg/jpg/gif格式

4.需使用https调用本接口。

5.请使用第三方平台账号的ACCESS_TOKEN调用(已开权限)

接口详情

接口调用请求说明

https请求方式: POST
https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE 

参数说明

参数 是否必须 说明
access_token 调用接口凭证
type 媒体文件类型,此处为图片类型(image)
POST数据 用FORM表单方式上传一个多媒体文件,form-data中媒体文件标识,有filename、filelength、content-type等信息

调用示例

curl -F  media=@test.jpg	
"https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"

返回数据


上传成功示例:

{
 "type":"TYPE",
 "media_id":"MEDIA_ID",
 "created_at":123456789
}

上传失败示例(errcode不为0,errmsg为相应错误信息):

{
 "errcode":40004,
 "errmsg":"invalid media type"
}


参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。


卡券开放类目查询接口

接口说明

通过调用该接口查询卡券开放的类目ID,类目会随业务发展变更,请每次用接口去查询获取实时卡券类目。

注意:

1.本接口查询的返回值还有卡券资质ID,此处的卡券资质为:已微信认证的公众号通过微信公众平台申请卡券功能时,所需的资质。

2.对于第三方开发者代制模式(有公众号),子商户无论选择什么类目,均提交营业执照即可,所以不用考虑此处返回的资质字段,返回值仅参考类目ID即可。


接口详情

接口调用请求说明

https请求方式: GET
https://api.weixin.qq.com/card/getapplyprotocol?access_token=TOKEN

参数说明

参数 是否必须 说明
access_token 调用接口凭证
GET数据 Json数据

返回数据

{
   "category": [
       {
           "primary_category_id": 1,
           "category_name": "美食",
           "secondary_category": [
               {
                   "secondary_category_id": 101,
                   "category_name": "粤菜",
                   "need_qualification_stuffs": [
                       "food_service_license_id",
                       "food_service_license_bizmedia_id"
                   ],
                   "can_choose_prepaid_card": 1,
                   "can_choose_payment_card": 1
               },                
       }
   ],
   "errcode": 0,
   "errmsg": "ok"
}


参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。
primary_category_id 一级目录id
secondary_category_id 二级目录id

拉取单个子商户信息接口

接口说明

通过指定的子商户appid,拉取该子商户的基础信息。 注意,用母商户去调用接口,但接口内传入的是子商户的appid。

接口详情

接口调用请求说明

http请求方式: POST
http:// api.weixin.qq.com / cgi-bin/component/get_card_merchant?access_token=TOKEN

参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{
 “appid”:”wx********”
}

返回数据

{
 "appid":"wxd395ea50d8b6867a",
 "name":"灰太狼烧烤店",
 "primary_category_id":1,
 "secondary_category_id":101,
 "submit_time":1440580664,
 "result":"RESULT_PASS"
}

查询失败返回示例(errcode不为0,errmsg为相应错误信息):

{
 "errcode":xxxx,
 "errmsg":"xxxx"
}
参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。

拉取子商户列表接口

接口说明

通过指定的子商户appid,拉取该子商户的基础信息。 注意,用母商户去调用接口,但接口内传入的是子商户的appid。

接口详情

接口调用请求说明

http请求方式: POST
http:// api.weixin.qq.com / cgi-bin/component/batchget_card_merchant?access_token=TOKEN 

参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{
 "next_get": "" 
} 

字段说明

参数名 描述
next_get 获取子商户列表,注意最开始时为空。每次拉取20个子商户,下次拉取时填入返回数据中该字段的值,该值无实际意义。

返回数据’’’

查询成功返回示例:

{
 "list":[
 {
 "appid":"wxd395ea50d8b6867a",
 "name":"灰太狼烧烤店",
 "primary_category_id":1,
 "secondary_category_id":101,
 "submit_time":1440580664,
 "result":"RESULT_PASS"
 },
 {"appid":"wx6384a98262a87262",
 "name":"灰太狼烧烤店",
 "primary_category_id":1,
 "secondary_category_id":101,
 "submit_time":1440580515,
 "result":"RESULT_PASS"
 },
 {"appid":"wx42cf28f28b77d653",
 "name":"灰太狼烧烤店",
 "primary_category_id":1,
 "secondary_category_id":101,
 "submit_time":1440386151,
 "result":"RESULT_CHECKING"
 },
 {"appid":"wx5aecba35a7d70c14",
 "name":"灰太狼烧烤店",
 "primary_category_id":1,
 "secondary_category_id":101,
 "submit_time":1440385851,
 "result":"RESULT_PASS"
 }
 ],
 "next_get":"13"
}

查询失败返回示例(errcode不为0,errmsg为相应错误信息):

{
 "errcode":xxxx,
 "errmsg":"xxxx"
}


参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。

开发者注意: 当母商户的子商户数量超过20时,可通过填写next_get的值,从而多次拉取列表的的方式来满足查询需求。具体的方式是,将上一次调用得到的返回中的next_get的值作为下一次调用中的next_get的值。

新增第三方强授权相关接口

接口说明

1.普通授权,即公众号本身已有某接口或业务的权限,通过第三方授权,第三方代公众号代公众号调用该接口或实现该业务。

2.普通授权的相关接口请参考微信开放平台相关文档:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318587&lang=zh_CN

3.强授权,即公众号本身无某接口或业务的权限,但第三方获取了该接口或业务的权限后,通过强授权过程,公众号也额外获得该权限。

4.强授权过程变更2个API,并增加了1个第三方平台确认授权的API。api_query_auth, 增加返回字段:need_confirm, already_confirm, 分别表示是否需要确认,是否已经确认。api_getauthorizer_info,增加返回字段:need_confirm, already_confirm, 分别表示是否需要确认,是否已经确认。api_confirm_authorization, 第三方平台确认授权API。

注意: 若子商户公众号本身有卡券功能,不用调用强授权确认接口,直接可调用卡券接口。 建议在进行强授权接口确认前,通过普通授权接口内的“5、获取授权方的账户信息“接口查询该公众号是否具备“卡券功能”。

【强授权权限集,必须调接口进行授权确认,才能真正获得强授权特性】

使用授权码换取公众号的授权信息

接口说明

该API用于使用授权码换取授权公众号的授权信息,并换取authorizer_access_token和authorizer_refresh_token。 授权码的获取,需要在用户在第三方平台授权页中完成授权流程后,在回调URI中通过URL参数提供给第三方平台方。

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token=TOKEN 

参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{
 "component_appid":"appid_value",
 "authorization_code": "auth_code_value"
}

字段说明

参数名 描述
component_appid 第三方平台appid
authorization_code 授权code,会在授权成功时返回给第三方平台,详见第三方平台授权流程说明。

返回数据

返回结果示例

{
 "authorization_info": {
 "authorizer_appid": "wxf8b4f85f3a794e77", 
 "authorizer_access_token": "QXjUqNqfYVH0yBE1iI_7vuN_9gQbpjfK7hYwJ3P7xOa88a89-  Aga5x1NMYJyB8G2yKt1KCl0nPC3W9GJzw0Zzq_dBxc8pxIGUNi_bFes0qM", 
 "expires_in": 7200, 
 "authorizer_refresh_token": "dTo-YCXPL4llX-u1W1pPpnp8Hgm4wpJtlR6iV0doKdY", 
 "func_info": [
 {"funcscope_category": {"id": 1},confirm_info”:{"need_confirm":      1,"already_confirm":0}}, 
 {"funcscope_category": {"id": 2},confirm_info”:{"need_confirm": 1,"already_confirm":0}}, 
 {"funcscope_category": {"id": 50},confirm_info”:{"need_confirm": 1,"already_confirm":1}}
]
}
参数名 描述
authorization_info 授权信息
authorization_appid 授权方appid
authorizer_access_token 授权方令牌(在授权的公众号具备API权限时,才有此返回值)。
expires_in 有效期(在授权的公众号具备API权限时,才有此返回值)
authorizer_refresh_token 刷新令牌(在授权的公众号具备API权限时,才有此返回值),刷新令牌主要用于公众号第三方平台获取和刷新已授权用户的access_token,只会在授权时刻提供,请妥善保存。 一旦丢失,只能让用户重新授权,才能再次拿到新的刷新令牌
func_info 公众号授权给开发者的权限集列表(请注意,当出现用户已经将消息与菜单权限集授权给了某个第三方,再授权给另一个第三方时,由于该权限集是互斥的,后一个第三方的授权将去除此权限集,开发者可以在返回的func_info信息中验证这一点,避免信息遗漏), id位对应的权限集编号。 confirm_info是强授权相关字段。 其中need_confirm:是否需要第三方平台确认(0,不需确认,1,需要认), already_confirm:是否已经确认。(0,未确认,1,已经确认)。


funcscope_category_id 权限集说明
1 消息与菜单权限集
2 用户管理权限集
3 账号管理权限集
4 网页授权权限集
5 微信小店权限集
6 多客服权限集
7 业务通知权限集
8 微信卡券权限集
9 扫一扫权限集
10 Wi-Fi权限集
11 素材管理权限集
12 摇周边权限集
13 离线数据权限集

确认授权

接口说明

该API用于使用授权码换取授权公众号的授权信息,并换取authorizer_access_token和authorizer_refresh_token。 授权码的获取,需要在用户在第三方平台授权页中完成授权流程后,在回调URI中通过URL参数提供给第三方平台方。

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/ cgi-bin/component/api_confirm_authorization?component_access_token =TOKEN  

参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{
 "component_appid":"appid_value",
 "authorizer_appid": "authorizer_appid_value",
 "funcscope_category_id":8,
 "confirm_value": 1
}

字段说明

参数名 描述 必填
component_appid 第三方平台appid
authorizer_appid 授权方appid
funscope_category_id 授权集id
confirm_value 是否确认,1为确认,2为取消

返回数据

{
 "errcode":xxxx,
 "errmsg":"xxxx"
}


参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。

获取授权方的账户信息

接口说明

该API用于获取授权方的公众号基本信息,包括头像、昵称、帐号类型、认证类型、微信号、原始ID和二维码图片URL。 需要特别记录授权方的帐号类型,在消息及事件推送时,对于不具备客服接口的公众号,需要在5秒内立即响应;而若有客服接口,则可以选择暂时不响应,而选择后续通过客服接口来发送消息触达粉丝。

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/ cgi-bin/component/api_get_authorizer_info?component_access_token=TOKEN  

参数说明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

POST数据示例

{
 ”component_appid":"appid_value" ,
 "authorizer_appid": "auth_appid_value" 
}

字段说明

参数名 描述 必填
component_appid 第三方平台appid
authorizer_appid 授权方appid

返回数据

返回结果示例

{
  "authorizer_info": {
  "nick_name": "微信SDK Demo Special", 
  "head_img": "http://wx.qlogo.cn/mmopen/GPyw0pGicibl5Eda4GmSSbTguhjg9LZjumHmVjybjiaQXnE9XrXEts6ny9Uv4Fk6hOScWRDibq1fI0WOkSaAjaecNTict3n6EjJaC/0", 
  "service_type_info": { "id": 2 }, 
  "verify_type_info": { "id": 0 },
  "user_name":"gh_eb5e3a772040",
  "alias":"paytest01"
}, 
  "qrcode_url":"URL",    
  "authorization_info": {
  "appid": "wxf8b4f85f3a794e77", 
  "func_info": [
  {"funcscope_category": {"id": 1},confirm_info”:{"need_confirm": 1,"already_confirm":0}}, 
  {"funcscope_category": {"id": 2},confirm_info”:{"need_confirm": 1,"already_confirm":0}}, 
  {"funcscope_category": {"id":,8},confirm_info”:{"need_confirm": 1,"already_confirm":1}}
]
}
}


参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。
authorizer_info 授权方昵称。
head_img 授权方头像
service_type_info 授权方公众号类型,0代表订阅号,1代表由历史老帐号升级后的订阅号,2代表服务号
verify_type_info 授权方认证类型,-1代表未认证,0代表微信认证,1代表新浪微博认证,2代表腾讯微博认证,3代表已资质认证通过但还未通过名称认证,4代表已资质认证通过、还未通过名称认证,但通过了新浪微博认证,5代表已资质认证通过、还未通过名称认证,但通过了腾讯微博认证
user_name 授权方公众号原始id
alias 授权方公众号设置的微信号,可能为空。
qrcode_url 二维码图片链接,开发者最好保存
authorization_info 授权信息
appid 授权方appid
func_info 参见api_query_auth的返回结果func_info说明

错误码说明

错误码 描述
-1 系统错误。
-1000 系统错误
61017 子商户未发起授权,不能进行授权确认
61020 提交的参数错误,即不包含在接口字段范围内
61022 审核中和审核通过的商户资料均不能重提。仅审核驳回可重提
43014 母商户资料未提交、未审核或审核未通过(母商户资料提交并审核通过后,才能提交子商户资料)
41004 appid为空
40013 无效的appid,请检查提交的子商户账号是否正确。
40007 无效的media_id
61019 非强授权,不能用confirm确认
61018 已经confirm确认,无需重复确认
61021 尚未进行资料提交,不可confirm
43016 第三方平台账号需要完成认证
40035 不符合的图片大小