- 「干货分享」一文了解微信优惠券产品(卡券、代金券、商家券)
相信很多产品运营和开发的朋友刚接触到微信营销,听到什么优惠券、卡券、代金券、支付券、商家券,是不是一脸懵逼,我只是想做个优惠而已,要不要这么复杂,这到底该接哪一个?希望这篇文章能让你有一个更加清晰的了解。 不管是卡券、代金券、商家券这些我们都可以统称为“优惠券”,而微信支付代金券有另一种叫法“支付券”,其实支付券还包含立减折扣的。 [图片] 优惠券定义 卡券:是微信公众号提供的一套电子卡券解决方案,实现卡券生成、下发、领取、核销的闭环,并使用对账、卡券管理等配套功能。 微信卡券能力不只包含普通的优惠券(代金券、折扣、兑换、团购、优惠券),还有会员卡、礼品卡、票证(电影票、汽车票、景点门票等)。商户可自行在公众平台或通过 接口 创建卡券,多种渠道投放给用户,用户用券时需核销卡券。 比如100元的订单金额,用户有一张10元代金券,商家先核销这10元代金券,再计算用户实际需要支付金额(90元),支付方式不限制微信支付、其他支付也是可以的。 代金券(即支付券):是微信支付面向商户的一种营销工具,商户创建代金券,可以发送给用户,当用户使用微信支付时,代金券会伴随交易自动核销/抵扣,帮助商户便捷地落地营销活动。 代金券类型包含预充值和免充值两种类型,预充值代金券适用于第三方出资策划的活动,例如:满100减10. 指订单金额100元,用户实付90元,商户实收100元;免充值适用于商户策划的活动,例如:满100减10。 指订单金额100元,用户实付90元(用户领券后,在支付中直接核销10元),商户实收90元。 [图片] 商家券:是微信支付为商户提供的电子优惠券解决方案,商家可在微信支付允许的范围内通过该功能实现商家优惠券信息生成、下发、领取、核销的闭环,并使用数据对账、券信息查询等配套功能完成商家券的管理操作。(目前只提供API接口功能,暂无法在商户平台创建) 其实可以说商家券就是卡券优惠券的升级版,都是商家自主核销,只是他们分属不同的平台,一个是公众号(卡券),一个是微信支付商户平台(商家券)。 [图片] 重要通知 微信卡券-优惠券功能现即将下线,有发券需要的商户尽快升级到“微信支付优惠券”:商家券或支付券(即代金券)。此次模块升级不涉及会员卡、礼品卡、票证产品不影响。https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&announce_id=11614329634x9Pvw&version=&lang=zh_CN&token= 优惠券产品框架 从投放场景、类型、核销看一下优惠券生态圈 [图片] 产品能力对比 内容 卡券(即将下线) 支付券(代金券) 商家券 平台体系 微信公众号 微信支付商户号 微信支付商户号 核销规则 商家核销,不限制微信支付 微信支付自动核销 商家核销,不限制微信支付 卡包 领券后进入卡包 平台发券,自动进入卡包;API发券需申请插卡权限 领券后进入卡包 自定义券码 支持 不支持 支持 营销场景 二维码;公众号消息;朋友圈广告;商家H5/APP/小程序 二维码;朋友圈;商家H5/APP/小程序;平台扫码领券、支付有礼、附近发券等 二维码;朋友圈;商家H5/APP/小程序;平台扫码领券、支付有礼、附近发券等 营销经费 无需充值(垫资) 支持预充值和免充值 无需充值(垫资) 开发能力 后台支持基本创建券与核销,同时支持商家API接口 后台支持创建券发券场景,同时支持API接口 目前只有API接口,无法在后台创建券 注:卡券优惠券产品即将下线,就不要过多关注了,了解一下就好了哈~~ 相关链接 微信卡券产品文档:https://mp.weixin.qq.com/cgi-bin/readtemplate?t=cardticket/faq_tmpl&type=info&token=1472580499&lang=zh_CN 微信卡券接口文档:https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/WeChat_Coupon_Interface.html 微信支付代金券产品文档:https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter5_1_1.shtml 微信支付商家券产品文档:https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter5_2_1.shtml
2021-05-10 - java 微信支付V3开发包分享
1. 前言 最近忙的一批,难得今天有喘气的机会就赶紧把最近在开发中的一些成果分享出来。前几日分享了自己写的一个微信支付V3的开发包payment-spring-boot-starter,就忙里偷闲完善了一波。 项目地址: https://github.com/NotFound403/payment-spring-boot 别忘记给个Star啊。 那么都完善了哪些内容呢?我来一一介绍。 2. Maven 中央仓库 是的,不用再自行编译打包部署了,我已经提交到Maven中央仓库了。最新的坐标是: [代码]<dependency> <groupId>cn.felord</groupId> <artifactId>payment-spring-boot-starter</artifactId> <version>1.0.2.RELEASE</version> </dependency> [代码] 这才算有了点正经开源项目的样子。 3. 功能更加完善 在上次分享中仅仅实现了微信支付的代金券能力,这次加入了更多的微信支付能力: 微信支付V3的基础支付-直连模式优化。 实现微信支付V3的合单支付。 同时自行实现了多商户、多APPID的多租户模式。后续微信支付分等功能也将接入进来。 4. 完善样例 大部分还是喜欢拿来就用,那么我编写了一个DEMO项目,比如微信支付回调的控制器代码: [代码] /** * 微信支付成功回调. * <p> * 无需开发者判断,只有扣款成功微信才会回调此接口 * * @param wechatpaySerial the wechatpay serial * @param wechatpaySignature the wechatpay signature * @param wechatpayTimestamp the wechatpay timestamp * @param wechatpayNonce the wechatpay nonce * @param request the request * @return the map */ @SneakyThrows @PostMapping("/transaction") public Map<String, ?> transactionCallback( @RequestHeader("Wechatpay-Serial") String wechatpaySerial, @RequestHeader("Wechatpay-Signature") String wechatpaySignature, @RequestHeader("Wechatpay-Timestamp") String wechatpayTimestamp, @RequestHeader("Wechatpay-Nonce") String wechatpayNonce, HttpServletRequest request) { String body = request.getReader().lines().collect(Collectors.joining()); // 对请求头进行验签 以确保是微信服务器的调用 ResponseSignVerifyParams params = new ResponseSignVerifyParams(); params.setWechatpaySerial(wechatpaySerial); params.setWechatpaySignature(wechatpaySignature); params.setWechatpayTimestamp(wechatpayTimestamp); params.setWechatpayNonce(wechatpayNonce); params.setBody(body); return wechatApiProvider.callback(TENANT_ID).transactionCallback(params, data -> { //TODO 对回调解析的结果进行消费 }); } [代码] 基本就是抄来就能用的。还有更多请参阅 payment-spring-boot-samples项目: 地址:https://github.com/NotFound403/payment-spring-boot-samples 5. 文档 写文档确实是一个枯燥的事情,参考了其它一些开源项目的样子弄了个像模像样的文档: 地址是:https://notfound403.github.io/payment-spring-boot [图片] 快速接入指南、JavaDoc、踩坑分享都在文档里面了。如果有什么需要完善的地方可以提交ISSUE。 今天的分享就到这里,如果你在微信支付中遇到了什么问题可以留言提问,分享使我快乐。
2020-12-31