参考:
官方文档:
发放规则 (https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=13_2) 对于小应用或者基础功能集成测试来说可以不管
调用红包接口流程(https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=13_3) 关键,接口集成相关;
如果您对下面的都有所了解可以直接调到下一篇:微信红包接入2-项目集成
最近项目中需要接入微信红包接口(目前走现金红包,其实我看了一下和裂变红包也没啥大的区别),需求就是,应用中有一个虚拟的秀币(类似q币的东东),用户可以申请提现(在服务号应用中,暂不涉及原始客户端sdk),会员加入有500秀币,在「提现」的录入页面提交表单,假如提400,那么我们将需要借助微信红包接口,将应用绑定商户(微信商户平台https://pay.weixin.qq.com/index.php)的账户中的余额进行抵扣,直接以现金红包的方式打到会员的微信账户;
以上的流程可以接官方的用户交互流程来说明(https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=13_4):
需要注意的是,在微信下发和用户录取的时候,在微信自身的流转可能会由于微信app的版本的不同而有所变化,不过这个对于我们集成来说没有印象,如果需要可以在调用接口前做相应的提醒。
引用:
调用现金红包接口,发放成功后,用户领取红包流程如下:
步骤(一):收到领取红包消息,根据用户微信版本不同,分为:
- 微信版本在6.1及以上的用户收到企业自身微信号(调用接口时传入appid对应的商户号)下发领取消息;如果用户未关注微信号,那么会收到由“服务通知”下发的消息
- 微信版本在6.1以下的用户仍按原流程收取消息:由微信红包公众号下发领取消息
商户侧调用红包接口流程
1. 登录微信支付商户平台下载证书以及充值
直接点击下载证书。
我使用的java进行应用开发,关键的是第一个,不过这里是打包下载的,需要:
当时申请商户平台的时候填写的手机号进行认证,才能拖下来;
下载下来就类似:
接下来要给账户充点钱,除非你要测试余额不足的错误提示:
充值
发放现金红包将扣除商户的可用余额,请注意,可用余额并不是微信支付交易额,需要预先充值,确保可用余额充足。查看可用余额、充值、提现请登录微信支付商户平台,进入“资金管理”菜单,进行操作
◆ 后台API调用:待进入联调过程时与开发进行详细沟通;
◆ 告知服务器:告知服务器接收微信红包的用户openID,告知服务器该用户获得的金额;
◆ 从商务号扣款:服务器获取信息后从对应的商务号扣取对应的金额;
◆ 调用失败:因不符合发送规则,商务号余额不足等原因造成调用失败,反馈至调用方;
◆ 发送成功:以微信红包公众账号发送对应红包至对应用户;
其实好像微信写这个文档是给商务看的哈,我靠。我们只需要关注上面的这个时序图就行了,无非就是前台页面发起交易,我们后台响应之后,组装接口所需参数,并按需要进行加密等,使得参数合格,调用微信的红包接口,判断响应的结果,走不同的分支;
具体下一篇中我会借用这副图来表述实际开发的个个节点和code的对应;