背景:公司需要盘活存量客户,计划采用红包方式作为激励。我们的客户基本从公众号,迁移到小程序上来了。正好在微信商户平台-->产品大全(https://pay.weixin.qq.com/index.php/extend/product/lists?tid=3)看到有相关的【小程序红包】
以下是产品技术对接“流水账”,外加吐槽
对于对微信产品没有整体概念的开发人员,看到是可以直接通过接口方式实现,便直接全身心投入开发对接了。吐槽一:申请该产品需要入住90天,正常交易30天(如果是项目全部新立,这个时间,直接想把项目放弃;我是入住满了,没有交易,只能乖乖申请【微信收款商业版】产品,不间断的交易30天);开通条件,第二条,给了另外一个场景:其他结算周期的商户,暂无90/30天开通限制,但需保持正常健康交易。(那位大佬是通过这个条件弄的,麻烦告知一下小弟)
30天交易之后,开通【小程序红包】产品,调试的时候,直接报错:ILLEGAL_APPID,解决方式给的“接口传入的所有appid应该为公众号的appid(在mp.weixin.qq.com申请的),不能为APP的appid(在open.weixin.qq.com申请的)。”,但是看接口文档中对wxappid的解释“微信为发放红包商户分配的公众账号ID,接口传入的appid应该为公众号的appid或小程序的appid”。一个是需要用公众号appid,一个说公众号或者小程序的appid都可以。【小程序红包】接口文档地址:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3。这个问题,卡壳了很久,不知道那有问题,只能自己百度找问题了。吐槽二:微信对接,产品或技术支持太差了(我能理解大厂要做这个需要庞大的人员成本,但可以借鉴一下阿里云,引入服务商的资源啊。而且提供不同语言版本的JDK,应该不难吧)
没有解决办法,故顺着报错解决办法,换成公众号主体的appid尝试一下(这里有个插曲,第一次报错:需要开通【现金红包】。这是第二天调试了,还好保留了一个心眼,每天都会交易不间断,不然又要:连续正常交易30天)。尽然成功了,正在庆幸+疑惑中的时候,发现这两个产品的接口请求地址和参数尽然一样。【现金红包】接口文档地址:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_1。
归零之后,回归需求:解决小程序发红包给客户,激活客户。还好看到了这个正解帖子:https://www.big4ever.com/article/7。对应去研究一下,方法一:一直没明白服务端的接口在哪里,而且感觉场景有点受限;方法二,找到了【企业付款到零钱】,对应的开发文档,打开了新世界,有很多的使用场景接口,其中就包括:【小程序红包】、【付款到零钱】、【现金红包】......【付款到零钱】满足需求,而且总算是解释了“正解贴子”,里面方法一【小程序红包】真正的接口和使用场景。
总结:
- 希望微信能尽快修改一下,产品中心页面(https://pay.weixin.qq.com/index.php/extend/product/lists?tid=3)【小程序红包】接口文档
- 基于必须连续交易30天,建议大家在项目上线之前,保留每天刷一笔的习惯,因为不知道是否还需要开通其他产品
- 沙箱环境调试的时候也有一些问题,建议大家先多逛逛帖子,避免走弯路(大佬可以无视)