公众平台卡券功能开通、HTML5线上发券(JS-SDK接口)、查看卡券详情
本文是【浅析微信支付】系列文章的第十六篇,主要讲解如何使用微信公众平台的卡券功能、如何使用HTML5在网页展示用户领券以及微信卡券和商户平台代金券的关系。
浅析微信支付系列已经更新十六篇了哟~,没有看过的朋友们可以看一下哦。
浅析微信支付:商户平台代金券或立减优惠开通、指定用户代金券发放、查询等
浅析微信支付:商户平台开通现金红包、指定用户发放、红包记录查询
前几篇文章主要介绍了如何在【微信商户平台】使用代金券和满减优惠折扣等产品功能,有不少小伙伴说到,【微信公众平台】也有一个卡券功能,那么他们有什么差别呢?这个卡券功能该如何使用?本文会给大家一个解释。
两者的差别
首先,我们来解释商户平台和微信平台各自优惠券的区别,如果有人试过,那么应该知道,两者是不通用的,不通用的,不通用的!!!
至于这里要重点标识不通用?因为在开通微信卡券功能后,在商户平台也会出现微信卡券对应优惠券信息,虽然没有发券的功能,只是展示,但如果我们走接口发券,就会出现 发券失败,不支持发送xxx类型的优惠券 的错误,这时就尴尬了;
还没完,因为平台不同,所以微信卡券和支付优惠券发送、领取的方式(接口)也是不同的,包括用户领取时跳转到的页面也不相同,这个也请大家注意。
所以,我们需要将这两种券作为两种不同种类的券来处理就可以了。
公众平台卡券功能开通
登陆公众平台 https://mp.weixin.qq.com,点击左侧[功能-添加功能插件],进入插件库页面,进入[卡券功能],可以开通卡券功能。
申请条件: 必须开通微信支付功能!!!!
功能介绍: 卡券功能,是提供给商户或第三方的一套派发优惠券,经营管理会员的工具,可在公众平台或通过接口创建卡券,多种渠道投放给用户,用户用券时需核销卡券,核销后可查看数据、进行对账。
主要能力:
●朋友共享的优惠券——可利用社交链快速扩散传播,一人领券,本人和朋友皆可看到并使用。查看视频介绍
●普通优惠券——传统优惠券电子版,领取后仅本人可见可用,支持多种类型:折扣券、代金券、兑换券、团购券、优惠券。
●会员卡——支持折扣、积分等玩法,并提供会员管理、数据报表等丰富工具,便于商户高效运营会员。
●微信买单——无需进行微信支付开发,同时与会员卡,代金券,折扣券打通,为你积累用户消费数据,用于经营参考
●储值功能——会员卡商户无需申请,可直接通过API接口,使用“余额展示”功能,将会员余额显示在微信会员卡首页。具有预付卡资质的商家可申请“储值”功能,申请成功后,可通过API接口设置此入口,帮助会员通过微信支付为会员卡充值。
●第三方代制模式——经商户授权后,可代子商户快速接入并使用卡券功能,支持通过公众平台或API接口实现该功能。
官方开发文档地址:
这里就已知小伙伴们已经开通卡券功能,如何手动创建优惠券可以在公众平台上操作,很简单,这里就不说了,本文主要讲如何使用接口的方式来创建卡券、用户领取、查询卡券详情。
微信卡券指引
官方文档地址:
下面是卡券功能开通指引对应的申请渠道、申请条件:

有需要的小伙伴可以通读一下上面官方文档,读完之后就会对微信卡券有所认识了,差不多基础业务都能做到心中有数咯。
如果是开发者,直接看下面微信卡券接口文档就行,毕竟我们更关心接口相关的信息,官方文档如下:
下载卡券资料包:
根据官方文档的步骤,需要整整七步,下面为具体步骤: 1. 获取access_token 2. 上传卡券logo 3. 创建卡券 4. 创建二维码投放 5. 显示二维码 6. 设置测试白名单 7. 核销卡劵
官方的文档主要是使用了沙箱测试账号来测试并验证,关于接口测试号申请可以通过以下链接来取得:
下面我们来一步步分析接口。
获取access_token
页面地址:http://mp.weixin.qq.com/debug/
接口类型:基础支持
接口列表:获取access_token接口
注意事项:参数填写开发者的appid和secret
点击检查问题,即可返回access_token,access_token的有效期是两小时,两小时之后须重新获取
接口地址:获取access_token接口 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183
这里的获取微信全局access_token接口就不讲了,能看到这篇文章的小伙伴应该早就写过了,哈哈哈。
上传卡券logo
页面地址:http://mp.weixin.qq.com/debug/
接口类型:基础支持
接口列表:上传图片素材接口
access_token: 上一步获得的access_token
buffer:你选择的图片
点击检查问题,即可获取图片url,在下一步创建卡劵的参数中需要
接口地址:上传图片接口 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1451025056
此接口就是上传商户logo,可以获得一个卡券logo链接,基本上就用一次,如果不想使用此接口来上传logo,可以在公众平台手动创建优惠券时上传logo,上传后可以在logo图片上鼠标右键-复制图片路径,也是一样的(不想调接口的可以用这个歪招哈哈哈哈)。
创建卡券
页面地址:http://mp.weixin.qq.com/debug/
接口类型:卡劵接口
接口列表:创建卡劵接口
access_token:第一步获得的access_token
创建卡券接口地址:
以下为调用接口示例:
JSON示例:
通过以上接口和参数可以创建一个优惠券信息,json示例也可以使用官方的,这里有几个问题需要重点说一下: 1. use_mid_list 商户号需要填写本商户的 2. color 颜色可以根据文档中选择 3. begin_timestamp、end_timestamp 这两个时间非常重要,首先结束时间必须大于开始时间,并且需要大于一定的限度,测试时最好跨度大于一天;还需要注意的是时间格式必须是10位数值,例如:1536768000,其他格式会报错。 4. time_limit 下的值根据文档中的要求填写 5. sku、get_limit 参数按要求填写 6. logo_url 使用微信官方的logo图片地址
注意事项:date_info中用的是Unix时间戳,注意把begin_timestamp修改小于当前时间,end_timestamp修改成今天之后的时间,这样在后面核销卡劵测试才能成功
创建二维码投放
页面地址:http://mp.weixin.qq.com/debug
接口类型:卡劵接口
接口列表:创建二维码ticket接口
access_token:第一步获得的access_token
接口文档地址:
接口调用示例:
json参数:
显示二维码
在上一步的返回中点击字段show_qrcode_url字段中的链接,即可显示卡券领取二维码。 打开微信扫一扫,然后领取卡劵,如果显示卡劵未通过审核,那么需要下一步设置测试白名单,如果可以领取就忽略第六步。
设置测试白名单
文档地址:
核销卡劵
文档地址:
注意事项:仅支持审核通过且在有效期内的卡劵
HTML5网页发券(JS-SDK)
上面通过二维码发券的方式,我觉得官方文档已经解释清楚了,且接口也比较简单,所以这里就不赘述,主要需要讲的是这里的 HTML5网页发券(JS-SDK),官方文档链接如下:

看了上面的图,小伙伴大概知道是什么意思了吧,简单点说,就是用户在咋们系统H5中点击按钮,可以弹出微信官方的领取优惠券界面,官方的页面是微信提供的,我们无需开发,只需要关注如何调用官方的方法即可。
官方解释如下:微信提供的addCard接口供商户前端网页调用,用于将一张或多张卡券添加到用户卡包
接口地址如下(在以下页面搜索addCard即可直达):

上面是添加卡券的接口,我们重点关注这几个参数: 1. cardId:卡券ID,如果是商户平台,则是批次ID 2. cardExt:卡券的扩展参数。需进行 JSON 序列化为字符串传入 3. cardExt>openid:指定领取者的 openid,只有该用户能领取。 bind_openid 字段为 true 的卡券必须填写,bind_openid 字段为 false 不可填写。 4. cardExt>code:用户领取的 code,仅自定义 code 模式的卡券须填写,非自定义 code 模式卡券不可填写 5. cardExt>nonce_str:随机字符串,由开发者设置传入,加强安全性(若不填写可能被重放请求)。随机字符串,不长于 32 位。推荐使用大小写字母和数字,不同添加请求的 nonce_str 须动态生成,若重复将会导致领取失败。 6. cardExt>signature:签名,商户将接口列表中的参数按照指定方式进行签名,签名方式使用 SHA1,具体签名方案参见:卡券签名 7. cardExt>timestamp:时间戳,东八区时间,UTC+8,单位为秒 8. cardExt>outer_str:领取渠道参数,用于标识本次领取的渠道值。 9. cardExt>fixed_begintimestamp:卡券在第三方系统的实际领取时间,为东八区时间戳(UTC+8,精确到秒)。当卡券的有效期类为 DATE_TYPE_FIX_TERM 时专用,标识卡券的实际生效时间,用于解决商户系统内起始时间和领取微信卡券时间不同步的问题。
根据代金券批次ID得到组合的cardList
首先,获取cardList接口需要先获取access_token,再获取api_ticket,最后组装成想要的集合,下面是示例代码。
根据代金券批次ID得到组合的cardList:
获取微信全局accessToken:
获取卡券 api_ticket 的 api:
以上代码可以获取cardList,将此参数替换到微信官方方法中即可唤起领券页面;需要注意的是,公众平台和商户平台的券领取的方式不同,这里是以公众平台为例子,如果小伙伴要用商户平台这样为用户发券,是无法成功的哟。
查看卡券详情
开发者可以调用该接口查询某个card_id的创建信息、审核状态以及库存数量。
接口调用:
接口文档(进入链接后查询 查看卡券详情 可快速定位):
此接口官方介绍已经很详细,这里就不细讲了,大家参考官方文档即可。
结语
以上为微信公众平台-卡券功能相关的解释和源码,小伙伴们一定要注意看看官方文档哦,具体的源码可以看作者的github,里面对每个方法有详细的注释。
如果小伙伴有遇到解决不了的问题,可以关注作者微信公众号,加入讨论群中发出疑问,和小伙伴们一起解决哦~
预告:下一篇文章会讲发放奖励的另一种方式 公众平台-社交立减金活动,敬请期待!!!
如果想要提前一览源码的小伙伴,可以先看看我的 github,地址如下: https://github.com/YClimb/wxpay-sdk/blob/master/README.md
关注作者微信公众号,点击下方讨论群,扫码即可加入微信支付讨论群与小伙伴一起探讨哦~
到此本文就结束了,关注公众号查看更多推送!!!
Last updated
Was this helpful?