- 小程序直播功能准入要求
【小程序直播功能准入要求】https://developers.weixin.qq.com/miniprogram/product/live/access-requirement.html?from=groupmessage&isappinstalled=0
2020-12-18 - 如何在微信内外部浏览器唤起小程序
微信外部浏览器唤起微信小程序目的:通过发送短信召回流失用户。官方文档地址https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-scheme/urlscheme.generate.html步骤一该API我们主要用到的配置如下:jump_wxa:跳转到的目标小程序信息。该对象内包含两个字段。path:通过scheme码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带queryquery:通过scheme码进入小程序时的query。步骤二需要注意的是,query必传,然而如果我们需要跳转的页面不需要参数,也需要配置上query,默认我们填写的是from=sms, 用于统计是从短信渠道来的。步骤三与后端约定access_token 通过前端传递appKey进行区分,传哪个微信小程序的appKey 就生成对应小程序的access_token。步骤四支持设置scheme的过期时间,默认永久,我们的应用场景很少,暂不详说。步骤五代码里操作如下,由后端聚合参数信息。let postData = { appKey: 'QTSHE_MINI_APP', path: 'pages/partdetails/partdetails', query: 'partJobId=123456' || 'a=1' } this.$axios.post('xxx', postData).then((res) => { if (res.success) { const url = res.data.openlink // 将scheme转为我们平台的短链接,否则在安卓手机上无法打开微信小程序,会默认打开浏览器搜索。 this.$axios.get(`xxx`, {url}).then((res) => { if (res.success) { this.shortLink = res.data // 将weixin://xxxx 转换为 https://b.qtshe.com/xxx } }) } else { this.$Message.error('获取失败,请稍后重试') } }).catch((err) => { console.log(err) this.$Message.error('获取失败,请稍后重试') }) 微信内部浏览器唤起小程序官方文档地址https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html步骤一首先需要登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”,未配置会导致wx.config签名失败,导致无法使用开放标签。步骤二在需要调用JS接口的页面引入如下JS文件:https://res.wx.qq.com/open/js/jweixin-1.6.0.js,1.6.0版本内才增加了上述标签,低于该版本的都无法显示。步骤三通过config接口注入权限验证配置并申请所需开放标签, 在wx.config里增加openTagList标签,内置两个开放标签 [代码]wx-open-launch-app[代码] 微信h5唤起本地已经安装的app,以及 [代码]wx-open-launch-weapp[代码] 微信h5唤起小程序,操作如下:wx.config({ debug: false, appId: window.g_info.wx_appid, // 全局变量appId timestamp: data.data.timestamp, // 调用微信接口返回的 nonceStr: data.data.nonceStr, // 调用微信接口返回的 signature: data.data.signature, // 调用微信接口返回的 jsApiList: ['openLocation', 'getLocation'], // 这里需要任意填写api,不能为空 openTagList: [ 'wx-open-launch-app', 'wx-open-launch-weapp' ] }) 注意点对于Vue等视图框架,为了避免template标签冲突的问题,可使用[代码]<script type="text/wxtag-template"></script>[代码]进行代替,来包裹插槽模版和样式。页面中与布局和定位相关的样式,如[代码]position: fixed; top -100;[代码]等,尽量不要写在插槽模版的节点中,请声明在标签或其父节点上;对于有CSP要求的页面,需要添加白名单frame-src https://*.qq.com webcompt:,才能在页面中正常使用开放标签。// Vue里操作代码如下,如果需要写样式,最好是外部包一个div进行样式编写,内部的内容宽高100%即可,调试样式可使用微信开发者工具的网页模式: .quick-btn { // 这里写样式 width: 3.43rem; height: 0.96rem; display: flex; img { width: 100%; display: block; } } <div class="quick-btn"> <img src="https://qiniu-image.qtshe.com/20220317quick-apply.png" alt="" /> </div> 示例效果[图片] 为了方便运营同学,做了个工具给他们使用。 [图片] 2023年4.11号新版本后的改版方案: 首先做一个落地页:https://b.qtshe.com/1DF43E 代码如下: import toast from 'toast' export default { created() { this.init() }, methods: { // 获取微信scheme地址,并且主动跳转一次 init() { this.$axios.post(`https://xxx/你们的接口地址/user/device/scheme`, this.$route.query).then(res => { if (res.success) { window.location.href = res.data } else { toast(res.msg) } }).catch(() => { toast('服务器错误,请稍后重试') }) } } } 原理:通过地址栏配置需要跳转的参数,h5页面拿到参数后通过接口转换为weixin://xxxx 开头的scheme协议地址,并且主动location.href一次。这样能保证用户每次打开都是新的scheme地址,针对一天50w数量上限的问题,可尝试同一个用户在固定时间内相同的参数,返回相同的scheme地址。 以上限制只存在于除微信外的外部浏览器,微信容器里没有以上的限制。 2023年12月18日后方案: 官方公告如下: https://developers.weixin.qq.com/community/develop/doc/00024e32cbc36055c0c0a34b066401 ,没有外部浏览器、微信环境的限制,可以被多人打开。 使用方式通过明文拼接: weixin://dl/business/?appid=*APPID*&path=*PATH*&query=*QUERY*&env_version=*ENV_VERSION* 示例: // query需要encode编码,ENV_VERSION为控制打开开发版、体验版、线上版本 weixin://dl/business/?appid=wxa7b0b022472e55e6&path=pages/partdetails/partdetails&query=partJobId%3D123456 通过明文 URL Scheme 拉起的小程序(页面)必须要提前在「小程序管理后台 -> 设置 -> 隐私与安全 -> 明文 scheme 拉起此小程序」中进行声明; 小程序:配置能够通过明文 scheme 进入的小程序页面[图片] 这一点很烦很烦,希望能支持下 默认可打开所有的,不然每次都得去配置。
08-07 - 小程序“本地组件”(原自定义交易组件本地生活平台)接入指引(不定期更新,文明交流勿喷)
本地组件 之前曾写过“新版自定义交易组件接入指引”,广受好评,解决了很多开发者接入时遇到的问题,当然,其中也不乏一些喂不饱的白眼狼,得到便利还反咬一口,无耻至极。 本文主要介绍本地组件产品的业务流程及内测期间各流程的注意事项,文档篇幅较长,如无需查看完整文档可以使用浏览器自带页面搜索功能进行关键字搜索(快捷键Ctrl+F ),组件目前还在内测中,如无法获取内测权限请耐心等待正式上线(因未给某人提供申请方式,大佬都被喷退群了,太令人失望啦)。 本文由Memory的小跟班编写,内容如有错误请指正,勿喷。 良言一句三冬暖,恶语伤人六月寒。 1、产品介绍 本地生活服务行业的商家,可通过"本地组件" (无需新申请专用商户号)将小程序中的商品(兑换券)上架到视频号橱窗,用户在视频号购买兑换券后可在线上/线下二次核销,实现到店核销(自提)/到家配送(同城)的业务场景。 业务流程图 [图片] 用户交互示意 [图片] 2、开通方式 2.1 权限开通 商家符合接入要求或收到内测邀请后需要准备好以下资料:商家名称、视频号名称、小程序名称、小程序APPID等填写报名申请表,此处不作报名表单提供,请自行通过自有资源获取,提交表单后,正常审核时效为1个工作日。 2.2 资质要求 内测期间,商家需要发邮件提交准入资质材料用于资质审核;组件正式上线后可通过MP后台「交易组件」入口开通的「本地组件」提交对应资质审核 2.2.1 商超购百行业(如:万达、天虹) 本规则适用于入驻视频号橱窗的所有需要使用本地组件的商超购百商家 商家类型 资质类型 资质要求 商超购百 营业执照 营业执照 商超购百 商标 1.资质主体与入驻主体(小程序)一致 <br> 2.需提供35类服务商标 <br> 3.若为关联公司或代运营公司入驻,需提供上述商标权利人的委托函或授权书 商超购百 门店数量要求 1.线下业务:以服务类商标命名的实体门店>1家 <br> 2.线上业务:以服务类商标命名的官方网站、独立app或其他平台 商超购百 门店品牌授权要求 提供不少于3个,在经营销售的合作或授权经销协议(协议方需为京东/天猫官方旗舰店或旗舰店品牌) 商超购百 承诺函 承诺在视频号橱窗中所售商品均为正规渠道授权经销商品,保证商品质量,遇到售后和纠纷问题协助视频号团队友好协商处理。 2.2.2 酒旅景区行业(如:万豪、维也纳、迪士尼、长隆) 本规则适用于入驻视频号橱窗的所有需要使用本地组件的酒店/景区商家,暂不支持旅行社 商家类型 资质类型 资质要求 酒旅商家 营业执照 营业执照 酒旅商家 商标 1.资质主体与入驻主体(小程序)一致 <br> 2.品牌商标 <br> 3.若为关联公司或代运营公司入驻,需提供上述商标权利人的委托函或授权书 酒旅商家 其他资质 「单体酒店」需提供:1. 卫生许可证 <br> 2.特种行业许可证 <br> 3.如涉及自助餐券需提交餐饮服务许可(如已三证合一可提交食品经营许可)<br> 提供四星级/五星级酒店证书 <br> 「酒店/度假村集团」需提供:1. 集团旗下一家酒店的资质(同单体酒店)<br> 2. 集团与该提供资质的酒店之间的管理关系证明并附集团旗下所有酒店名单 <br> 「全国/全球连锁主题乐园」主体需提供:1. 娱乐经营许可证 <br>「景区」需提供(任选其一):1.全国旅游景区质量等级评定委员会出具的《旅游景区质量等级证书》 <br> 2. 旅游局景区等级评定委员会红头文件 <br> 3.提供4A以上景区证书 酒旅商家 承诺函 承诺在视频号橱窗中开展相关业务,保证为视频号用户提供商品购买后的线下履约能力,遇到售后和纠纷问题协助视频号团队友好协商处理。 2.2.3 餐饮行业(如:麦当劳、肯德基、喜茶、瑞幸) 本规则适用于入驻视频号橱窗的所有需要使用本地组件的餐饮商家 商家类型 资质类型 资质要求 餐饮商家 营业执照 营业执照 餐饮商家 商标 1.资质主体与入驻主体(小程序)一致 <br> 2.品牌商标 <br> 3.若为关联公司或代运营公司入驻,需提供上述商标权利人的委托函或授权书 餐饮商家 门店数量要求 以上述商标命名的实体门店,全国实体店数量≥100家(美团/点评门店信息截图或百度/高德POI信息截图) 餐饮商家 其他资质 1.餐饮店主体: 需提供申请主体的「食品经营许可证(经营范围需包含餐饮制作相关项目)扫描件」 <br> 2. 非餐饮主体需提供:a) 《餐饮平台与门店的管理关系声明》 b) 《餐饮门店运营资质和责任承诺函》(含旗下所有门店名单) c)卡券使用门店的「食品经营许可证(经营范围需包含餐饮制作相关项目)扫描件」 餐饮商家 承诺函 承诺在视频号橱窗中开展相关业务,保证为视频号用户提供商品购买后的线下履约能力,遇到售后和纠纷问题协助视频号团队友好协商处理。 2.2.4 其他行业(如:电影、演出、健身、体检、买菜等) 本规则适用于提供本地生活服务的商家,如电影、演出、健身、体检、买菜、按摩、KTV等线下服务商家。 商家类型 资质类型 资质要求 到店综合 营业执照 营业执照 到店综合 商标 1.资质主体与入驻主体(小程序)一致 <br> 2.品牌商标 <br> 3.若为关联公司或代运营公司入驻,需提供上述商标权利人的委托函或授权书 到店综合 门店数量要求 1.线上平台经营型商家(美团、携程、猫眼电影等)需提供官网,需要有开设以35类服务类型品牌商标命名的官方网站、独立APP或在其他平台上经营卖场型店铺。 <br> 2.线下经营商家(如爱康国宾体检)以上述品牌商标命名的实体门店,全国实体店数量≥100家(美团/点评门店信息截图或百度/高德POI信息截图) 到店综合 其他资质 1.餐饮店主体: 需提供申请主体的「食品经营许可证(经营范围需包含餐饮制作相关项目)扫描件」 <br> 2. 非餐饮主体需提供:a) 《餐饮平台与门店的管理关系声明》 b) 《餐饮门店运营资质和责任承诺函》(含旗下所有门店名单) c)卡券使用门店的「食品经营许可证(经营范围需包含餐饮制作相关项目)扫描件」 到店综合 承诺函 承诺在视频号橱窗中开展相关业务,保证为视频号用户提供商品购买后的线下履约能力,遇到售后和纠纷问题协助视频号团队友好协商处理。 3、协议相关 本地组件正式上线后,商家在开通本地组件时,会查看和签订本地组件协议,协议将定义本地组件业务模式、技术服务费比例、对账周期、打款周期、打款账号等内容. 本地组件正式上线后,预计会按「月」为周期结算,收取商家在视频号场景下支付GMV*1%的技术服务费。 4、文档接口 暂不在本文提供,后续更新接入时的一些问题 5、带货测试 上架商品,商品审核,保证金提交,直播卖货,支付,订单发货,退货等环节测试。 6、对账打款测试 双方进行账单对账,技术服务费对账,商家请求打款,技术服务费打款测试。 内测期问,预计月初通过邮件将账单发给商家对接人进行对账,商家完成小额打款测试, 正式上线后,平台预计在每个月1号出对账单,商家在5个工作日确认对账单无误后,在20个工作日内完成打款。 [图片] 7、异常情况测试 保证金延迟提交会限制带货能力,佣金延迟打款限制带货能力等一场逻辑测试。 8、 FAQ 8.1 视频号小店、自定义交易组件、新版自定义交易组件、视频号交易组件与本地组件的区别 能力 商户号 业务类型 发货类型 技术服务费 本地组件 原小程序商户号 团购兑换券 本地配送/到店自提 支付口径/统一比例 自定义交易组件 原小程序商户号 商品/兑换券 快递/同城/到店 无 新版自定义交易组件 新申请二级商户号 商品/兑换券 快递/同城/到店 结算口径/分类目 视频号交易组件 新申请二级商户号 商品 快递/免物流 结算口径/分类目 视频号小店 新申请二级商户号 商品 快递/免物流 结算口径/分类目 自定义交易组件将会在4月底下限,届时通过自定义交易组件上架的商品将会失效,若商家在视频号继续经营卖货,需要接入「本地组件」或者「视频号交易组件/视频号小店」 8.2 本地组件的商家,如何售卖电商物流发货商品? 目前一个视频号只能关联一个视频号小店 或一个组件,内测期间,用新的视频号开通视频号小店,上架标准电商发货商品,上传至“优选联盟”。商家视频号通过优选联盟分销电商商品,区别本地生活售卖券,(也可以通过带货团长来实现)未来会支持视频号可同时关联本地组件和视频号小店。 8.3 本地组件的商家,如何缴纳保证金,缴纳多少? 本地组件商家保证金沿用已发布的橱窗保证金规则,自营账户交3万元保证金,其他推广员交100元保证金。具体规则可参考「视频号橱窗保证金条款 」 未完待续······
2023-04-21 - 短视频发布时的推文能够直接挂载小程序么?
类似抖音那样的逻辑,打开直接进入小程序
2023-03-13 - 小程序交易保障是否需要申请?
小程序交易保障是否需要申请?是的话,申请条件是什么 [图片]
2022-07-23 - 海外地址解析简单攻略
海外地址解析有多种方案: 1、腾讯地图海外地址解析; 2、HERE地图解析; 3、Google地图解析(被墙,放弃) 以下重点介绍第1、第2种地址解析方案。 方案一:腾讯地图海外地址解析 步骤如下: 1、lbs.qq.com登录自己的账户; 2、控制台--工单--创建工单 3、选择:特色产品--海外位置服务 4、认真填写工单信息; 5、等待回复 6、腾讯工作人员回信,内容为: 七天的测试期,可以尽情测试你的代码接口了; 如果需要申请正式服务,最低配套餐为3万CNY,(我们嫌贵,果断放弃) 7、云函数实现地址解析的简单代码如下: const rp = require('request-promise') exports.main = async (event) => { let opt = { uri: 'https://apis.map.qq.com/ws/geocoder/v1', qs: { address: event.address, oversea: 1, language: 'en', // country: "Australia", key: 'HCDBZ-OHMA3-IMQ3R-*****-EW366-YNBVU' }, json: true } return await rp(opt) } 代码简单吧?哈,就是这么简单,果然,返回了某地址event.address的正确信息,包含GPS坐标; 我们猜测腾讯海外位置服务可能调用的是HERE接口,立马转向HERE本尊,直接连HERE地址解析接口。 方案二:HERE地址解析 1、打开官网here.com 2、点击Delevoper 3、注册开发者账号,登录; 4、右上角头像--Projects 5、Projects里应该此时只有一个免费Freemium套餐,免费的,真香;点击进入;另外还有两个套餐可选,价格能接受。 6、在REST里Create APP创建一个应用,并创建一个API key;[图片] 7、这样就可以使用HERE的接口了,云函数里访问HERE的代码如下: const rp = require('request-promise') exports.main = async (event) => { if (event.address) { } else return 'wrong address' let opt = { uri: 'https://geocode.search.hereapi.com/v1/geocode', qs: { q: event.address, apiKey: 'x656fsEiUvnz************0MrcC4COBA8SVk' }, json: true } return await rp(opt) } 哈,是不是更简单?没错,就这几行代码就全部搞定通过地址信息查询地图坐标的功能了。 到此,海外地址功能搞定,其他HERE接口,照此编写代码即可。
2021-07-06 - 海外主体小程序注册流程(中文版)
一、填写邮箱,并且点击激活帐号 [图片] [图片] [图片] 二、信息登记。企业名称和企业注册号按照主体证件填写,若无企业注册号可以填写“无”。 管理员证件号码请按照证件填写(注意大小写) [图片] [图片] [图片] 三、提交信息后,需完成微信认证之后,小程序才可以正常使用。 [图片] [图片] [图片]
2020-07-28 - 海外版小程序注册方法
目前小程序全量面向海外开放,请在注册信息登记页面选择对应的“注册国家/地区”进行注册。 注:海外主体注册小程序暂只支持企业类型注册。 [图片] [图片]
2020-07-28 - 小程序在海外运营,是否可以接入其他支付方式,例如:Stripe?
可以接入,但只能是通过Stripe接入的微信支付。 另外,可以了解下海外的接入模式:需要与当地机构合作,当地机构会提供技术支持。首先需要机构帮助申请微信支付商户号,然后需要商户号跟公众号/小程序/APP的APPID进行绑定,才能开通境外公众号/小程序/APP支付权限,绑定前提是主体公司名称要一致才可以绑定,主体就是注册证书上的公司名称。 APP申请网址:https://open.weixin.qq.com (移动应用开发) 公众号/小程序申请网址:https://mp.weixin.qq.com/?lang=zh_CN 可以通过以下网址查询到机构的相关信息,当地机构会提供技术支持。 机构列表:https://pay.weixin.qq.com/index.php/xphp/v/coversea_partner_search/view_partner_search 注:后续所选择地区就会出现该地区的所有机构 附上以下网址可了解到微信跨境支付接入的相关信息: http://act.weixin.qq.com/static/merchant_overseas/introduction.html http://act.weixin.qq.com/static/merchant_overseas/faq_en.html http://act.weixin.qq.com/static/merchant_overseas/guide_en.html http://act.weixin.qq.com/static/merchant_overseas/guide_en.html https://pay.weixin.qq.com/index.php/public/wechatpay/home
2019-10-18 - 小商店注销指引
一、 未完成开店任务的小商店 部分小商店自主注销功能已上线,如小商店未完成开店任务的,商家可登录小商店电脑端管理后台(shop.weixin.qq.com)-店铺管理-基础信息-原始ID后方点击注销账户即可。 [图片] [图片] 确认注销协议后,需要进入7天冻结期。店铺的超级管理员将会收到一条通知。 [图片] 注销过程中,可以登陆小商店后台取消注销。 [图片] 7天冻结期到期之后,超级管理员将收到注销通知。再次确认注销意愿,即可注销小商店。 帐号一旦成功注销,流程不可逆。 二、已完成开店任务的小商店 如商家店铺已完成开店任务需要注销的,功能开发中,敬请期待。 [图片]
2022-04-13 - 微信搜一搜·品牌官方区经营指南
微信搜一搜,致力于成为品牌连接微信生态的一扇门,用全网最短路径帮助消费者连接品牌一切。
2021-11-28 - 企业微信·ISV服务商必备指南
企业微信携手深耕企业服务市场的合作伙伴,一起为企业打造极致应用。企业可按照业务需求自行选用。
2022-02-10 - 微信人脸核身
国家在政务民生、医疗挂号、快递收寄等多领域规定,需要用户实名才可办理业务。微信参照公安部“互联网+”可信身份认证服务平台标准,建立“微信人脸核身能力”,本课程将介绍如何接入、开发和应用。
2022-03-29 - 酒旅行业私域运营实战解析
围绕着酒旅行业在私域营销路上遇到的问题,结合实战案例解析,为酒旅商户提供可复制、可落地的解题思路。
2022-06-01 - 酒店人如何用微信实现业绩增长
讲师:73,微信酒店旅游行业经理、微信学堂酒店旅游行业讲师、小程序产品经理。
2022-08-15 - 微信支付服务商运营宝典
本专题带大家来了解微信支付为为服务商提供的多种重要支持,包括合作方案、物料支持等,用以助力服务商拓展及提高运营效率。
07-15 - 微信视频号·创作运营指南
微信创作者课堂,是由微信官方发起的视频号创作、运营及交流的免费教学平台,旨在帮助所有爱好短视频和直播的创作者,更好地玩转视频号。
2022-06-10 - 微信小程序直播
微信小程序直播系列课程持续更新中,帮助大家更好地理解、应用微信小程序直播功能。
2022-03-29 - 海外小程序认证问题汇总
海外小程序认证问题汇总 Q&A about mini program auditing in foreign market 1.海外小程序认证审核公司联系方式: 1. How to contact our office: 成都知道创宇信息技术有限公司 Chengdu Knownsec Information & Technology Co., Ltd. 联系电话:00862867686811/邮箱:wx@anquan.org Tel:00862867686811 / Email:wx@anquan.org 公众号:知道创宇客服 Account Name:知道创宇客服 公众号微信号:wxrzkf Wechat Official Account:wxrzkf 周一至周五(工作日)9:00-18:00 From Monday to Friday(Weekday)9:00-18:00 长沙公信诚丰信息技术服务有限公司 Changsha Creditful Data Service Lnc. 联系电话:073188693119/邮箱:gxcf@csgxcf.com Tel:073188693119 / Email:gxcf@csgxcf.com 公众号:公信诚丰 Account Name:公信诚丰 公众号微信号:gxcf1204 Wechat Official Account:gxcf1204 周一至周五(工作日)8:30-17:30 From Monday to Friday(Weekday)8:30-17:30 上海倍通企业信用征信有限公司 Crediteyes Co., Ltd. 联系电话:041184947889/邮箱:beitongxinyong@crediteyes.com Tel:041184947889 / Email:beitongxinyong@crediteyes.com 公众号:倍通信用海外认证客服 Account Name:倍通信用海外认证客服 公众号微信号:crediteyes Wechat Official Account:crediteyes 周一至周五(工作日)8:30-17:30 From Monday to Friday(Weekday)8:30-17:30 注:认证付费后,系统会随机委派上述其中一家审核机构进行审核,小程序后台的认证派单通知会告知审核机构名称以及联系电话。 Tips:After the payment, your order will be distributed one of above companiesrandomly,please notice the messages while operating the systembackground. 2.海外小程序认证状态和结果查看方式 请登录公众平台,从“设置->微信认证->查看“查看进度。 也可以拨打第三方审核公司的客服热线咨询审核进度 2. How to know the process and result: Please sign in system, follow up your process from“ Setting -> WechatAuthentication -> Check”. Calling our office is also available at the sametime. 3.海外小程序审核失败费用是否退回 海外小程序认证主体均需支付99美元/次的审核服务费用。这是用户基于腾讯提供的资质审核服务而支付的一次性费用,用户每申请一次认证服务需要支付一次审核服务费。无论认证成功或失败,都需要支付审核服务费。 3. Can I get refund if my authentication failed: Audit due $99 happens in every new order, this nonrecurring charge baseson our Tencent audit service regulation. So whether the audit success or not,the charge is consequent. 4.海外小程序认证审核时间 海外小程序认证在支付费用后,在用户提交完整的资质后7-15个工作日内完成审核。 4. How long my order would take: Generally the entire process takes 7-15 weekdays after submitting alldocuments required, after your payment received by system. 5.海外小程序认证费用支付方式 海外小程序支付方式有两种:微信支付/银行卡支付(银行卡支付目前支持Visa/Master) 5. How should I pay: Two ways of arranging payment by far: Wechat pay / Bank card(SupportVisa / Master) 6. 海外小程序认证所需资料 ①《企业注册证》或者《商业许可证书》:原件照片或扫描,或者复印件加盖企业公章后扫描; ②联系人正反面身份证件彩色扫描件; ③申请公函(中文简体认证公函、中文繁体认证公函、英文认证公函); ④联系人手机电话对账单。若联系人手机电话对账单无法提供,可上传公司办公电话对账单(需加盖公章),或银行卡对账单; ⑤其他证明材料(若是选择商标命名的,请选择正确的商标注册书或者是商标授权书)。 6. Material required for Overseas Mini Program certification: ①Company Registration Certificate or Business License:Photo or scanned copy of the original, or the copy with the company seal on it after scanning; ②Color scanned copy of the contact person’s ID card on both sides; ③Application letter (simplified Chinese Application letter,traditional Chinese Application letter, English Application letter); ④Phone bills of the contact person. If it can’t be offered, then you can offer the Statement of the office telephonenumber (with the company seal on it) or Bank Statement; ⑤Other supporting materials ( If you choose to name after a trademark, please provide the right Trademark Registration Certificate or Trademark Authorization).
11-13 - 境外小程序支付攻略(云开发篇),看这一篇就够了。
一、前言 境外微信支付的实现方式,与国内支付的方式大不同,即不是V2,也不是V3,而是经由海外支付服务商,通过间连的方式来实现的。(香港地区融合钱包除外)。 以下专门介绍具体的实现攻略: 二、开通 首先,你需要先了解当地有哪些第三方支付服务商,然后选择其中一家,接入他们提供的支付服务,从而实现微信支付的开通。 1、全球第三方支付服务商: https://pay.weixin.qq.com/index.php/public/wechatpay_en/partner_search#/ 找到当地服务商的联系方式,与他们联系,他们会告诉你所需提供哪些资料,并帮你开通商户号,接入微信支付; 资料信息包括: 营业执照 翻译认证 公司银行账户 法人及联系人信息 其他信息等。 2、香港融合钱包 融合钱包以下不做介绍,技术方面和v3支付完全一样。 技术方案可以参考: https://pay.weixin.qq.com/wiki/doc/api/wxpay/en/pages/MiniProgramPay_fw.shtml 三、第三方服务商提供的支付服务 每个第三方服务商所提供的支付服务各不相同,以下分别举例: Yaband Pay (Europe PayPro B.V.): 微信支付, 支付宝, PayPal, SOFORT, IDEAL, 银联支付, List 2paynow (Europe Sepay B.V.): 微信支付, 支付宝 VR Payment (Europe CardProcess GmbH): 微信支付, 支付宝 Supay (Australia): 微信支付, 信用卡支付 其他地区第三方支付服务商,提供哪些服务,需要向他们咨询。 注: 1、境外小程序对除微信支付之外的支付方式,卡得并不象国内这样严,一般情况下,PayPal, 信用卡等方式,都支持并审核通过,支付宝会稍难点; 2、小程序里实现其他支付方式的唯一方案:生成支付链接,复制到剪贴板,在手机浏览器或微信浏览器中打开,完成支付流程。 四、第三方支付账号和接入文档 第三方帮你接入微信支付后,会回复邮件给你,并提供相关支付信息: 1. 一个属于第三方的支付账号 比如Yaband pay,支付账号类似如下: ID: yourname@yoursite.com Key: f4f70db6107xxxxxxxb75efa1f1490b4 2paynow,支付账号类似如下: ID: 541102252 Key: osVx_0POxxxxF9h3JSCls 2. 该第三方支付服务商支付接入文档 比如Yaband pay 支付文档: https://www.yabandmedia.com/api/cn-api.html 比如2paynow支付文档,是由技术支持人员发送给你的PDF文档,具体内容暂不介绍。 3. 第三方支付服务商的商家管理后台 你可以登录该后台进行配置,并查看详细的订单数据。 [图片] 五、云开发实现境外支付 因为商家可以自主选择第三方支付服务商,所以我们在实现支付功能时,需要同时支付多个第三方支付服务商。 用云开发来实现,一般会有两种方式: (1)、每个第三方的支付功能,分别用一个云函数实现; (2)、一个云函数集成所有第三方支付功能;(我们采用的是该方式) 1、云函数pay.js: 按支付接口、支付服务商、支付方式分流: const cloud = require('wx-server-sdk') const rp = require('request-promise') const CryptoJS = require('crypto-js') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) const db = cloud.database() exports.main = async (event, context) => { switch (event.action) {//根据小程序端传入的支付相关接口分流 case 'unifiedorder': return await unifiedorder(event)//统一下单 case 'queryorder': return await queryorder(event)//订单查询 case 'refund': return await refund(event)//退款 default: return 'wrong action' } } async function unifiedorder(event) { let res = await db.collection('config').doc('payment').get().catch() if (res && res.data) { } else return 'wrong action'//注意:res?.data在云函数中不支持 let config = res.data//云数据库中保存了支付配置信息 switch (config.pay_sp) {//根据支付服务商pay_sp来分流 case '2paynow': return await unifiedorder_2paynow(event, config) case 'yaband': return await unifiedorder_yaband(event, config) case 'cloudpay': return await unifiedorder_cloudpay(event, config) case 'supay': return await unifiedorder_supay(event, config) case 'vr': return await unifiedorder_vr(event, config) case 'v2': return await unifiedorder_v2(event, config) case 'v3': return await unifiedorder_v3(event, config) case 'v2sp': return await unifiedorder_v2(event, config)//v2服务商模式 case 'v3sp': return await unifiedorder_v3(event, config)//v3服务商模式 default: return 'wrong action' } } async function queryorder(event) { let res = await db.collection('config').doc('payment').get().catch() if (res && res.data) { } else return 'wrong action' let config = res.data switch (config.pay_sp) { case '2paynow': return await queryorder_2paynow(event, config) case 'supay': return await queryorder_supay(event, config) case 'vr': return await queryorder_vr(event, config) default: return 'wrong action' } } async function refund(event) { let res = await db.collection('config').doc('payment').get() if (res && res.data) { } else return 'wrong action' let config = res.data switch (res.data.pay_sp) { case '2paynow': return await refund_2paynow(event, config) case 'yaband': return await refund_yaband(event, config) case 'cloudpay': return await refund_cloudpay(event, config) case 'supay': return await refund_supay(event, config) case 'vr': return await refund_vr(event, config) default: return 'wrong action' } } 2、统一下单(Yaband pay为例) 接口文档:https://www.yabandmedia.com/api/cn-api.html // -------------------yaband----------------------------------------------------------- async function unifiedorder_yaband(event, config) { let notify_url = config.notify_url let user = config.mchid let key = config.key let timeStamp = parseInt(Date.now() / 1000) let payMethod = event.pay_method if (payMethod == 'wechat') {//微信支付 const wxContext = cloud.getWXContext() let param = { "user": user, "method": "v3.CreatePaymentsWechatMiniPay", "time": timeStamp, } let data = { "pay_method": "online", "sub_pay_method": "WeChat Pay", "order_id": event.out_trade_no, "amount": event.total_fee || "0.1", "currency": event.fee_type || config.currency, "description": event.body || "YabandPay pay", "demo": event.demo || "order", "timeout": "0", "notify_url": notify_url, "sub_app_id": wxContext.FROM_APPID || wxContext.APPID, "sub_open_id": wxContext.FROM_OPENID || wxContext.OPENID } let sign = getSign_yaband({ ...param, ...data }, key) let body = { ...param, sign, data } let res = await rp({ url: "https://mapi.yabandpay.com/Payments", method: 'POST', body, json: true }) let payment = res.data.parameters return { payment, sp_trade_no: res.data.trade_id } } if (payMethod == 'sofort') {//省略 } if (payMethod == 'alipay') {//省略 } if (payMethod == 'paypal') {//Paypal支付 let param = { "user": user, "method": "v3.CreatePayments", "time": timeStamp, } let data = { "pay_method": "online", "sub_pay_method": "PAYPAL/RECURRING", "order_id": event.out_trade_no, "amount": event.total_fee || "0.1", "currency": event.fee_type || config.currency, "description": event.body || "YabandPay pay", "demo": event.demo || "order", "post_email": "xin.liu@elbsino.com", "timeout": "0", "redirect_url": "https://www.klarna.com/de/", "notify_url": notify_url } let sign = getSign_yaband({ ...param, ...data }, key) let body = { ...param, sign, data } let res = await rp({ url: "https://mapi.yabandpay.com/Payments", method: 'POST', body, json: true }) let url = res.data.url return { url }//除微信支付外,都必须返回一个url:支付链接 } } async function refund_yaband(event, config) { console.log('refund_yaband') let notify_url = config.notify_url let user = config.mchid let key = config.key let timeStamp = parseInt(Date.now() / 1000) let param = { "user": user, "method": "v3.CreateRefund", "time": timeStamp, } let data = { "trade_id": event.trade_id, "refund_amount": event.refund_amount || "0.1", "refund_currency": config.refund_currency, "refund_description": event.refund_description || "test", "notify_url": notify_url } let sign = getSign_yaband({ ...param, ...data }, key) let body = { ...param, sign, data } console.log(body) return await rp({ url: "https://mapi.yabandpay.com/Payments", method: 'POST', body, json: true }) } function getSign_yaband(args, key, sa = []) {//每个支付服务商的签名方式都不一样 for (let k in args) sa.push(k + '=' + args[k]) sa = sa.sort() let signStr = sa.join('&') let hash = CryptoJS.HmacSHA256(signStr, key) return CryptoJS.enc.Hex.stringify(hash) } function getSign_2paynow(args, key) {//2paynow的签名算法。 let signStr = args.function + args.mid + args.timestamp + key let hash = CryptoJS.MD5(signStr, key) return CryptoJS.enc.Hex.stringify(hash) } 踩坑实录: 1、每次统一下单,都会产生三种订单号: 商家订单号 支付服务商的支付订单号 微信支付订单号 记住:一定要保存支付服务商的支付订单号,因为有些支付服务商在订单查询和退款接口中,只认该订单号。 2、每个服务商的签名方案是不同的,有的甚至不需要签名,这个需要分别对待。 六、支付成功异步通知 多个服务商的异步通知,用一个云函数来实现。 云函数:notify.js const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) const db = cloud.database() const _ = db.command exports.main = async (event, context) => { let res = await db.collection('config').doc('payment').get() switch (res.data.pay_sp) { case '2paynow': return await notify_2paynow(event) case 'yaband': return await notify_yaband(event) case 'cloudpay': return await notify_cloudpay(event) case 'vr': return await notify_vr(event)//vr暂时不支持回调通知 case 'supay': return await notify_supay(event) case 'v2': return await notify_v2(event) case 'v3': return await notify_v3(event) default: return 'wrong action' } } async function notify_2paynow(event) { console.log('notify_2paynow') let qs = event.queryStringParameters if (qs.merchant_trade_no) { } else return 'success' await db.collection('payment').add({ data: qs }).then(res => console.log(res)) if (qs.merchant_trade_no && qs.trade_status == 'TRADE_SUCCESS') { await onPaymentSuccess(qs.merchant_trade_no, qs.trade_no, qs.original_trade_no) } return 'success' } async function notify_yaband(event) { console.log('notify_yaband') if (event.body) { } else return { statusCode: 200, body: 'ok' } let body = JSON.parse(event.body) let pay = body.data await db.collection('payment').add({ data: pay }).then(res => console.log(res)) if (pay.transaction_id && pay.state == 'paid') { await onPaymentSuccess(event.outTradeNo) } return { statusCode: 200, body: 'ok' } } async function notify_cloudpay(event) {//云支付pay_cb console.log('notify_cloudpay') if (event.outTradeNo) { await db.collection('payment').add({ data: event }).then(res => console.log(res)) if (event.returnCode == 'SUCCESS' && event.resultCode == 'SUCCESS') { await onPaymentSuccess(event.outTradeNo) } } return { "errcode": 0, "errmsg": 'SUCCESS' } } 踩坑实录: 1、有些国外支付服务商,并不提供异步通知功能,比如VR Payment,这就很尴尬了,因为我们业务的流程里,是非常依赖这个功能的,因此,后期造成了大量的代码修改工作,建议大家从一开始就考虑这种情况。 七、币种选择 统一下单时,支持两种币种: 1、CNY 2、当地币种,比如EUR 境外退款,一般只能使用当地币退款,不支持RMB。 八、境外小程序云开发禁用后的选择 目前境外小程序的云开发功能已经被禁用,可以通过环境共享的模式支持以上云开发境外支付方案; 1、共享在禁用令之前的同主体小程序的云环境; 2、我们是采用开放平台第三方服务商批量云开发模式; 九、境外小程序相关文章 1、https://developers.weixin.qq.com/community/develop/article/doc/000aec921e4fd8a320ec0f9795bc13 2、https://developers.weixin.qq.com/community/develop/article/doc/0000e805af0900b37f6c900c356c13 3、https://developers.weixin.qq.com/community/develop/article/doc/000a68f1a24a687242eb2427556013 4、https://developers.weixin.qq.com/community/develop/article/doc/000860b434cd180a749b9268f51c13
2022-05-31 - 微信会员卡常见问题
1、积分变动下发模板消息如何设置? 无需设置,开通会员卡功能即可具备积分变动下发模板消息能力。 2、什么消息会通过模板消息下发? 积分变动消息和余额变动消息会通过模板消息下发。其中积分、余额分别变动会分别触发模板消息;积分、余额同时变动会触发一条合并的模板消息。 3、我是订阅号,积分变动后能下发模板消息吗? 可以。认证订阅号下的卡券相关模板消息会统一从“服务通知”下发。 4、下发模板消息会影响公众号群发限额吗? 不影响。 5、如何配置积分变动消息下发优惠券? 在卡券商户后台编辑会员卡信息,找到“功能设置”-“消息通知”,在“内容设置”中点选“卡券”关联需要下发的优惠券即可。 [图片] 6、为什么我的会员卡没有等级和优惠券入口?如何设置? 等级和优惠券需要通过接口开发实现。可点击查看:创建会员卡接口 7、买单过程中支持直接抵扣优惠券吗? 暂不支持直接抵扣优惠券。目前只支持积分抵扣金额和会员卡本身折扣优惠。 8、已经有电子会员卡的商户如何接入微信会员卡? 已经使用电子会员卡的商户也可以接入微信会员卡,通过开发,可打通已有会员系统与微信会员卡系统。打通后,商户便可同步使用微信会员卡官方能力(如客户端原生体验、微信买单功能等)
2020-07-17 - 来一间酒店民宿新媒体代理商后台V1.0版本重磅发布
经过将近半年的和代理商的反复沟通和打磨,迭代升级,来一间独家研发的新媒体代理商后台V1.0版本终于赶在国庆前与大家见面了。那么,他具体有哪些功能呢?就让我们来揭开他的神密面纱吧。 在来一间的酒店民宿新媒体直销系统的代理商后台中,我们主要为我们的代理商创建了以下几种功能,方便代理商使用。 一、代理商管理 1.建立代理商档案并设置分成比例; 2.绑定代理商支付; [图片] 二、代理商后台 1.代理商拥有自己的独立后台; 2.查看发展酒店数量; 3.每月分成统计; 4.酒店分成排名、累计分成、未结算分成、今日分成等; [图片] 三、酒店统计报表 1.查看代理商名下酒店分成比例及订单明细 2.查看酒店指定时间业绩明细并支持导出报表 [图片] 四、子账号管理 1.创建子账号,员工独立管理名下酒店 2.登录后台可以查看实时结算数据 [图片] 我们是来一间,专注酒店民宿公寓微信小程序开发制作6年,有自主研发的来一间新媒体直销系统,需要了解的可以微信搜索“来一间”关注或者登录来一间的官网www.laiyijian.com了解。
2021-09-30 - 微信人脸核身接口能力
一、能力背景 近年来,国家在医疗挂号、APP注册、快递收寄、客运、运营商等多领域规定,需要用户实名才可办理业务,预计后续也会有越来越多的此类法规。因此,微信参照公安部“互联网+”可信身份认证服务平台标准,依托腾讯公司及微信的生物识别技术,建立微信“实名实人信息校验能力” ,即通过人脸识别+权威源比对,校验用户实名信息和本人操作(简称微信人脸核身)。 目前接口限定主体及行业类目开放公测,提供给资质符合要求的业务方,在合适的业务场景内使用。目前仅支持持二代身份证的大陆居民。 由于人脸核身功能涉及到用户的敏感、隐私信息,因此调用此接口的小程序,需要满足一定的条件。即:小程序的主体以及类目,需要在限定的类目范围内,且与小程序的业务场景一致。开展的业务也需要是国家相关法规、政策规定的需要“实名办理”的相关业务(其他未在范围内的业务,则暂不支持)。 以下为接口接入及开发的详细内容。如开发中遇到任何疑问,可以点击此处通过社区反馈,将有工作人员跟进回复。 文档第四部分【再次获取核验结果api】,有助于提高业务方安全性,请务必接入! 现阶段微信人脸核验能力,针对小程序,开放的主体类目范围包含: 小程序一级类目 小程序二级类目 小程序三级类目 使用人脸核验接口所需资质 物流服务 收件/派件 / 《快递业务经营许可证》 物流服务 货物运输 / 《道路运输经营许可证》(经营范围需含网络货运) 教育 学历教育(学校) / (2选1):1、公立学校:由教育行政部门出具的审批设立证明 或 《事业单位法人证书》;2、私立学校:《民办学校办学许可证》与《民办非企业单位登记证书》 医疗 公立医疗机构 / 《医疗机构执业许可证》与《事业单位法人证书》 医疗 互联网医院 / 仅支持公立医疗机构互联网医院(2选1):1、卫生健康部门的《设置医疗机构批准书》;2、 《医疗机构执业许可证》(范围均需含“互联网诊疗”或名称含“互联网医院”等相关内容 医疗服务 三级私立医疗机构 / 仅支持三级以上私立医疗机构,提供《医疗机构执业许可证》、《营业执照》及《医院等级证书》 政务民生 所有二级类目 / 仅支持政府/事业单位,提供《组织机构代码证》或《统一社会信用代码证》。 金融业 银行 / (2选1):1、《金融许可证》; 2、《金融机构许可证》。 金融业 信托 / (2选1):1、《金融许可证》; 2、《金融机构许可证》。 金融业 公募基金 / (4选1):1、《经营证券期货业务许可证》且业务范围必须包含“基金”;2、《基金托管业务许可证》; 3、《基金销售业务资格证书》;4、《基金管理资格证书》。 金融业 证券/期货 / 《经营证券期货业务许可证》 金融业 保险 / (8选1):1、《保险公司法人许可证》;2、《经营保险业务许可证》;3、《保险营销服务许可证》;4、《保险中介许可证》;5、《经营保险经纪业务许可证》;6、《经营保险公估业务许可证》或《经营保险公估业务备案》;7、《经营保险资产管理业务许可证》 ;8、《保险兼业代理业务许可证》。 金融业 消费金融 / 银监会核准开业的审批文件与《金融许可证》与《营业执照》 金融业 汽车金融/金融租赁 / 仅支持汽车金融/金融租赁主体,同时提供:1、《营业执照》(公司名称包含“汽车金融” /“金融租赁”;营业范围包含“汽车金融”/“金融租赁”业务);2、《金融许可证》或银保监会及其派出机构颁发的开业核准批复文件。 交通服务 网约车 快车/专车/其他网约车 (自营性网约车)提供《网络预约出租汽车经营许可证》。(网约车平台)提供与网约车公司的合作协议以及合作网约车公司的《网络预约出租汽车经营许可证》。 交通服务 航空 / (航司)提供《公共航空运输企业经营许可证》。(机场)提供《民用机场使用许可证》或《运输机场使用许可证》。 交通服务 公交/地铁 / 提供公交/地铁/交通卡公司《营业执照》 交通服务 水运 / (船企)提供《水路运输许可证》。(港口)提供《港口经营许可证》 交通服务 骑车 / 仅支持共享单车,提供共享单车公司《营业执照》 交通服务 火车/高铁/动车 / 仅支持铁路局/公司官方,提供铁路局/公司《营业执照》 交通服务 长途汽车 / (2选1):1、《道路运输经营许可证》(经营范围需含客运);2、官方指定联网售票平台(授权或协议或公开可查询文件)。 交通服务 租车 / 运营公司提供《备案证明》与对应公司《营业执照》,且营业执照中包含汽车租赁业务 交通服务 高速服务 / 仅支持ETC发行业务,(2选1):1、事业单位主体,需提供《事业单位法人证书》;2、官方指定的发行单位(一发单位),需提供“官方授权或协议,或公开可查询的文件”; 生活服务 生活缴费 / (供电类)提供《电力业务许可证》与《营业执照》,且《营业执照》且经营范围含供电。(燃气类)提供《燃气经营许可证》与《营业执照》,且《营业执照》且经营范围含供气。(供水类)提供《卫生许可证》与《营业执照》。(供热类)提供《供热经营许可证》与《营业执照》,且《营业执照》且经营范围含供热。 IT科技 基础电信运营商 / (2选1):1、基础电信运营商:提供《基础电信业务经营许可证》;2、运营商分/子公司:提供营业执照(含相关业务范围)。 IT科技 转售移动通信 / 仅支持虚拟运营商,提供《增值电信业务许可证》(业务种类需含通过转售方式提供移动通信业务) 旅游服务 住宿服务 / 仅支持酒店,提供《酒店业特种行业经营许可证》 商业服务 公证 / 仅支持公证处,提供《公证处执业许可证》或《事业单位法人证书》 社交 直播 / (2选1):1、《信息网络传播视听节目许可证》;2、《网络文化经营许可证》(经营范围含网络表演)。 如对以上类目或资质有疑问,可点击参考小程序“非个人主体开放的服务类目”,详细了解小程序开放的服务类目及对应资质。 二、准备接入 (请在小程序发布后,再提交人脸核身接口申请) 满足第一节中描述的类目和主体的小程序,可申请微信人脸核验接口。目前微信人脸核身接口已改为线上自助申请方式,需按照如下图例指引,进行接口申请: 第一步:请通过mp.weixin.qq.com登录小程序账号在后台“功能-人脸核身”的路径,点击开通按钮—— [图片] 第二步:仔细查阅《人脸识别身份信息验证服务条款》后,点击“同意并下一步”—— [图片] 第三步:请正确填写服务信息,并上传该小程序类目下所要求的资质—— [图片] 第四步:请按照业务实际需求填写使用人脸接口的场景和用途—— [图片] 第五步:请完善测试信息和联系人—— [图片] 第六步:提交后请耐心等待1-3个工作日的审核期,审核结果将以站内信通知—— 如申请期间遇到问题,可联系腾讯工作邮箱 wx_city@tencent.com,将会有相关工作人员进一步指引。 三、接口文档: (一)接口描述 名称: wx.startFacialRecognitionVerify(OBJECT) 功能:请求进行基于生物识别的人脸核身 验证方式:在线验证 兼容版本: 一闪:android 微信7.0.22以上版本, iOS 微信7.0.18以上版本 建议在微信官网升级至最新版本 (二)参数说明 1、OBJECT参数说明: 参数 类型 必填 说明 name String 是 姓名 idCardNumber String 是 身份证号码 success Function 否 调用成功回调 fail Function 否 调用失败回调 complete Function 是 调用完成回调(成功或失败都会回调) 2、CALLBACK返回参数 参数 类型 说明 errMsg String 错误信息 errCode Number 错误码 verifyResult String 本次认证结果凭据,第三方可以选择根据这个凭据获取相关信息 注 1:传递用户姓名和身份证有两种方式 业务方没有用户实名信息,用户需要在前端填写身份证和姓名,那么前端直接通过jsapi 调用传递 name 和 idCardNumber。 业务方已经有用户实名信息,后台通过微信提供的 api(详情见文档后面“上传姓名身份证后台 api”)上传用户身份证姓名和身份证,api 返回 user_id_key 作为凭证传给前端,前端再调用 jsapi,用户姓名、身份证信息不需要经过前端,参数只需要传递 userIdKey。Tips:使用该功能需要小程序基础库版本号>=1.9.3。 3、回调结果说明 回调结果请参考以下释义: [图片] [图片] [图片] 4、示例代码 [图片] [图片] (三)上传用户姓名身份证的后台api 1、API说明 1.1说明 业务方上传用户姓名和身份证,获取用户凭证,把凭证给到前端通过 jsapi 调用。 Tips :使用该功能需要小程序基础库版本号>=1.9.3。 1.2请求URL https://api.weixin.qq.com/cityservice/face/identify/getuseridkey?access_token={ac cess_token} 1.3请求方式 POST 2、请求数据格式 [代码]Json { "name" : “张三”, "id_card_number" : "452122xxxxxxx43215" } [代码] 请求示例 [代码]#!/bin/bash TOKEN='xxxxxxxxxxxx' URL='https://api.weixin.qq.com/cityservice/face/identify/getuseridkey' JSON='{ "name": "张三", "id_card_number": "452344xxxxxxxxxxxxx234"}' curl "${URL}?access_token=${TOKEN}" -d "${JSON}" [代码] 参数说明 json 字段 中文显示 是否必传 name 姓名 是 id_card_number 身份证号码 是 out_seq_no 业务方唯一流水号 否 3、返回数据 参数 类 型 说明 errcode int 错误码 errmsg string 错误信息 user_id_key string 用于后台交互表示用户姓名、身份证的凭证 expires_in uint32 user_id_key 有效期,过期需重新获取 [代码]{ "errcode" : 0, "errmsg" : "ok", "user_id_key" : "id_key_xxxx", "expires_in": 3600 } [代码] 4、后台消息推送 如果业务方传入out_seq_no,核身完成后会通过消息推送回调给业务方的服务器,如果回调业务方失败,会在5s尽力推送,超过5s不再推送。 参数说明 参数 类 型 说明 ToUserName string 小程序原始ID FromUserName string 事件消息openid CreateTime uint32 消息推送时间 MsgType string 消息类型 Event string 事件类型 openid string 核身用户的openid out_seq_no string 业务方唯一流水号 verify_result string 核身返回的加密key(凭据) 返回示例 [代码]{ "ToUserName": "gh_81fxxxxxxxx", "FromUserName": "oRRn15NUibBxxxxxxxxx", "CreateTime": 1703657835, "MsgType": "event", "Event": "face_identify", "openid": "oRRn15NUibBxxxxxxxxx", "out_seq_no": "test1234", "verify_result": "XXIzTtMqCxwOaawoE91-VNGAC3v1j9MP-5fZJxv0fYT4aGezzvYlUb-n6RWQa7XeJpQo0teKj8mGE4ZcRe1JI3GqzADBYORBu613rKjKAFfEXTXw_bu1bs7MnmPOpguS" } [代码] 四、再次获取核验结果api 此接口是前端完成人脸核身后,基于前端返回的凭据,通过后台api再次进行核验结果和身份信息的校验,有助于提高安全性,请务必接入! 前端获取结果不可信,存在被篡改的风险,为了保障请求结果安全性,请务必对identify_ret、id_card_number_md5、name_utf8_md5字段进行校验! (一)API说明 1、说明 人脸核身之后,开发者可以根据jsapi返回的verify_result向后台拉取当次认证的结果信息。 2、请求URL https://api.weixin.qq.com/cityservice/face/identify/getinfo?access_token={access_token} 3、请求方式 POST 4、请求格式 json (二)请求数据说明 1、请求 参数 类型 是否必填 描述 verify_result String 是 jsapi返回的加密key(凭据) 2、数据返回 HTTP 头如下 Date: Mon, 06 Feb 2017 08:12:58 GMT Content-Type: application/json; encoding=utf-8 Content-Length: 85 Connection: close json示例 [代码]{ "errcode" : 0, [代码] [代码]"errmsg" : "ok", "identify_ret" : 0, "identify_time" : 1486350357 "validate_data": "8593" [代码] [图片] (三)返回参数说明 1、返回参数 注:errcode和identify_ret同时为0,代表本次认证成功。 参数 类型 描述 errcode int 错误码, 0表示本次api调用成功 errmsg string 本次api调用的错误信息 identify_ret int 人脸核身最终认证结果 identify_time uint32 认证时间 validate_data string 用户读的数字(如是读数字) openid string 用户openid user_id_key string 用于后台交互表示用户姓名、身份证的凭证 finish_time uint32 认证结束时间 id_card_number_md5 string 身份证号的md5(最后一位X为大写) name_utf8_md5 string 姓名MD5 2、错误码对应信息 errcode 备注 84001 非法identity_id 84002 用户信息过期 84003 用户信息不存在 五、小程序辅助接口:检查设备是否支持人脸检测 1、接口名称 接 口 :wx.checkIsSupportFacialRecognition(OBJECT) 功能:检查设备是否支持人脸检测 2、接口说明和使用 小程序调用该接口,可以检测当前手机设备是否具备支持人脸检测的能力,可与以上接口分开使用,为了用户体验,建议调用后对手机设备不支持的用户做对应功能处理。 3、接口说明和使用 01 OBJECT 参数说明: 参数 类型 是否必填 描述 success Function 否 调用成功回调 fail Function 否 调用失败回调 complete Function 是 调用完成回调(成功或失败都会回调) checkAliveType Number 否 人脸核验的交互方式,默认读数字(见表 2) 表 2:checkAliveType 的值和对应的解释: 参数 解释 2 先检查是否可以屏幕闪烁,不可以则自动为读数字 02 CALLBACK 返回参数 参数 类型 说明 errMsg Boolean 错误信息 errCode Number 错误码 03 回调结果说明 回调类型 ErrCode 说明 sucess 0 支持人脸采集 fail 10001 不支持人脸采集:设备没有前置摄像头 fail 10002 不支持人脸采集:没有下载到必要模型 fail 10003 不支持人脸采集:后台控制不支持 回调结果说明仅对Android生效,iOS不返回errcode。 04 示例代码 [图片] 六、安全性说明 为保障业务可用性以及安全性,请详细研读微信人脸核身接口相关基础说明及安全说明文档:https://docs.qq.com/doc/DTFB0YWFIdGV6amly 备注:如开发中遇到任何疑问,可以点击此处通过社区反馈,将有工作人员跟进回复。 七、案例展示及补充说明 安徽医科大学第二附属医院,微信人脸核验登录: 安徽医科大学第二附属医院,是三级甲等综合医院。其小程序为用户提供挂号、门诊费用、住院费用、检查报告、体检等医疗服务,同时也提供停车、餐饮等便民服务,是医疗小程序中完整的案例。 小程序使用了微信人脸核验能力作为登录的核验。满足医院管理要求,也满足国家对于实名就医的管理规则。 案例实现的截图效果如下: [图片] [图片] 针对近期少数小程序方面反馈的两类问题,也在本课程进行补充说明。 1、本接口的开放范围,即:可支持的主体类目,是否可以扩大? 说明:基于本接口整体使用范围的评估、相关法规的参考、监管策略的理解执行等,暂时未立刻进行扩大开放范围的工作。 但我们会持续基于不同行业的法规、政策及监管要求等,逐一进行研究考量,以便确认如何扩大开放范围。 2、小程序如果涉及用户本人的生物特征采集,(如本人人脸照片、人脸视频),或涉及采集用户本人生物特征信息并开展人脸核验功能,则存在被驳回的情况? 说明:近两年“人脸识别”技术在社会上掀起了热潮。人脸识别虽然作为摆脱“中间媒介”或“承载载体”的一种直接技术手段,解决了部分政务、交通、医疗、零售等证明“操作者是本人”的问题,但也因此,引入了新的更大的安全风险。 一是,虚假安全风险。 身份认证领域的安全三因素包括“我知道什么”、“我拥有什么”、“我的特征是什么”,通用的安全做法,是要双因素认证(2FA),人脸识别技术如仅凭“我的特征是什么”这一个因素,则容易被攻破或利用。表象给用户以安全的感觉,但实际并不能达到安全效果。 二是,信息泄漏的风险。 越来越多的组织或个人,在并非必需用户敏感信息、生物特征的情况下,采集并存储此类信息。在信息加密、传输、存储过程中,容易暴漏更多的网络节点,使得此类信息有更大的风险被网络黑客拦截、窃听、窃取,或直接被脱库。 三是,消除风险的难度大。 以往基于“中间媒介”或“承载载体”的方式,如出现丢失、被冒用、恶意盗用等风险,可以通过挂失、更换、使用新载体或新媒介等方式,快速排除一定的风险。C端主动,B端主动,都能解决一部分问题。但人脸识别做为更直接的方式,一旦出现冒用、盗用,受害者将面临更大的财产及人生安全风险,且C端用户更多时候无法主动消除风险。 基于以上问题风险,加之国家出台《网络安全法》、《用户隐私保护条例》等法律法规标准,网信办、公安部、工信部及市场监管总局等四部委发起的app获取隐私整治,结合平台安全、用户敏感隐私信息保护要求及监管,针对部分暂无相关法规或要求,需要采集或生物认证方式进行身份核验的,或以“追热点”或“尝鲜”为目的,采集用户生物特征或进行身份核验的,进行严格审核,必要时不予以支持。
星期一 15:19 - 微信小商店·商家成长学习资料
内含开店指引、店铺运营和平台规则,帮你快速掌握小商店经营秘诀。
09-05 - 如何知道公司主体名下有多少个小程序?分别是哪些?
如何知道公司主体名下有多少个小程序?分别是哪些? 众所周知,一个公司名下只能注册50个小程序,个人/个体户只能注册5个。查看个人名下有多少个小程序/公众号只要登录mp.weixin.qq.com扫一下二维码即可: [图片] 而查看公司名下的小程序,好像是个谜!只能问注册当事人。 其实还是可以通过小程序后台取得这个信息。 不废话,上步骤: 一、随便打开一个要查公司的小程序后台。 [图片] 二、进入设置里的其它小程序修改页面。 [图片] 三、手动数一下有多少个即可。 [图片] 其实这个功能这样操作有点大材小用了! :(
2020-06-15 - 小程序能否撑起整个“微信互联网”?
互联网的发展史大致如下: [图片] PC互联网 > 移动互联网 > 微信互联网 前面PC互联网和移动互联网已经没有争议,至于微信互联网还是有很大分歧。今天我们不深究互联网历史,而是分析一下小程序能否撑起整个“微信互联网”?成为现实! 能叫##互联网,它必须是一个生态。用通俗一点的说法就是,它得像一个森林。里面有大型动物、小动物、植物、昆虫等。互相依存,又生生不息。用程序员的说法就是,一个开放式的操作系统。程序员能在里面开发出各种程序;而用户也能用上方便的、高效的工具。接张小龙的说这些程序已经不仅仅是工具。而是生活的一部分。 目前微信主要通过小程序搭建系统生态,我们先看看小程序展现出来的几个属性。能否支持起“系统”的感觉! 一、系统界面。 [图片] 在使用微信的时候,要用某个工具。下拉一下,应有尽有。没有的还可以持续添加。 二、3个系统常用操作。 除了第一点界面,外表长得像操作系统外。能否落地,还得实实在在能用起来。我们看看这三个小程序常用操作: 1、切换常用小程序。 [图片] 2、发送小程序快捷方式到手机桌面。 [图片] 3、切换已打开的小程序。 [图片] 三、系统应用+支付闭环。 从界面到用起来,再到产生商业价值。支付环节必须顺畅。没有支付形成闭环,前面的步骤都是昙花一现。没有产生持续的商业价值,技术再厉害也经不起时间考验! [图片] BAT中的百度的衰落,离腾讯、阿里越来越远。支付就是一个非常大的失误!因为判定商业行为成败,必须有真实的支付数据支撑。 [图片] 最后总结一下,从上面界面、常用操作、支付闭环这三点来看。微信互联网成功的可能还真挺大概率。难怪阿里、百度、今日头条、手机厂商联盟等都纷纷布局小程序。在微信可以完成绝大部分的事情,这是多么恐怖的事情。对于阿里、百度等其它平台来说! 最终又会不会演变变成小程序互联网?我们拭目以待。
2019-07-30 - 小程序建设完成,商家下一步该干什么?
受平台多年压榨,很多小商家鼓起勇气把微信小程序这种性价比超高的自有渠道建搭建好。各种认证、资料上传、熟悉小程序业务流程。好不容易忙完了,而下一步该干什么? [图片] 其实这时你最应该做的就是把现有客流导入小程序。让客户下次从自有渠道小程序下单。慢慢改变客户在平台的下单习惯。这是重中之重! 下面通过3个小步骤应用在酒店行业,轻松把客户一网打尽: 1、客户进店扫码上网,自动关注小程序。 因为上网是住客的刚需,扫码就能一键连接WiFi。比传统要输入密码的方式方便多了! 除了连接WiFi,在连接过程中还有WiFi红包可领。方便锁定客户下次再来。 [图片] 2、入住后店内点餐、购买日用品或特产,自动关注小程序。 入住后,每个房间都贴有点餐码。除了点餐,还可以购买其它日用品、饮料、特产等。 [图片] 这也是住客的刚需。不用外出,所需物品直接送到房间。 3、离店时再次提醒领红包,自动关注小程序。 办理离店手续时,前台可以再次提醒领WiFi红包。方便下次使用。 [图片] 最后再送出一个让住客无法拒绝的大招: 这个大招是在客户有部分余款未结算的时候使用,让住客把钱充进小程序。付款马上9折!剩下的钱还保留在小程序。下次可用,又一个锁定客户的理由。
2019-07-17 - 公众号、小程序、open绑定规则Q&A
Q:公众号关联小程序的规则是怎么样的? A:1)公众号可关联同一主体的10个小程序,不同主体的3个小程序。 2) 一个小程序可关联最多500个公众号,一个月可以新增关联500次。 3) 公众号一个月可新增关联同主体的小程序10次、新增关联不同主体的小程序3次。 客服链接:http://kf.qq.com/faq/170109m6BVvU170109MjANjq.html Q:微信开放平台帐号(open)绑定公众号/小程序的规则是怎么样的? A: 1、移动应用 已认证(组织类型)帐号可绑定最多50个移动应用。 未认证(个人类型)帐号可绑定最多10个移动应用。 2、网站应用 一个帐号可申请最多10个网站应用。 3、公众号及公众号测试号 已认证(组织类型)帐号可绑定最多50个同主体公众号、5个不同主体公众号及5个公众号测试号,一个月最多新增绑定5个不同主体的公众号。 未认证(个人类型)帐号不支持绑定公众号及公众号测试号。 4、小程序 已认证(组织类型)帐号可绑定最多50个同主体小程序、5个不同主体小程序,一个月最多新增绑定5个不同主体的小程序。 未认证(个人类型)帐号可最多绑定5个同主体小程序,不支持绑定不同主体的小程序。 客服链接:http://kf.qq.com/faq/180104uY7r2a180104ziqumu.html Q:小程序相关二维码规则是怎么样的? A: 扫一扫扫一扫-相册微信内小程序外长按识别小程序内长按识别小程序码√√√√小程序二维码(方形)√√√×普通链接二维码√√√× 普通链接二维码打开小程序最低客户端版本号要求:6.5.6
2018-03-26 - 商家真正理解小程序与公众号的区别,直营落地将指日可待!
对于很多商家来说,都没有真正理解小程序和公众号的本质区别。从而导致了直营迟迟不能落地。 [图片] 从官网到APP,到公众号,再到现在如火如荼的小程序;商家从来没有放弃过直营。过中坎坷,不堪回首。最终还是脱离不了中心化平台的魔爪!如:住宿行业的携程、外卖行业的美团、电商行业的淘宝等;商家一年到头所挣的大部分利润都被平台吸干。提起都是泪!还是说回小程序和公众号踏实点。 我们先来普及一下小程序和公众号表面区别: 一、功能 小程序功能核心是服务,公众号功能核心是内容。 二、体验 由于公众号附加功能是基于第三方H5开发,而小程序是基于微信原生开发。所以在速度和安全上,小程序比公众号都有先天优势。有个类比非常恰当,公众号就像网页,小程序就像原生APP。 理解了小程序和公众号的技术本源后。我们就比较好理解为什么小程序体验这么好了。 为什么小程序打开快?因为微信都帮小程序加载好了。 为什么不用安装?因为微信已经安装了。 为什么不用注册?因为微信账号已经注册了。 为什么小程序安全?因为都在微信体系监管之下。 三、流量红利 1、小程序流量入口达50多个。 如:小程序特有的快捷下拉、发现页、小程序搜索、服务通知、小程序群标签、文章内嵌等。 [图片] [图片] 小程序50多个入口,7个主要入口、7个小程序自身入口、6个搜索入口、7个公众号入口、10个二维码入口、9个微信场景入口、其他8个入口。 2、2017-2018流量入口排行表。 我们再看看阿拉丁总结的2017-2018年的流量入口排行,就非常清晰怎么布局、获取本来属于你的流量红利。 [图片] [图片] 上图5个可能第2个APP分享有点陌生,下图普及一下: [图片] 这个APP分享可以说打通了很多APP流通的桥梁。这个入口也算是小程序范畴的一匹黑马。 3、小程序搜索权重高。 在微信搜一搜小程序有较高权重。也就是被搜索到的几率非常大,尤其用过的小程序。一般都排在前三!想找不到都难。 [图片] 四、O2O O2O除了大家熟悉的搜索附近小程序。小程序码即扫即用,打通线上线下,创造多元化收益。 [图片] 五、裂变 裂变是近2年火起来的热词,通俗一点解析就是老带新。如:你的微信有几百好友,你就能影响几百人。而这几百人他们也有几百人。这样循环下去,数量是非常庞大的。 小程序的列表工具大家应该都不陌生:砍价、优惠券转赠、分销、精品店等。不管在微信群、公众号、文章页、对话框等。你能想到的任何地方,都可以看到这些裂变信息。之所以有这样的铺天盖地的现象,就是因为小程序的裂变工具效果好。公众号的裂变就大打折扣了。 [图片] 上面五点好像总结得挺全面的,但这都是表面想象。 而真正理解小程序和公众号的本质区别,那离直营落地不远了。 说得简单直白一点,小程序就是用来解决成交的,公众号不是! 虽然小程序很多功能公众号也有。但各环节就差那么一点,公众号解决不了 成交的问题。因为成交是一个流程,流程中不允许半点瑕疵。 成交流程每一步必须做到畅快淋漓,直到付完全款。不然成交率谁也无法保证效果。 用个形象的比喻,成交必须像坐上滑梯,一溜到底。 我们回想一下,小程序需要安装吗?小程序需要关注吗?小程序需要填表注册吗? 小程序需要绑定银行卡再付款吗? 这些成交过程中的场景每一环节都有大量客户流失。现在流量如此昂贵,走到最后付款能达到百分之几已经算非常不错的成交率。而小程序的先天基因良好!它就像是为了优化成交而存在的。 [图片] 都明白了吗?小程序是用来成交,不是用来搞流量的。 理解了本质,其它都迎刃而解。 [图片] 当商家把成交流程打通后,需要流量变现大有人在。 那时还怕平台要挟?化被动为主动,商家挑选流量主将成为主流。 成功的商家直营将遍地开花,我们拭目以待!
2019-05-15