微信卡券跳转小程序遇到的小坑

需求背景

在2019年8月13日之前,微信卡包里的卡券都是跳转到对应公众号的页面,但是在2019年7月26日时,微信发布通告:微信卡券“网页链接跳转”能力即将下线通知

各位开发者:
为了确保微信生态良性发展,微信卡券将于2019年8月13日下线网页链接跳转能力。下线后,卡券创建流程中,“自定义入口”与“卡券详情>立即使用跳转”不再支持跳转至网页配置,你可尝试使用跳转小程序作为替代。本次调整仅针对券,会员卡原有能力暂时不变。
给你带来不便,敬请谅解。感谢你的理解和支持。
微信团队
2019年7月26日
原文链接

开发文档和代码说明

现在需要把卡券功能跳转到小程序,但是微信公众号卡券管理后台,并没有设置跳转小程序的功能(这是坑人的地方:支持跳转小程序,却没有可以设置的地方。还是我没有找到?)
查看微信官方文档,可以通过接口更新卡券信息,设置相关按钮和自定义入口跳转小程序,接口文档
对应的代码:

            // 更新卡券
            // 需要更新的卡券的ID
            $card_id 
            //卡券类型
            $card_type = 'cash';
            $baseInfo = [
                // 立即使用:中间按钮的文案
                'center_title'=>'马上使用',
                // 中间按钮对应跳转的小程序APPID。这里注意,格式为 appid@app
                'center_app_brand_user_name'=>'gh_xxxx@app',
                // 对应跳转的小程序页面地址
                'center_app_brand_pass'=>'pages/card/buyDetail',
                // 自定义入口的文案
                'custom_url_name'=>'马上使用',
                // 自定义入口跳转的小程序APPID
                'custom_app_brand_user_name'=>'gh_xxxx@app',
                // 自定义入口跳转的小程序页面地址
                'custom_app_brand_pass'=>'pages/card/buyDetail',
            ];
           // 这里使用的是easywechat的方法,实际只是对更新接口的封装
            $result = $card->update($card_id,$card_type,$baseInfo);

遇到的一些小问题

其实这段代码非常简单,微信文档里都有写。只要对应更新卡券的字段,即可设置卡券跳转小程序,从而打通卡券和小程序。但是这里有几个比较小的坑,在开发的时候,一不注意就会一直调试不成功。

1.写代码前的做准备:需在open平台绑定公众号AppId与小程序AppId:文档链接
2.最坑的一点:上面的文档里写的比较清楚,app_brand_user_name 需要传入的是 appid@app这样的格式,但是,在管理卡券的文档中,字段描述为:小程序APPID。因为这个描述,导致我写代码时,一直传的是appid ,并没有加上 @app。结果一直跳转小程序失败。在查了很久以后才发现这个问题...不仔细看文档的坑。(也想吐槽微信文档的不一致和描述不准确)

你可能感兴趣的:(微信卡券跳转小程序遇到的小坑)