×

使用微信公众平台开发前必读

微信公众平台开发概述微信公众平台开发者规范微信公众号接口权限说明微信公众号接口调用频次限制说明

开始开发微信公众平台

微信开发者平台接入指南微信公众平台接口域名说明微信平台开发者获取access_token获取微信服务器IP地址微信平台开发报警排查指引微信接口测试号申请

微信公众平台自定义开发

微信平台开发自定义菜单创建接口微信公众平台自定义菜单查询接口微信自定义菜单删除接口微信自定义菜单事件推送微信公众平台个性化菜单接口微信获取自定义菜单配置接口

微信公众平台 消息管理

微信平台接收普通消息微信平台开发接收事件推送微信平台被动回复用户消息微信消息加解密说明微信公众号客服消息微信高级群发接口微信公众号开发模板消息接口微信平台开发者模板消息运营规范获取微信公众号的自动回复规则

微信网页开发

微信网页授权微信网页开发样式库微信JS-SDK说明文档微信web开发者工具

微信平台素材管理

微信新增临时素材获取微信平台临时素材微信开发者新增永久素材微信开发者 删除永久素材微信开发者修改永久图文素材获取微信公众号素材总数获取微信公众平台的素材列表

微信平台 用户管理

微信公众号用户标签管理微信平台开发者设置用户备注名获取微信公众号用户的基本信息(UnionID机制)获取微信公众号用户列表获取微信用户地理位置微信公众号黑名单管理

管理微信账号

微信生成带参数的二维码微信公众号长链接转短链接接口微信认证事件推送

微信公众号数据统计

微信用户分析数据接口微信图文分析数据接口微信消息分析数据接口微信接口分析数据接口

微信卡券接口说明

微信卡券接口微信平台开发者创建卡券微信平台投放卡券核销微信平台的卡券微信公众号管理卡券微信卡券事件推送微信平台会员卡专区(一)微信平台会员卡专区(二)微信优惠券朋友的券专区微信特殊票券第三方微信开发者模式微信卡券错误码

微信门店

微信门店接口

微信小店

微信小店接口微信平台语义理解接口

微信设备功能

微信服务号设备功能介绍微信如何新增产品型号

微信平台新版客服功能

将消息转发到微信客服微信客服管理微信会话控制微信获取聊天记录

微信摇一摇周边

申请开通微信摇一摇微信设备ID微信摇一摇页面管理微信摇一摇上传图片素材微信平台管理设备与页面的关联关系微信摇一摇数据统计微信摇一摇关注的JSAPI微信摇一摇事件通知微信html5页面获取设备信息微信摇一摇获取设备及用户信息微信摇一摇红包介绍说明微信摇一摇周边错误码

微信连WIFI

微信连Wi-Fi开发者指引微信Wi-Fi硬件鉴权协议接口说明微信Wi-Fi软件服务管理接口说明开通微信连Wi-Fi插件微信Wi-Fi门店管理微信Wi-Fi设备管理配置微信WiFi联网方式微信商家主页管理微信平台Wi-Fi数据统计连网后微信公众号下发消息微信卡券投放微信Wi-Fi接口返回错误码微信连网过程常见错误码

微信扫一扫

微信扫一扫接入指南微信上进行商品创建微信商品发布微信商品管理微信扫一扫事件推送微信一物一码专区微信扫一扫错误码微信公众号在线帮助工具微信扫一扫常见问题

核销微信平台的卡券


核销卡券

更新日志

版本号 更新内容 更新时间
V1.0

1.规范核销引导流程,建议开发者调用核销接口之前先调用查询code接口查看code状态

2.优化查询code接口,便于开发者使用,同时兼容旧接口

2015-8-31








该部分主要介绍开发者如何在用户使用券之后让卡券从用户的微信客户端消失的过程,这个步骤称为核销。


核销目前分为线上核销和线下核销两种类型。

线上核销指用户从券面进入一个HTML5网页后主动销券的过程,如微信商城用券、自助核销等;

线下核销指用户到店后,出示二维码或者出示串码,由收银员完成核销动作,如扫码核销、机具核销等。

1线下核销

  1.1 查询Code接口

我们强烈建议开发者在调用核销code接口之前调用查询code接口,并在核销之前对非法状态的code(如转赠中、已删除、已核销等)做出处理。


接口调用请求说明

HTTP请求方式: POST
URL:https://api.weixin.qq.com/card/code/get?access_token=TOKEN

参数说明

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






POST数据

{
   "card_id" : "card_id_123+",
   "code" : "123456789",
   "check_consume" : true
}


参数说明

参数名 必填 类型 示例值 描述
code string(20) 110201201245 单张卡券的唯一标准。
card_id string(32)

pFS7Fjg8kV1I

dDz01r4SQwMkuCKc

卡券ID代表一类卡券。自定义code卡券必填。
check_consume bool true 是否校验code核销状态,填入true和false时的code异常状态返回数据不同。











当check_consume为true时返回数据

卡券状态正常:

{
  "errcode": 0,
  "errmsg": "ok",
  "card": {
    "card_id": "pbLatjk4T4Hx-QFQGL4zGQy27_Qg",
    "begin_time": 1457452800,
    "end_time": 1463155199
  },
  "openid": "obLatjm43RA5C6QfMO5szKYnT3dM",
  "can_consume": true,
  "user_card_status": "NORMAL"
}

卡券状态异常:

{
 "errcode": 40127,
 "errmsg": "invalid user-card status! Hint: the card was given to user, but may be deleted or set unavailable ! hint: [iHBD40040ent3]"
}


当check_consume为false时返回数据

卡券状态正常:

{
  "errcode": 0,
  "errmsg": "ok",
  "card": {
    "card_id": "pbLatjk4T4Hx-QFQGL4zGQy27_Qg",
    "begin_time": 1457452800,
    "end_time": 1463155199
  },
  "openid": "obLatjm43RA5C6QfMO5szKYnT3dM",
  "can_consume": true,
  "user_card_status": "NORMAL"
}

卡券状态异常:

 {
  "errcode": 0,
  "errmsg": "ok",
  "card": {
    "card_id": "pbLatjnK8NLbWgwMgfMtnj3gaglw",
    "begin_time": 1457625600,
    "end_time": 1460217599
  },
  "openid": "obLatjm43RA5C6QfMO5szKYnT3dM",
  "can_consume": false,
  "user_card_status": "GIFTING"
}
参数名 描述
errcode 错误码
errmsg 错误信息
openid 用户openid
card_id 卡券ID
begin_time 起始使用时间
end_time 结束时间
user_card_status

当前code对应卡券的状态

NORMAL          正常 

CONSUMED     已核销 

EXPIRE              已过期 

GIFTING            转赠中

GIFT_TIMEOUT  转赠超时 

DELETE              已删除

UNAVAILABLE   已失效 

code未被添加或被转赠领取的情况则统一报错:invalid serial code

can_consume 是否可以核销,true为可以核销,false为不可核销






















注意事项:

1.固定时长有效期会根据用户实际领取时间转换,如用户2013年10月1日领取,固定时长有效期为90天,即有效时间为2013年10月1日-12月29日有效。

2.无论check_consume填写的是true还是false,当code未被添加或者code被转赠领取是统一报错:invalid serial code

  1.2 核销Code接口

消耗code接口是核销卡券的唯一接口,开发者可以调用当前接口将用户的优惠券进行核销,该过程不可逆。

接口调用请求说明

HTTP请求方式: POST
URL:https://api.weixin.qq.com/card/code/consume?access_token=TOKEN

参数说明

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






POST数据

非自定义Code卡券的请求
{
  "code": "12312313"
}
或自定义Code卡券的请求
{
  "code": "12312313",
  "card_id": "pFS7Fjg8kV1IdDz01r4SQwMkuCKc"
}
参数名 必填 类型 示例值 描述
card_id string(32)

pFS7Fjg8kV1Id

Dz01r4SQwMkuCKc

卡券ID。创建卡券时use_custom_code填写true时必填。非自定义Code不必填写。
code string(20) 1231231 需核销的Code码。








返回数据 

 {
"errcode":0,
"errmsg":"ok",
"card":{"card_id":"pFS7Fjg8kV1IdDz01r4SQwMkuCKc"},
"openid":"oFS7Fjl0WsZ9AMZqrI80nbIq8xrA"
}
参数名 描述
errcode 错误码。
errmsg 错误信息。
openid 用户在该公众号内的唯一身份标识。
card_id 卡券ID。








注意事项:

1.仅支持核销有效状态的卡券,若卡券处于异常状态,均不可核销。(异常状态包括:卡券删除、未生效、过期、转赠中、转赠退回、失效)

2.自定义Code码(use_custom_code为true)的优惠券,在code被核销时,必须调用此接口。用于将用户客户端的code状态变更。自定义code的卡券调用接口时, post数据中需包含card_id,否则报invalid serial code,非自定义code不需上报。

2 线上核销

2.1 拉取卡券列表接口(JS-SDK)

微信 JS-SDK 只能在微信内置浏览器中使用,其他浏览器调用无效。微信提供chooseCard接口供商户前端网页调用,用于拉起用户名下该商家筛选条件的卡券内容。 点击查看 调起适用于门店的卡券列表并获取用户选择列表JS-SDK

 拉取卡券列表接口

2.2 Code解码接口

code解码接口支持两种场景: 

1.商家获取choos_card_info后,将card_id和encrypt_code字段通过解码接口,获取真实code。 

2.卡券内跳转外链的签名中会对code进行加密处理,通过调用解码接口获取真实code。

接口调用请求说明

HTTP请求方式: POST
URL:https://api.weixin.qq.com/card/code/decrypt?access_token=TOKEN

参数说明

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






POST数据

{
  "encrypt_code":"XXIzTtMqCxwOaawoE91+VJdsFmv7b8g0VZIZkqf4GWA60Fzpc8ksZ/5ZZ0DVkXdE"
}


  参数说明

参数名 必填 类型 示例值 描述
encrypt_code string(128)

XXIzTtMqCxwOaawoE91+VJdsFmv7b

8g0VZIZkqf4GWA60Fzpc8ksZ/5ZZ0DVkXdE

经过加密的Code码。








返回数据

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


   参数说明

参数名 描述
errcode 错误码
errmsg 错误信息
code 解密后获取的真实Code码







   注意事项

1.只能解码本公众号卡券获取的加密code。 

2.开发者若从url上获取到加密code,请注意先进行urldecode,否则报错。

3.encrypt_code是卡券的code码经过加密处理得到的加密code码,与code一一对应。

4.开发者只能解密本公众号的加密code,否则报错。

2.3 查询Code接口

我们强烈建议开发者在调用核销code接口之前调用查询code接口,并在核销之前对非法状态的code(如转赠中、已删除、已核销等)做出处理。

2.4 核销Code接口

线上核销普通券的接口同线下核销普通券的接口一致。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)