- 收到平台证书过期通知应如何处理?
如果你通过微信支付商户平台站内信、电话等渠道收到平台证书过期通知,请务必重视并告知你的技术人员,并敦促技术人员仔细阅读平台证书更换操作指引文档,及时完成证书更换。 [视频] 平台证书简介与更换机制:https://pay.weixin.qq.com/docs/merchant/development/interface-rules/wechatpay-certificates.html 平台证书更换操作指引:https://pay.weixin.qq.com/docs/merchant/development/interface-rules/wechatpay-certificates-rotation.html 技术支持联系方式:https://support.pay.weixin.qq.com/online-service?from=wechatpay(微信扫码登录后输入“平台证书”,点击“联系微信支付技术支持”, 问题分类选择“其他问题”-“商户安全”与我们联系 ) 技术支持企业微信:(添加好友时需注明商户号:xxx+商户名称+平台证书更换) [图片]
01-17 - 微信支付平台证书更换指引
微信支付平台证书(以下简称平台证书)是微信支付和商户交互过程中用于认证微信支付平台身份的证书,商户会在微信支付APIv3接口的请求应答、回调、敏感信息加密场景用到平台证书。 平台证书的有效期为5年,如不及时更换,会导致商户调用微信支付接口失败,出现商户业务中断的情况。如果你有使用微信支付APIv3接口,请务必重视。 如果你有收到微信支付商户平台站内信、电话等渠道通知你更换平台证书,请参考以下指引处理。另外,有不少商户和开发者容易混淆平台证书和商户API证书,请注意它们并不相同,因此即使你已更换过商户API证书,也依然要更换平台证书。 平台证书简介与更换机制:https://pay.weixin.qq.com/docs/merchant/development/interface-rules/wechatpay-certificates.html 平台证书更换操作指引:https://pay.weixin.qq.com/docs/merchant/development/interface-rules/wechatpay-certificates-rotation.html
2023-09-19 - 小程序内的支付请选择官方的接口?
appid:wx8ca60bc4d3414a31; 今天审核,突然提示:小程序内的支付请选择官方的接口(https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1)接入支付方式。我想问下,到底是微信支付本身的api我使用错了,还是说不给使用【支付宝支付】这种方式(我们只是返回一个支付宝链接,也不是直接打开支付宝app);[图片]
05-27 - 小程序内的支付请选择官方的接口?
完全按照官方指引做的支付[图片]
2022-03-01 - 小程序内的支付请选择官方的接口?
我们小程序中的收款码是商户的收款二维码, 商户向消费者展示该二维码,消费者可以通过微信/支付宝调jsap支付,而并不涉及小程序支付. 但是官方却给我驳回,说要我选择官方的小程序支付接口,问题是我们的业务根本不涉及小程序支付啊... 求解??? [图片][图片]
2020-05-14 - 同一个主体开通小程序支付和服务商支付是否有冲突?
现在小程序支付使用的是直连支付模式,就是在小程序后台绑定了一个商户号,现在因为要改动些业务,需要走服务商模式。如果走服务商模式原来的支付是否还能继续使用,因为就一个主体公司,不知道同一个主体开通服务商模式支付和现在使用的普通支付模式是否有冲突??
05-27 - 小程序绑定商户号有个数限制吗?
同一个小程序想实现绑定多个不同主体的商户号,请教一下有没有个数限制?我看文档里描述的商户号是可以绑定50个appid,反过来同一小程序绑定商户号也是50个商户号吗?[图片]
02-26 - 【生活服务-生活缴费】类目修改指引
代码审核环节,将会对小程序运营的内容与所选类目是否相符进行核实,当小程序涉及提供交通票务、旅游门票等信息展示、购买等服务,需要补充【生活服务-生活缴费】类目合规提审,否则代码审核环节将面临因类目不符被驳回情形。 场景示例与整改指引: 违规案例:小程序涉及提供水费、电费、电视费、煤气等生活费用缴纳服务 示例: [图片] 整改建议(2选1): 1、补充选择:生活服务-生活缴费类目。 2、或自查代码,确保移除水费、电费、电视费、煤气等生活费用缴纳服务及相关分类标签。 本文档为生活服务-生活缴费类目的介绍说明,如存在上述问题应及时调整、修整,避免后续存在上诉问题审核失败;若仍有其他疑惑,可以通过以下咨询入口反馈: 1、微信开放社区-交流专区-小程序发帖咨询-提出问题-运营相关问题 2、代码审核驳回站内信通知-客服咨询入口(客服咨询入口目前正在测试开放阶段,若无客服入口,建议前往开放社区发帖咨询) 我们会根据新出现的问题、相关法律法规更新或产品运营的需要及时对其内容进行修改并更新,制定新的规则,保证微信用户的体验。建议开发者反复查看以便获得最新信息,定期了解更新情况。
2022-05-23 - 小程序突然被永封了,有什么经验可以避免?
小程序突然被永封了,谁也不想有这种结果,所以大部分原因,都是无心之过。(当然不排除有人就奔着搞擦边球去的) 怎么避免这种事情发生呢? 1、还是要有开发经验,或者找有开发经验的人,他们知道哪种情况容易踩雷,容易被封; 2、如果实在没有把握,这里有一个无法验证的经验。即: 每隔一周或半个月,提交审核一次,哪怕只改一个标点符号。 理由如下: 1、每次审核,可以提前被发现出违规则的地方,只会被拒绝审核通过,而不会被永封。这样,你可以及时知道自己应该修改哪些地方; 2、也不要太频繁提交审核,增加官方的审核工作量; 按以上方法,我们规避了多次违规行为,比如: 1、上架了口罩,没有医疗证,如果长期不改正,有永封危险; 2、没有视频证,上架了视频功能(此功能为隐藏功能),有绕审危险; 3、境外小程序的企业微信群聊,首版没有发现,后来一版被拒绝; 4、虚拟支付功能,首版未发现; 5、上架了录播课程,属于视频类目,后来改为直播课程; 以上的经验无法验证,因为还没有被永封过。希望这不是立flag。阿弥托佛。。。
2022-05-23 - 微信小程序为什么要放置校验文件?
社区的开发者朋友以及微信团队: 你们好! 我有一些问题请教一下: 背景: 本人负责公司 “用户登录和身份验证系统CIAM” 在中国的部分工作,并不直接负责小程序开发。但是很多的小程序开发团队会找到我,要求我放置小程序域名校验文件。由于我负责的这个CIAM系统是工作业务的基础,几乎所有和终端用户相关的系统都要通过跳转到这个用户登录和身份验证系统CIAM来完成用户登录和身份识别,我们这个系统就要收到放置各种小程序域名校验文件的要求。这些域名校验文件对应小程序的放置和信息维护是个要长期考虑的问题。 问题: 放小程序域名校验文件的原因是什么?一定要放置小程序域名校验文件吗?(正式上线环境,未上线之前已了解可以不校验)小程序域名校验这个事情貌似是中国特有的需求。我们这个用户登录和身份验证系统CIAM是个全球共用的系统,CIAM系统一般不进行定制化。放置小程序域名校验文件是否可以避免?如果上述问题的答案是不能,那么对于我们这种基础底层服务来说,腾讯是否可以出相关的方案,来允许众多小程序只放置一个统一的校验文件,从而避免多次放置多个校验文件和相关信息的维护? 谢谢大家!
2022-01-10 - 交易类小程序纠纷投诉能力处理指引
为进一步保障小程序平台用户的合法权益,督促开发者向用户提供更好的服务,平台将针对小程序交易投诉处理规则做出以下更新: 1、和解环节开发者处理时效由72h改为48h,执行环节开发者处理时效由72h改为48h 2、和解环节开发者超时未处理,平台将判定开发者责任并做出相应处理,包括但不限于采取扣除保证金、先行垫付、扣减交易体验分等措施。 该时效调整将在2024年3月25日正式生效,请开发者及时关注。 一、一、交易类纠纷处理通知机制 1、为便于小程序开发者及时获知小程序交易投诉情况,平台将于每天早上10:00向小程序的管理员及运营者推送通知,通知内容为截至前一天24时该小程序账号内待开发者处理的投诉单详情。 2、通知查看路径: 1)小程序管理后台:右上角「通知」查询通知记录; [图片] 2)微信移动端:通知下发给小程序管理员与运营者,可搜索「微信公众平台」查看通知记录。 [图片] 二、二、交易类投诉处理操作指引 1、登陆小程序管理后台并核实投诉 登录小程序管理后台—功能—交易保障—交易投诉;查看待处理的投诉单,并尽快完成投诉单详情的核实与处理。 [图片] 2、和解环节:同意和解/拒绝和解 核实投诉后,若同意与用户和解,请在时效内上传与用户的沟通说明、物流信息或者退款凭证等,平台将推送和解详情给用户。 核实投诉后,若双方未达成和解,请选择拒绝和解并上传相关凭证,平台将推送不和解详情给用户。 若开发者未在处理时效内作任何处理,纠纷单将自动流转至平台介入处理状态,平台将判定开发者责任并做出相应处理,包括但不限于平台先行垫付,扣除开发者保证金,扣减交易体验分等措施。 [图片] [图片] 注:开发者和解时效为72h。选择同意和解或拒绝和解后,用户会收到确认投诉处理结果的通知,若用户认可开发者的处理结果,投诉将完结;若不同意,用户可申请平台客服协助处理。(2024年3月25日后发起的投诉单和解时效更改为48h) 3、平台处理环节:下发举证&判定责任 若用户不认可开发者投诉处理结果并申请平台介入,平台将根据现有纠纷凭证是否有效,要求开发者/用户补充相关凭证;若平台要求开发者补充纠纷凭证,投诉单状态将流转至【待开发者补充凭证】,处理时效为48h(特殊场景为24h),请务必如实填写并上传沟通说明、物流信息或退款凭证等信息;开发者/用户补充凭证后,平台将根据已有材料与凭证进行判责。 [图片] [图片] 4、开发者执行环节:上传处理凭证 若平台判为开发者责任,投诉单状态流转为【待开发者上传处理凭证】,处理时效为72h(特殊场景为48h),请尽快提交微信支付退款单号、交易流水、转账单号或物流单号等凭证,供平台核实是否已执行平台判责。(2024年3月25日后发起的投诉单处理时效更改为48h) [图片] [图片] 5、平台核实环节 若平台根据开发者上传的处理凭证判断开发者已执行平台判责,该投诉单将完结; 若开发者上传的处理凭证信息不准确,平台无法判断其已执行平台判责/超时未上传处理凭证,平台将根据实际情况对开发者进行交易体验分的扣减,对用户进行先行赔付等措施。 6、商家申诉环节 若平台判定商家责任后,开发者不认可平台的判责结果,可在投诉单完结后的72h内发起申诉,平台会根据申诉环节上传的相关材料进行申诉判定;每个投诉单仅支持一次申诉,申诉超时/申诉失败后不支持再次发起申诉。 若申诉成功,则开发者无需按照《微信小程序交易服务违规管理规则》中的第三章违规处理措施缴纳违约金; 若申诉失败,则开发者仍需按照《微信小程序交易服务违规管理规则》中的第三章违规处理措施缴纳违约金。 [图片] [图片] 三、小程序实物交易纠纷处理规则 平台介入处理争议时,开发者应遵守以下约定: 开发者及用户就订单产生交易争议时,双方可以选择自行协商。如用户向平台提起交易投诉,双方协商未果或开发者未作处理,平台有权根据本规则及相关法律法规介入对争议的处理。 当开发者因自身系统、管理、人力等原因出现异常大量维权或舆情事件,且开发者不具备及时处理能力,为保障双方交易安全,平台可主动介入处理。 平台处理交易争议期间,开发者及用户应当按照平台下发的站内信、模版消息、短信、电话或邮件通知及时提供凭证。 平台处理争议期间,若任何一方无正当理由,未按照举证要求提供凭证的,平台有权按照实际收集到的凭证做出处理。 平台做出判责后,开发者应当按照要求及时履行相应义务。 如开发者行为违反相关法律法规或平台规则,因此而可能产生的用户损失或额外赔偿费用将由开发者自行承担。 详情可查看微信小程序实物交易争议处理规则 四、常见问题 1、用户交易投诉的入口在哪? 小程序—页面右上角“…”—反馈与投诉—交易投诉 [图片] 2、如何更改通知接收者? 目前,交易投诉待处理通知会发送给当前小程序的管理员及运营者。若希望取消或者增加推送成员,可登录微信公众平台—管理—成员管理,更换或添加管理员及运营者。 [图片] 3、上传凭证需要注意什么?如果超时未处理怎么办? 上传前务必确保提交的证据材料的真实性、完整性、及时性和准确性;平台处理争议期间,请按照举证要求的内容提供凭证。 为保障用户的体验,请在规定时间内完成核实和处理;否则,开发者应承担超时未处理、举证超时的后果,平台有权按照实际收集到的凭证做出判责,同时根据平台规则对开发者进行扣减交易体验分等措施。 4、除了在小程序管理后台处理投诉,是否有其他方式处理交易投诉? 若开发者在网页端登陆小程序管理后台处理投诉存在困难,平台提供移动端工作台—小程序助手处理投诉,投诉处理流程与PC端一致;同时平台提供线上接口,开发者可通过接口接入自己内部系统处理投诉。 移动端工作台:微信主页搜索「小程序助手」—登陆小程序—管理功能—交易投诉 [图片] 接口文档:可点击查看交易投诉处理接口文档:投诉信息推送 | 微信开放文档 5、交易体验分是什么?为什么被扣分了?扣分后会受到什么处罚? 为保障小程序平台用户的合法权益,平台将对开发者在其小程序的违规行为进行判定,根据违规行为的严重程度对该小程序扣减不同分值的交易体验分,并在小程序交易体验分扣减至相应节点时,对开发者采取相应违规处理措施。 具体规则与案例解析可点击《微信小程序交易服务违规管理规则》、微信小程序交易体验分常见问题指引查看。 6、申诉需要提供哪些凭证才算有效凭证?哪类申诉不支持通过? 开发者需针对用户投诉问题的有效反驳凭证,建议同时提供相关图片进行佐证。 开发者在投诉单处理环节中,包含和解环节/举证环节/商家执行环节,若任意一环节存在未回复或以话术、无效字符回复的情况,不予申诉通过;用户投诉开发者服务态度问题,被平台判定问题属实,不予申诉通过;用户投诉开发者服务意愿类问题,如强制退款、或未按订单页面承诺进行服务履约(如配送超时,商品无货强制退款等),被平台判定投诉属实,不予申诉通过。 7、为什么要收取违约金? 当开发者存在违反《微信小程序交易服务违规管理规则》的行为,需要按规则3.1缴纳违约金;开发者有申诉的权利,可在投诉单完结后的72h内发起申诉,平台要求缴纳的违约金来源为"已过申诉时效或平台认定申诉不成立的违规投诉单"。 8、不缴纳是否有限制措施? 若开发者未按期足额支付违约金的,平台将采取限制小程序搜索、限制支付能力等处理措施。请参考《微信小程序交易服务违规管理规则》的违规行为及对应处理措施。 9、违约金是否可以开具发票? 小程序mp后台(mp.weixin.qq.com-功能-交易保障-消费者资金保障-违约金)模块,支持对单笔缴纳流水进行发票开具,请开发者仔细阅读开票的注意事项并填写准确信息。
03-22 - 一个小程序可以绑定多少个特约商户
我们想开发一个小程序,里面可以入驻很多商家, 这些商家目前都是绑定在一个服务商下特约商家,后面有可能超过50家特约商户 1 最多可以绑定几个 (目前可知小程序可以绑定50个普通商户,服务商模式的是否有这种限制) 2 如果异主体最多绑定50个特约商户 那么是不是只有同主体才能绑定超过50个特约商户
2020-07-19 - 一个小程序最多可以绑定多少个主体不同的服务商开出的特约商户号?收款会有影响吗?
一个小程序最多可以绑定多少个主体不同的服务商开出的特约商户号?收款会有影响吗?
2023-03-02 - 第三方平台小程序业务域名配置,网页能访问,文件校验一直失败?
第三方平台appid:wx2a03c096d44ea4a2 校验文件名:8815153273.txt 业务地址域名:cs.newupbank.com 校验文件地址:https://cs.newupbank.com/8815153273.txt
2023-10-24 - 第三方平台小程序业务域名配置,网页能访问,文件校验一直失败?
第三方平台appid:wx42e0e6ad88d00a7c 校验文件名:8634945411.txt 业务地址域名:https://datalife.118114.cq.cn/ 校验文件地址:https://datalife.118114.cq.cn/8634945411.txt [图片] [图片]
2023-12-22 - 微信小程序指定页面的链接如何转小程序码?
这个问题属于开发还是运营呢,服务商后台只有指定页面链接,需要转成小程序码,如何操作?
2023-12-21 - 业务域名设置--校验文件检查失败自查指引
目前不少开发者在设置业务域名时,发现检查校验文件失败,可先按照如下步骤进行自查: 如果想保存的业务为https://test.com/,下载下来的校验文件为AbC.txt,则需要确保https://test.com/AbC.txt能够访问。 校验文件内容错误。校验文件内容一般是非HTML数据,如果下载下来的校验文件内容为HTML数据,一般为登录态过期。请重新登录小程序下载校验文件。 使用4G网络尝试访问链接,确认自身服务器没有拦截请求(常见于设置了白名单或者防火墙的服务器,需开发者自行确认下) https证书过期。请确保https证书处于有效期内。 使用curl 测试链接,确保curl能够正常访问链接,且curl出来的内容为校验文件内容。 使用time curl https://test.com/abc.txt查看链接时间,建议耗时在1s之内。 请确保url中的文件名与下载下来的文件名大小写一致。如下载的文件是AbC.txt,确保url是https://test.com/AbC.txt,不能是https://test.com/abc.txt 部分用户的服务器配置较陈旧,安全性差(如配置 768位 的 DH),为了保证通信安全,微信后台不支持,请更新服务器配置。 (1)通过https://cloud.tencent.com/product/tools#userDefined12,检测网址是否支持TLS1.2。 (2)可通过工具 https://www.ssllabs.com/ssltest/analyze.html 检查自己的服务器,对该工具标红的各项漏洞逐项修补,建议更新配置直到该工具打分为 C及以上 。 9. 如上述检查都没有问题,请重新下载校验文件重试,确保上传到服务器的文件内容与新下载的文件内容一致。
2018-06-21 - 微信证件OCR小程序应用案例分享
应用场景 身份证/银行卡识别 用户身份认证 - 应用于政务、金融、企业服务等应用下的远程用户身份认证,自动识别并录入各字段信息,降低用户输入 成本,有效提升用户体验。 商户身份核验 - 应用于电商、外卖、运输服务等场景下的商户身份认证、资质文件审核,提高平台服务质量,规避恶意违规等业务风险。 身份证识别: [图片] 银行卡识别: [图片] 营业执照识别 企业信息电子化存档 - 准确识别营业执照的关键字段,快速核验企业资质,完成企业信息的快速录入,提升企业信息化管理水平,有效节约人力成本 。 商家资质审查 - 通过对供应商企业信息的结构化识别和审核核验,提高合作伙伴的管理效率 银行金融信贷服务 - 适用于企业银行开户、信贷评估等金融服务场景,通过对企业信息的自动化审查,提升银行业务效率,有效控制业务风险。 [图片] 驾驶证/行驶证识别 车主身份认证 - 只需拍照即可快速上传本人证件信息,帮助车主快速完成身份认证,降低车主输入成本,广泛应用于 ETC 办理、打车、租车、车险投保理赔等场景。 车主信息服务 - 在汽车保险理赔、二手车交易、车辆租借和年审等场景,帮助用户快速录入车辆相关信息,提高业务人员的办公效率和服务准确性。 [图片] 通用印刷体识别 纸质文档电子化- 使用通用文字识别技术,助您完成大量的文档整理工作,从书籍、纸质论文、档案、PPT 课件等印刷资料,到课堂笔记、作业作文等手写内容,均可实现拍照自动识别文字,方便用户进行文本录入和文档管理,提高产品易用性和用户体验。 [图片] 补充:微信证件OCR的接口文档 银行卡识别 营业执照识别 驾驶证识别 身份证识别 通用印刷体识别 行驶证识别 服务平台 OCR 接口
2020-10-10 - 微信人脸核身与腾讯云人脸核身区别?
1、微信人脸核身是否必须在https://developers.weixin.qq.com/community/business/doc/000442d352c1202bd498ecb105c00d 文章中提到主体类目范围内? 2、微信人脸核身是否收费? 3、如果腾讯云申请了人脸认证,小程序是否还需要走微信人脸核身相关申请步骤
2023-04-27 - 小程序人脸识别相关问题
a:官方的人脸核身接口是否有使用次数限制?接口暂无上限要求,普通用户人脸识别每天次数是在3-50次不等,针对部分高安全级别的业务的要求和配置,也会降低限制次数。b:官方的人脸核身接口是否收费,后台显示收费调用次数是什么作用?官方的人脸核身接口目前免费,后续是否收费请留意官方渠道。 人脸核身是有成本的,这里展示的是我们付费成本,也是希望告诉用户,我们协助承担了成本。 c:为什么人脸核身没有申请入口?人脸核身是有资质要求的,资质不符的暂时无法开通。具体请参考(注:一二级类目需完全符合)https://developers.weixin.qq.com/community/business/doc/000442d352c1202bd498ecb105c00d d:人脸识别返回90100|90105|90107|100102|90199|90101什么原因? 这是客户端的错误,请求没到后台的,有几点建议: 1、确认摄像头等权限是授予了;2、杀掉微信重启试试;3、下载更新微信客户端版本 e:getimage接口返回48001,提示没权限? 获取图片接口已经停止申请 f:小程序可以接入腾讯云的人脸核身吗? 可以的
2022-05-10 - 微信人脸核身接口能力
一、能力背景 近年来,国家在医疗挂号、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获取隐私整治,结合平台安全、用户敏感隐私信息保护要求及监管,针对部分暂无相关法规或要求,需要采集或生物认证方式进行身份核验的,或以“追热点”或“尝鲜”为目的,采集用户生物特征或进行身份核验的,进行严格审核,必要时不予以支持。
05-14 - 小程序手写签名分享
/* wxss */ page { background-color: #EEEEEE; } /* 详细信息展示样式 */ .page { display: flex; flex-direction: column; justify-content: center; align-items: center; } .container { padding-bottom: 5rpx; } .panel { display: flex; flex-direction: column; justify-content: space-between; align-items: stretch; box-sizing: border-box; width: 710rpx; margin-top: 15rpx; border-radius: 10rpx; background-color: #FFFFFF; } page { --canvas-hight:800px; } .wricont{ width:100%; height:var(--canvas-hight); align-items: center; display: flex; } .canvastyle{ height:100%; width:100%; background-color: #f5f5f5; } <!-- wxml --> <view class="container page"> <view class="panel"> <view class="wricont" style="{{viewData.style}}"> <canvas class="canvastyle" canvas-id="myCanvas" id='myCanvas' bindtouchstart="beg_t" bindtouchmove="move_t"></canvas> </view> <view style="display:flex;align-items:center;height: 50px;"> <button size="mini" type="warn" class="btn1" bindtap="clear">重写</button> <button size="mini" type="default" class="btn2" bindtap="save">确认</button> </view> </view> </view> // json { "usingComponents": {}, "navigationBarTitleText": "签名确认", "disableScroll":true } //js代码 var x = 0 var y = 0 var w = 0 var h = 0 let myStyle = ` --canvas-hight:1000px; ` Page({ data: { viewData: { style: myStyle }, ctx:'', image:[] }, onLoad(options) { var that = this const ctx = wx.createCanvasContext('myCanvas') //获取手机屏幕高度和宽度 wx.getSystemInfo({ success (res) { w = res.windowWidth-28 let h0 = res.windowHeight-110 h = res.windowHeight-120 console.log(w,h) //根据手机高自适应 var chageStyle = `--canvas-hight:`+h0+'px;' that.setData({'viewData.style': chageStyle}) //外线框颜色 ctx.setStrokeStyle('grey') ctx.fill('red') //画一哥矩形 ctx.rect(2, 2, w, h) // 设定虚线(【实线长,虚线长】,虚线偏移量) ctx.setLineDash([10, 10], 5); //矩形线宽 ctx.setLineWidth(2) //画布底色,不设定导出来图片背景默认黑色, ctx.setFillStyle('#f5f5f5') //画布底色大小, ctx.fillRect(2, 2, w, h) ctx.stroke() ctx.draw() that.setData({ ctx:ctx }) } }) }, beg_t(e) { //开始触摸位置, x = e.changedTouches[0].x y = e.changedTouches[0].y console.log(x,y); console.log(e); }, move_t(e) { //开始写 var ctx = this.data.ctx var x1 = e.changedTouches[0].x var y1 = e.changedTouches[0].y //指针移到开始触摸位置 ctx.moveTo(x, y) //线条黑色 ctx.setStrokeStyle('black') //线条宽度 ctx.setLineWidth(5) // 设定虚线(【实线长,虚线长】,虚线偏移量) ctx.setLineDash([10, 0], 5); //画点(x,y)到点(x1,y1) ctx.lineTo(x1, y1) ctx.stroke() // ctx.draw(true) 设定true后,保留前面的draw(),不会被清空。 ctx.draw(true) x = x1 y = y1 this.setData({ ctx:ctx }) console.log(x,y); }, clear:function(){ var that = this var ctx = this.data.ctx //线条颜色 ctx.setStrokeStyle('grey') ctx.rect(2, 2, w, h) // 设定虚线(【实线长,虚线长】,虚线偏移量) ctx.setLineDash([10, 10], 5); //线宽 ctx.setLineWidth(2) ctx.stroke() ctx.draw() that.setData({ ctx:ctx }) }, save:function(){ var that = this wx.canvasToTempFilePath({ x: 2, y: 2, width: w, height: h, destWidth: w, destHeight: h, canvasId: 'myCanvas', success(res) { console.log(res.tempFilePath) that.setData({ ["image[0]"]:res.tempFilePath, }) wx.previewImage({ current:that.data.image[0], urls:that.data.image }); } }) } })
2022-05-11 - 如何使用canvas绘制签名板?
不想写文章,直接贴效果和代码片段吧,奈何社区一定要我凑够一百字才能发文章,水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字水点字。下次有空再来补充文案吧。 [图片] https://developers.weixin.qq.com/s/MYDTQAmR7EIa
2023-05-30 - 分账比例最高只有30%?是否还能更高?如何申请高比例分账?
可以申请高比例分账,如何申请高比例分账可参考这里https://docs.qq.com/doc/DR0lVQkRXdHNlbHJx。 资金问题,请务必认真查看,按照邮件模板要求申请,附件名称规范、邮件主体带有申请表格,否则会被驳回
2021-04-02 - 请问H5中调用微信JSAPI支付,收款成功,有语音播报功能接口吗?
我司开发H5页面,需要调用微信支付功能,用户付款成功后,是否有语音播报功能接口可以调用?
01-16 - 完整的做个后台大概要多久?|微信云后台实践体验【含视频】
一、写在前面 前两天我写了一篇关于后台的技术选型文章,如果有兴趣的同学可以移步看一看: 怎么建设小程序的后台比较好? 其中最后讲到了微信云后台,简单讲就是,它将表格等常用的管理后台组件封装起来,我们可以通过简单的适配就可以完整的得到一个后台,同时不限制你的后端服务选型(既可以是自建服务,也可以是其他的平台型API服务) 本篇主要是延续它来做实践的部分,通过真实的做个后台来验证一下其是否如介绍的那样。 二、实践部分 为了让大多数人都适用这篇实践,我直接用一个邀请函应用模板开始。 你只需要下载微信IDE,就可以跟着接下来的演示跟着操作了。 如果你的小程序使用的是服务器或其他平台提供的后端服务,你可以通过接下来的演示来感受一下搭建后台服务的过程,从而辅助你做选型决策。 接下来我们就开始视频演示: [视频] 关于上述视频中出现的数据源导入文件,请访问此地址获取。 整体下来只需要大概10-20分钟左右就可以做出下面的效果出来。 [图片] 如果你想要再加批量同意和拒绝、批量删除等操作功能,可以自己在视频演示的基础上搭建,整体的上手难度不大。 三、写在后面 在2020年的时候,我在微信IDE上基于微信云开发做了邀请函、活动报名、LBS等多个应用模板。那个时候我就觉得像邀请函、活动报名这种应用必须要搭配后台才算完整,开发者来使用的时候才真的是开箱即用。 微信云后台的统一性和简易程度正好可以弥补我2年前的这块缺失。如果你有使用过之前云开发的模板,不妨按照本次演示来自己做个后台吧,当你的应用需要有很多管理人员的时候,相比于直接在数据库中操作数据对象,用自建的后台来管理总归还是比较可控的。 如果你有小程序前后端开发的疑点或者寻求方案,可以联系微信云服务的架构师。 关于本文中提出的观点和内容,如果你有其他补充和意见,欢迎在文章下留言一起探讨~
2023-12-13 - 如何计算并优化应用的高并发性能指标?|微信压测指南
一、高并发性能指标计算与优化为了让初学者能够更好理解,我们从一个例子来引出。假设你的小程序在同一时间点有 100 个人访问,每人访问时发送 2 个请求,每个请求平均耗时 50ms。你的服务器能在一秒之内能够完全处理这 100人的 200 次请求访问。 通过以上假设,可以得出每秒处理访问请求数(QPS)为 200。那么你的服务器最小并发处理数为 200 * 0.05s = 10。 对应公式如下: 并发处理数 = 每秒处理访问请求数(QPS) * 单个请求的平均耗时[秒]这里的并发处理数只是最小,因为案例中已经验证能处理 200 次访问了,如果要计算最大,则需要继续加量测试。 如果服务器在同一时间只能处理 1 个请求,那么其并发处理数是 1,如果还是上述假设,每个请求是 50ms,那么服务器 1 秒内最多处理 20 个请求,也就是说100 个人同时访问200次请求,最少需要 10 秒钟才能全部处理完毕。 并发处理数是指系统能同时处理的请求数量,一般由请求时消耗的资源和服务器资源来共同决定。比如请求是 CPU 密集的,每次请求都需要占用 CPU 50ms,那么单核服务器并发数就只有 1,如果服务开多线程并且部署多核服务器,并发数会相应的增加。 在做性能优化的时候,可以向两个方向工作: 提升服务器并发数:可以通过增加服务器数量和质量,或者降低请求的资源消耗。降低单个请求的平均耗时:优化请求里的处理逻辑,缩减占用吞吐资源的时间。通常情况下,影响并发数的资源主要是CPU、内存、存储IO、带宽。 初入行的开发者,最先遇到的资源瓶颈大多是CPU。请求的处理中包含大量的计算会严重占用 CPU 的使用,一般在开发自测阶段不容易发现这种问题(用户只有 1 个或几个),一到上线就会出现大量的请求超时。 在遇到资源瓶颈问题时,解决思路就优化代码和添加配置: 优化代码:这个因程序而异,而且比较看开发者自身的技术水平,就不展开讲了。添加配置:这里照顾一下个人和初创团队,提供一些有用的经验。 ○ CPU和内存:买多核多内存的服务器或者用弹性伸缩来动态增删服务器来解决;更有性价比的思路是用云函数(公有云的云函数都可以,也可以用微信云开发的云函数来),遇到高消耗的任务就直接放到云函数中,处理时直接调用计算,服务器只等待结果,不消耗服务器的 CPU 和内存资源。 ○ 存储 IO:更换好一点的服务器硬盘,如果是海量的用户面存储,可以直接用对象存储,性价比很高,不绑定云硬盘,迁移还方便。 ○ 带宽:购买高带宽但价格感人,可以开启按流量计费,把阈值开高就可以。 二、 通过微信安全网关压测来测试自己的极限关于微信安全网关的作用和特点,我在之前有写过2 篇文章,感兴趣可以去看看。 「微信开发平台Donut」入门指南|安全网关篇Donut安全网关一键接入体验指南这里主要介绍一下压测的部分。 在网关内的控制台左侧点击「扩展能力-压测工具」,可以看到压测的页面。 [图片] 我们先创建一个压测任务,相应的操作步骤如图演示: [图片] 压测任务的信息构成主要由以下几方面: 压测任务名称:可以自由定义,用于方便你分辨压测任务。压测小程序:以哪个小程序的角色进行压测,压测时默认小程序接入安全网关,不影响现网的接入配置。请求列表:分为业务请求和微信请求,业务请求可以是任意的 URL,支持多种请求形式。微信请求,目前包含登录和支付接口,后面会支持更多接口。调试能力:模拟压测链路执行所有列表请求,并显示请求耗时和返回信息,用于确认配置是否正确。确认信息无误后,点击“保存”按钮。 创建压测任务后就可以预约时间段来进行实际压测了,由于资源有限,所以压测预约是按时间段来的,并且预约时需要自己确认并发用户数和压测时间。 预约到时间段压测后,等到预约的时间就可以开始执行了。如果超过时间段则就无法执行,需要重新预约。 [图片] 压测完成后,就可以在同一页面下方看到详细的数据,如图: [图片] 根据压测的数据信息,就可以估算出相关的性能指标了。 我们以上图举例子: 100 个用户,压测 600 秒,每个用户完成一轮请求后紧接着进行下一轮。如果列表中有请求调用错误,则不会进行列表中其后的 其他请求,直接重新从列表开始请求。 QPS = 阶段请求数/阶段请求时间[秒]并发处理数 = QPS * 单个请求的平均耗时[秒] 基准测试接口QPS为 178587 / 600 = 298.645,并发数为 298.645 * 0.030774 = 9.19登录测试接口 QPS 为 178328 / 600 = 297.213,并发数为 297.213 * 0.133554 = 39.69 QPS 和并发处理数指标需要结合你的应用场景合理设定,并不需要设置很高的性能指标,满足产品所需并留有部分buff就可以了。 最直观的就是直接上压测任务,模拟一些真实的用户来在时间限制内持续请求你的服务器,来看最终的结果如何,并根据结果来指导你做指标设定和优化方向。 以下是腾讯云关于服务器实例的压测结果,当然这只是参考,实际上跟应用类型和服务架构也有关系的,还是自己真实上业务测试比较准。 [图片] 关于压测工具的体验,可以访问Donut-安全网关控制台,有疑问可以在控制台点击「技术支持」寻求帮助~
2023-12-14 - 用这个来跟产品Battle效果更好|微信工作流实践体验【含视频】
一、写在前面 前两天我写了一篇关于微信推出工作流的干货文章,介绍了下工作流的概念以及微信工作流,如果有兴趣的同学可以移步看一看: 真实体验|微信新推出的工作流表现如何? 有的时候作为产品经理在策划功能的时候,都喜欢用UI界面做前端设计,用流程图做后端逻辑设计。产品经理可以用工作流来自己搭建验证策划的功能,跟研发同学沟通会更加轻松,甚至自己就可以实现一些基础的,不用麻烦研发同学,自力更生了。最近我反过来一想,从研发同学的视角来看,对有些需求真的会心力交瘁,产品逻辑都跑不通。 是时候用工作流来给产品同学一次小小的研发震撼了!!! 本篇主要是延续上一篇实践文章,用一个报名推送的示例,给大家通过视频的方式演示一遍完整的工作流的使用过程。 二、实践部分 为了让大多数人都适用这篇实践,我直接用一个邀请函应用模板开始。 你只需要下载微信IDE,就可以跟着接下来的演示跟着操作了。 如果你的小程序使用的是服务器或其他平台提供的后端服务,你可以通过接下来的演示来感受一下搭建工作流的使用过程,其中的一些数据操作可以替换成自己的接口实现。 接下来我们就开始视频演示: [视频] 有细心的同学会发现,视频中有些判断和更新的逻辑其实可以写在一个节点里,为什么要拆出来呢? 我们做开发时要追求函数的最小封装,尽量不包含大量且容易变动的复杂逻辑。 当产品同学在后续时做逻辑修改时你可以很轻松的完成调整。 三、写在后面 作为研发,你可以在工作流中直观的看到业务的处理逻辑,当然你也可以直接给产品同学review你的整个逻辑,我相信TA也能看懂。 其实到最后,你都可以只做节点的封装,逻辑的处理让产品同学自己来调整都可以,省去了很多沟通交流的隔阂。 毕竟有的时候有些产品同学也不知道自己在想些什么,不妨直接让TA自己来,好好体会一下TA自己提出的需求有多离谱。 如果你有小程序前后端开发的疑点或者寻求方案,可以联系微信云服务的架构师。 关于本文中提出的观点和内容,如果你有其他补充和意见,欢迎在文章下留言一起探讨~
2023-12-16 - 怎么建设小程序的后台比较好?|零基础探索指南
一、写在前面 我比较喜欢做微信生态的解决方案,给企业或个人提供一些技术方案和应用形态选型的咨询。最近跟一些朋友聊天,他们在各自的工作岗位中,随着工作熟悉就会自然而然有很多能提升工作效率的点子。 有些人喜欢用文档、问卷、表单等 SAAS 应用捏合一个自己的效率集,一般能满足很多场景;但还有一些场景可能没有合适的 SAAS 应用,于是就想搞个小程序,然后来问我怎么做比较合适。 “小程序一定程度上降低了开发者搭建应用的门槛,做一个小程序相比其他的产品形态效率更高,落地更快。”,这个观念在这几年的发展中越来越深入,有很多不是软件行业的朋友都能提出小程序这种想法。 通过简单的代码,做一个满足自身小场景的小程序,并不是很难。有一定的数理基础,配合社区的入门教程很容易上手。上手门槛已经降低到中小学生都能触及到的程度了,微信还针对的搞了个少年挑战赛。 完整的闭环一个应用,单纯用小程序做个前台还是不够的,很多情况下我们需要有后台做管理支撑。 比如一个登记小程序,除了小程序能够提供登记信息填写外,还需要一个后台能够承载管理人员做状态扭转或者其他的后备工作。 一般这种情况下有几种解决思路: 1. 在小程序中编写管理页面,通过用户 openid 来指定仅管理员可见。 2. 通过接口对接企业微信或者其他 SAAS 平台的 webhook 能力来组合管理。 3. 搭建一个可操作的管理后台,有细粒度的权限管控。 接下来我主要分析一下这几种方式的实现和利弊,你可以根据自身的需要有针对的选型。 二、后台方案对比 1. 在小程序中编写管理页面,通过用户 openid 来指定仅管理员可见。 实现方式:编写单独的管理页面,或者在业务页面中嵌入一些管理按钮,每次加载时,通过后端比对 openid 返回给小程序端是否可以展示管理页面或内容。方案优势:小程序开发难度,低门槛,实现简单。方案劣势:管理权限的授予以及可靠性维护太差,浪费资源。 ○ 管理者的身份需要设计机制去确认(手机号关联or访问记录) ○ 管理页和内容占用小程序包资源,影响普通用户的使用体验 ○ 正常用户访问也会判断管理员逻辑,浪费数据库读资源(硬编码则维护难度增大) ○ 管理接口与业务接口有混用的风险 [图片] 这种实现是大部分初入者首选的,因为微信用户体系比较完备,可以通过 openid 来确定一个微信用户。在用户打开小程序时,服务端判断用户身份是否是管理员,如果是的话返回一些信息给小程序,小程序对应的展示相关管理页面内容或入口。 劣势也是非常明显的,由于管理逻辑与业务逻辑都集中在小程序通信,会在身份判断,业务处理上有更多的无效的数据库读请求,浪费资源。 [图片] 2. 通过接口对接企业微信或者其他 SAAS 平台的 webhook 能力来组合管理。 实现方式:暴露一些接口,然后使用企业微信的机器人或其他工具对接暴露的接口,实现通过消息或者点击驱动接口完成一些配置。比如访问接口地址填写一些特定参数来实现状态扭转(https://www.example.com/api/status?id=10001&type=success&key=1212)方案优势:只需要提供接口即可,几乎没有前端的开发成本。方案劣势:可读性比较差,并且有被攻击的风险,接口安全需要下功夫。 ○ 可读性比较差,无法可视化,但可通过其他工具加以改善。 ○ 由接口的参数驱动,权限校验为明码,容易泄露。 ○ 应对管理场景有限,无法应用到复杂的管理操作(如上传图像或批量处理) [图片] 这种方案一般用于非常简单的管理场景中,比如就只针对一个事项做状态扭转,发起一个批处理的任务,发送通知等。完全由接口来驱动完成。但权限管控只能通过参数来明码输入,或者通过结合 saas 工具,来利用其调用时的 header 信息来做权限判断。 [图片] 3. 搭建一个可操作的管理后台,有细粒度的权限管控。 实现方式:搭建独立的 WEB 后台(或APP ),来统一设计用户管理权限,以及搭建各种业务的管理流程。尽量不在接口层面与业务端有交集,仅做数据层面的处理和互通。方案优势:灵活度大,可以实现任意后台管理场景,并且可以接入丰富的权限管控。方案劣势:搭建难度大,处理的开发流程复杂,可能需要重新设计一套用户体系。 ○ 搭建难度可能远远超过小程序前台,需要考虑投入是否值得。 ○ 根据所需可能要对接不同的用户登录体系,比如用户名密码+微信登录+邮件登录。 [图片] 这是一个标准的方案,业务后台页面的构成和功能设计需要根据自己的业务场景来单独设计,其用户群体为业务管理者。在功能实现上既可以有数据库的增删改查,也可以有外部平台的调用(比如微信支付分账,发起退款,发送邮件通知等)。作为开发者在搭建后台时,遇到的实现点和难度可能都是高门槛的,所以需要一定的技术积累,并充分理解用户群体(业务管理员)的工作流程。 [图片] 三、微信在后台方面做了什么? 为了让开发者在做个小程序这方面的门槛降低,从设备端到用户体系,从单机存储到联网同步。微信团队围绕小程序开发的各个环节提供了很多产品和服务形态,其核心目标就是让开发者做小程序的门槛变得更低。 比如微信云服务,Donut 开发平台,通过提供云端资源和平台能力,在一些方面多做一些,让开发者少做一些。 在业务后台这个方面,实现上脱离小程序本体,但是从业务经营者角度来看,又是小程序业务不可或缺的一环。所以微信针对业务后台这方面也提供了解决方案: 云后台是微信最近上线的一个能力,主要面向小程序或公众号 H5 场景的业务开发者,沉淀常见的后台管理场景;通过提供丰富应用模板、开放数据接口、灵活管理权限等功能,降低开发者搭建后台的成本,提升开发效率。 [图片] 通俗来解释的话主要就有 3 个亮点: 1. 丰富的模板应用和灵活的搭建驱动。 除了我们常需要的 CMS 内容管理,还提供常见的商品管理,订单管理,数据分析,支付管理等等。如果这些模板不能满足你的场景或者场景没覆盖全,你可以直接去编辑应用,用低代码编辑器来搭建自己心目中的理想应用。[图片] 2. 可以自由定义的数据接口和外部平台连接 云后台自动携带一个中心化数据源,并提供完备的数据操作接口。如果你自己有自建的数据源,可以在云后台自由配置连接,直接对接到各个后台应用提供针对微信开放平台、微信支付平台的现成连接接口,只需要配置令牌信息就可以直接用,不需要花时间再做调试。[图片] 3. 提供灵活的用户权限管理,细粒度控制 云后台内置用户权限体系,可以针对不同业务管理场景创建角色,并赋予特定的应用可见和可操作权限。提供丰富的认证源,比如微信扫码登录,或者自建的认证源。[图片] [图片] 其中我觉得对初学者友好的一点是,如果你只开发了一个单机小程序,还没有做云端接入。云后台由于有中心化数据源,也就意味着你不需要自己搭建后端服务了,直接使用云后台暴露出来的接口调用就好。 [图片] [图片] 有关于云后台的具体使用细节的动态体验,我会在后面单独开一篇文章,发布后会更新到这里,如果感兴趣可以关注下。 四、总结 如果你目前正在为业务后台的搭建烦恼,或者有计划升级你的后台形式,不妨可以花点时间体验一下,具体请参见云后台文档。 如果你有小程序前后端开发的疑点或者寻求方案,可以联系微信云服务的架构师。 关于本文中提出的观点和内容,如果你有其他补充和意见,欢迎在文章下留言一起探讨~
2023-12-11 - 小程序中打开一个h5相关问题?
在微信小程序中使用web-view打开一个h5项目,h5里可以下单、支付。支付使用JSAPI支付。因为支付需要获取用户的openid,获取用户openid需要做微信网页授权,网页授权需要location.href如下地址,https://open.weixin.qq.com/connect/oauth2/authorize?appid=...... 但是web-view打开陌生域名需要配置业务域名,open.weixin.qq.com是微信的域名,所以行不通。 而且使用jsapi需要引http://res.wx.qq.com/open/js/jweixin-1.6.0.js 这个域名的文件,域名也需要配置,也行不通。 所以,这个方案走不通么? 为什么要打开一个h5项目,而不做小程序支付,因为这个项目在微信外部也需要用,所以使用h5是更好的办法。 以下截图是小程序支付文档提到的,这句话怎么理解呢?是说在小程序中调起支付收银台仅这一步时不能拉起微信支付收银台,还是说在小程序中不论什么情况,不能用jsapi支付? [图片]
2023-12-27 - 一个小程序能关联多个商户号吗?
使用场景:集团公司下的一个小程序,购买不同【分公司】下的商品,钱要到【分公司的商户号】上 请问支持这种吗?
2021-01-24 - 一个APPID 最多绑定多个普通商户号? 一个普通商户号最多绑定多少个appId?
一个APPID 最多绑定多个普通商户号? 一个普通商户号最多绑定多少个appId?一个服务商号最多绑定多少个appID?一个服务商号可以添加多少个特约商户号?
2021-08-31 - 请问一个微信小程序可以绑定几个不同主体的商户号?
如题,请问一个小程序内可以绑定几个不同主体的商户号,因为不想要服务商模式,其他商家需要在我们小程序付款,钱直接到对方商户内,不经过我们小程序,我们小程序只提供一个平台,请问一个小程序可以绑定多少个不同主体的小程序?
2020-11-24 - 小程序新版本后端接口不兼容正式环境的,在审核时需要用到新的接口,如何处理兼容?
由于修改功能,原来的后端接口有改变,如果直接上线后端接口的话线上的小程序会出错,但不上线的话在审核新版本时又过不了。现在的问题是能不能在不停业务的情况下解决这个问题?在提交审核时能不能通过__wxConfig的envVersion来判断环境而调用不同的接口,这样来处理兼容问题?
2019-09-10 - 网页授权域名只能添加俩个吗,能否使用某种方法再添加一个?
用户在网页授权页同意授权给公众号后,微信会将授权数据传给一个回调页面,回调页面需在此域名下,以确保安全可靠。 业务域名,JS接口安全域名,都可以添加俩个以上,而网页授权域名只能俩个的话,怎么与之对应呢,求大神指教,我都快搞抑郁了=-=!
2022-03-10 - 【分账接口】常见问题
文档地址:「请求分账(直连)」、「请求分账(服务商)」 Q1:调用请求分账接口返回”非分账订单不支持分账“是什么原因? A1:请按照以下几点检查: 微信订单号填写错误,请检查确认统一下单时未上传分账标识(profit_sharing=Y)的订单,是不支持分账的 Q2:调用请求分账接口返回”分账金额不足“是什么原因? A2:请按照以下几点检查: 该订单已全额退款,没有资金可以分账在微信支付中,实际收款之后微信支付会收取一定的结算手续费,在减去手续费后剩余的钱才能分账,详情可参考订单结算手续费说明该订单已解冻,已无分账资金(普通商户分账订单默认冻结期是30天; 电商分账订单默认冻结期是180天)超过订单剩余可分账金额或者该订单已无可分账金额,请检查确认(可调用查询订单待分账金额API确认剩余可分账金额) Q3:调用请求分账接口返回”分账接收方关系不存在,请检查参数中每个接收方的关系“是什么原因? A3:未添加分账接收方,分账接收方在分账之前需要调用“添加分账接收方接口”添加,请添加接收方后再调用请求分账接口。 Q4:调用请求分账接口返回“分账金额超出最大分账比例”是什么原因? A4:请检查分账的金额是否超出在商户平台设置的允许分账的最大比例,设置路径如下: 普通直连商户设置分账比例路径:登陆商户平台-产品中心-分账-分账管理比例普通服务商商户设置分账比例路径:需要特约商户可以登录商户平台-产品中心-授权的产品-分账授权中进行设置比例。电商收付通商户设置分账比例路径:登陆服务商商户平台-产品中心-我的工具箱-电商收付通-供应链分账设置里设置连锁品牌分账商户设置分账比例路径:登陆服务商平台-产品中心-合作工具箱-连锁品牌工具箱-品牌专区-品牌交易-品牌供应链分账-供应链分账管理设置 Q5:调用请求分账接口返回”无分账权限“是什么原因? A5:请按照以下几点排查: 1、未开通分账权限,请开通后再调用分账接口,可参考开通指引 2、请求参数错误,服务商用了普通商户的开发文档提交参数,检查确认 服务商模式请求分账文档 普通商户分账文档 Q6:分账调用“添加分账接收方接口”返回:微信用户姓名与实名不一致 A6:请求中传了字段“个人姓名name”,该字段传了之后会校验用户实名是否正确,请填写正确的用户实名(查看用户实名认证路径:微信-我-服务-右上角三点-实名认证-姓名) Q7:分账调用“请求单次分账接口”返回:分账接收方列表格式错误 A7:receivers中的参数amount类型错误,amount类型是int,请检查确认 Q8:分账接收方类型包括哪些? A8:有以下几个类型: MERCHANT_ID:商户ID PERSONAL_OPENID:个人openid(由父商户APPID转换得到)PERSONAL_SUB_OPENID: 个人sub_openid(由子商户APPID转换得到) Q9:分账调用“请求单次分账接口”,为什么不返回分账结果 A9:分账是异步的,需要调用“查询分账结果”接口查询确认 Q10:分账调用“请求分账接口”返回:订单处理中,请稍后重试 A10:请按照以下几点检查: 请在订单支付成功1分钟后再调用分账接口未结算的订单,请在结算后再调用分账接口请求分账。查看结算周期路径:超级管理员使用电脑登录商户平台(pay.weixin.qq.com),通过【账户中心】->【商户信息】->【结算信息】进行查看老资金流商户的订单,不支持分账(旧资金流流水介绍、新资金流流水介绍)商户开通了收支分离但手续费账户余额不足(手续费账户最低余额要求是100元以上,在充值手续费账户1小时后,订单会正常结算,即可正常调用分账接口) Q11:分账调用“请求分账接口”返回:分账接收方与原请求不一致 A11:商户分账单号填写错误,调用“请求分账接口”多次分账,要生成新的“商户分账单号”,不能使用已经分过账的商户分账单号 Q12:分账调用“请求单次分账接口” A12:请按照以下几点检查: 签名类型错误,分账接口签名类型目前只支持HMAC-SHA256普通商户的分账订单,请使用普通商户分账接口,不能使用服务商分账接口系统超时,请使用原参数尝试再次掉调用API Q13:调用分账接口是否有额外的手续费 A13:没有,商户的交易订单,平台会正常的收取结算手续费。商户使用分账功能没有额外的费用 Q14:分账调用“请求分账接口”返回:分账接收商户全称不匹配 A14:请按照以下几点检查: 分账接收商户全称填写错误,请填写正确的商户全称,商户全称对应进件接口中的字段“商户名称merchant_name”字段值没有加密,该字段值需要加密后上传,请正确加密后再提交。上传的中文全称乱码,请检查接口编码是否正确,接口需要使用UTF-8编码 Q15:分账调用“添加分账接收方接口”返回:账户不存在 ,请先点击充值 A15:账户未开通,请接收方商户在商户平台点击“充值”创建账户(商户平台-交易中心-充值) Q16:分账如果有退款怎么处理,是否可以回退? A16:需注意以下几点: 已分出去的资金,在商户接收方同意的情况下,可以发起分账回退。(接收方可在“商户平台-交易中心-分账-分账接收设置”中开启同意分账回退) 更多分账订单退款逻辑,请查看文档说明 [图片] Q17:分账调用“请求单次分账接口”返回:签名错误 A17:请按照以下几点检查: 使用签名检查工具校验签名算法是否有误确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)确认参数的大小写,参数名与接口文档一致签名原串的参数值使用原始值,不需要encode接口需要使用UTF-8编码 Q18:分账添加接收方接口,是在分账前添加一次,如果接收方无变化,后续是否还需要调用接口再添加 A18:是的,如果接收方没有变化,只需要添加一次即可 Q19:分账调用“查询分账结果接口”返回的分账单状态有几种 A19:有以下几点状态: ACCEPTED—受理成功 PROCESSING—处理中 FINISHED—处理完成 CLOSED—处理失败,已关单 Q20:在商户平台设置了分账动账通知url,为什么收不到通知 A20:请按照以下几点排查: 未设置动账通知url,该链接是通过商户平台【交易中心-分账接收设置】中配置的通知url,必须为https协议。如果链接无法访问,商户将无法接收到微信通知。必须为直接可访问的url,不能携带参数。示例:notify_url:https://pay.weixin.qq.com/wxpay/123456789商户未设置加密的密钥,请登录商户平台操作!请参考什么是APIv3密钥?如何设置?只有分账接收方才能收到分账动账通知,分账方是不会有通知的 Q21:分账调用“请求分账接口”返回:对同笔订单分账频率过高 A21:同笔订单多次分账频率是1秒1次,请降低频率后重试 Q22:分账后资金到可提现是否有中间状态 A22:没有中间状态 Q23:分账后的资金什么时候可提现 A23:分账后钱已经到商户的账户了,可以立刻提现 Q24:分账调用“完结分账接口”的作用是什么 A24: 调用该接口,可以将不需要进行分账的订单金额解冻给商户,解冻后的资金商户可自行发起提现 Q25:分账调用“分账回退接口”返回:参数不正确,请检查参数 A25:return_account与mch_id不能填写为相同的商户号,分账方与接收方商户号一致时,不需要回退 Q26:分账订单调用“申请退款接口”返回:申请退款金额大于剩余未分账金额,请等待分账完成后再试 A26:订单有过部分分账,退款金额不能大于剩余未分账金额,请调用“完结分账接口”解冻剩余资金后再发起退款 Q27:查询分账结果接口里面分账单状态(status)字段,当值为ACCEPTED时是表示分账成功了吗 A27:分账单的状态是表示分账单是否受理成功,并不代表分账是否成功。查看分账是否成功,需要调用查询分账结果接口,查看返回参数“分账接收方列表”里面的字段“分账结果result=SUCCESS”才是分账成功。 Q28:调用“添加分账接收方接口”一次可以添加多个接收方吗 A28:不可以,一次只能添加一个 Q29:请求分账接口返回:分账接收方不允许为分账出资方 A29:请按照以下几点检查: V2接口,“请求单次分账接口”分账接收方不允许为分账出资方,“请求多次分账接口”分账接收方可以为分账出资方V3接口,finish为true的情况,“请求分账接口”分账接收方不允许为分账出资方(这种场景,直接调完结分账API就好)。finish为false的情况,“请求分账接口”分账接收方可以为分账出资方 Q30:调用“请求分账接口”,分账分给多个接收方,会出现分账既有成功又有失败的情况吗 A30:同一次分账请求,会出现有的成功,有的失败的情况。具体请调用“查询分账结果接口”,查看返回参数“分账接收方列表”里面的字段“分账结果result=SUCCESS”才是分账成功。 Q31:“请求分账接口”分账接收方列表中的参数description会体现在分账账单里面吗 A31:在分账方分账账单和资金账单、分账接收方的资金账单里面都会体现 Q32:分账调用“添加分账接收方接口”返回:请求正在处理中,请稍后重试 A32:商户请求并发导致,重新再请求一次即可 Q33:分账调用“添加分账接收方接口”返回:商户已添加的分账接收方个数过多。请先删除多余的分账接收方,并在24小时之后再尝试添加 A33:添加分账接收方的个数限制是2W个,超过这个限制,请按照提示处理 Q34:电商收付通分账调用“请求分账回退接口”返回:可用余额不足,请充值后重新发起 A34:“回退商户号”的账户可用余额不足,需充值后再原单重试才能回退成功。(充值指引:登陆商户平台【交易中心】->【资金管理】->【充值/转入】,根据指引充值即可) Q35:电商收付通分账调用“请求分账回退接口”返回:可用余额不足,请充值后重新发起。这个时候,调用“查询分账回退结果API”却返回:PROCESSING(处理中),这个逻辑是正常的吗 A35:是正常的,逻辑就是这样的。这种情况,商户可以按照提示要求,提醒“回退商户号”充值后再原单重试即可回退成功 Q36:电商收付通分账调用“请求分账回退接口”返回:PROCESSING(处理中),什么情况会返回这种状态 A36:请参考以下几点: 网络抖动导致请求中断商户账户资金转账频繁,导致回退在排队时超时 Q37:电商收付通分账调用“查询分账回退结果接口”返回:TIME_OUT_CLOSED A37:TIME_OUT_CLOSED是fail状态了,也就是处于最终态,是不需要重试的。状态是SUCCESS也同理,也是最终态,不需要重试。返回TIME_OUT_CLOSED时可更换一个回退单,重新分账回退一次即可 Q38:电商收付通分账调用“请求分账接口”返回:分账补贴还未到账,不能受理分账 A38:报这个错误,是因为支付的订单在统一下单里面传了参数“补差金额:subsidy_amount”,传这个参数后,需要调用“请求补差API”完成补差,然后再调用“请求分账接口”即可正常分账 Q39:一笔交易在分账完成之后,将接收方和分账账户的绑定关系解除(删除分账接收方),然后进行分账回退,会成功吗 A39:会回退成功,不受删除分账关系的影响 这里的逻辑有两个: 这笔单曾经分给过了这个商户,且分账成功这个商户开通了分账回退 Q40:分账调用“分账回退接口”返回:PROCESSING A40:过一分钟后原单重试即可 Q41:分账回退有时间限制吗 A41:从订单创建的时间算起,现在分账回退限制180天以内的分账请求 Q42:分账方添加接口,如果相同的分账方重复提交,会返回添加失败,还是覆盖之前的分账方信息 A42:如果系统检测到已经绑定,那么会保留原来的数据,不更新数据,直接返回成功 Q43:在商户平台-管理分账接收方中手动添加分账接收方报错:系统错误,请稍后再试 A43:这个报错的原因是:账户未开通,请接收方商户在商户平台点击“充值”创建账户(商户平台-交易中心-充值) Q44:免充值和预充值的代金券,分账的时候,可分账的金额判断逻辑是一样的吗?比如10-5,使用了免充值代金券,可分账金额是5,使用了预充值代金券,可分账金额是10元还是5元呢 A44:不一样,使用了免充值代金券,可分账金额是5,使用了预充值代金券,可分账金额是10 Q45:电商收付通请求分账接口返回:appid与openid不匹配 A45:请求分账接口里面的APPID必须传电商平台服务商的APPID,所以商户在添加分账接收方时获取的openid,也必须是这个电商平台服务商APPID获取的openid Q46:请求分账回退接口返回:分账指令不存在,请检查是否有对应的分账单 A46:请按照以下几点排查: 分账回退里面的商户分账单号out_order_no,必须是请求分账接口的商户分账单号out_order_no请先调用查询分账回退结果API确认分账是否成功,分账成功的分账单才能调用回退接口正常回退。从订单创建的时间算起,分账回退限制180天以内的分账请求,超过180天不支持回退 Q47:查询订单待分账金额返回:记录不存在 A47:请按照以下几点排查: 记录不存在,可能是单号拼错了,请检查确认订单未结算,请在订单结算后再查询非分账订单,请检查订单支付时是否传了分账标识,传了分账标识的订单,才能正确查询 Q48:商户号能正常完结分账,但是查询分账结果却提示“无分账权限”。是什么原因? A48:分账权限被冻结,请登陆商户平台查看站内信,按照指引申诉处理。 能正常完结分账的原因是:完结分账,就是将这笔订单的剩余的可分账的钱,都解冻给自己,由于这笔钱本来就是自己的,所以分账完结是一个安全的操作(钱没有给其他人,也没有给服务商,给了自己),所以是不会做权限校验的。当前要分出去给到别人时,就会做相关的权限校验了。 Q49:请求分账接口,当提交请求后返回报错SYSTEM_ERROR,这个时候调用查询分账结果接口查询,每10分钟查询一次,共查询3次(共30分钟)。这样的情况下,是否可以不用原单重试?查询后是否可以换单再提交? A19:请求分账返回SYSTEM_ERROR时,调用查询分账结果接口3次(30分钟)后,查询结果仍然是不存在的情况:如果商户能保证在30分钟的窗口期内都不会重试,这样做是安全的。 但我们建议在返回SYSTEM_ERROR 情况下,商户还是原单重试,这种最安全,也不用查询和等待一个窗口期。 Q50:一个微信支付单被退完款,还可以继续分账吗? A50:不可以了,分账是针对该订单冻结的金额进行分账,如果退完款,就不能再分账了。 Q51:比如一个订单支付金额是100.1元,假如手续费是0.1元。分账前先退款了30元,默认分账比例是30%,现在可以分账的金额还是30元,这样理解没有问题吧? A51:没有问题 Q52:比如一个订单支付金额是100.1元,假如手续费是0.1元。分账前先退款了30元,默认分账比例是30%,现在可以分账的金额还是30元,那就是说,可能出现100退了80,分出去30这种情况? A52:不会, 两个相加不会超过订单金额的, 也就是说退款没有超过70元的话,可分账金额是30,超过70,可分账金额是剩下的钱。 Q53:普通服务商分账,添加分账接收方这个APPID,如果服务商商户号绑定了两个APPID“B”和"C",需要分账的订单统一下单中传的APPID是B,这个时候,添加分账接收方中的这APPID可以是“C”吗?还是说必须是“B”? A53:请注意以下两点: 添加分账接收方的时候,B下的openid,C下的openid都可以但是执行分账的时候,一次分账请求里,只能是同一个appid下的openid,不支持一次分账请求里的openid分别是俩appid下的 Q54:查询分账结果接口返回:记录不存在 A54:请按照以下几点排查: 记录不存在,可能是单号拼错了,请检查确认订单未结算,请在订单结算后再查询非分账订单,请检查订单支付时是否传了分账标识,传了分账标识的订单,才能正确查询订单未分账,所以没有记录,请在订单分账后再查询
2022-08-16 - 功能上新 | 智能客服转人工服务升级
1月10日我们曾经推出通过配置技能实现转接人工客服的功能,弥补智能对话无法覆盖的部分,有不清楚的朋友们点击这里回顾。 最近我们对这个功能进行了一次迭代,此次升级主要对配置、回复两方面进行了优化,下面给各位用户展示一下我们团队迭代后的成果。 一、配置更简单 上个版本的转人工功能需要先通过自己配置技能或者在技能商店获取“高级转人工客服”技能,再进入微信公众平台添加客服插件才能实现; 此版本无需再手动配置技能,平台直接默认每个机器人都有在线客服的需求,登录微信对话开放平台后,你会发现在你的机器人列表旁多出一个在线客服的入口。 [图片] 转人工客服的触发机制依旧不变,当配置有机器人的的公众号或者小程序收到“转人工”、“人工服务”等关键词时,后台便自动触发人工客服功能,公众号或小程序会给用户发送触发人工客服的提示,同时智能机器人停止回答用户的提问。 [图片] 二、回复更便捷 当用户触发人工客服功能后,在线客服入口会有消息提示,右上角会标红并显示未读消息数量。 这里要说明一下,当收到未命中技能的消息时,后台也会提示,所以,未读消息数=转人工后收到的消息+未命中技能的消息 [图片] 点击在线客服的入口,进入到后台回复的页面,左边是公众号或小程序收到的有人工客服需求的用户列表,同样,未读消息会标红并提示数量。 [图片] 点击用户头像,便可以进入到对话框,点击对话框右上角“转人工接入”按钮,便可以输入内容,对用户的发问进行解答。在这里说明一下,后台在转人工之后,会呈现用户之前的所有对话内容,方便管理员了解前因后果。 [图片] 与用户进行了人工客服的对话之后,用户头像会出现在“接人工数”列表栏里,这里收录的是已经转接人工客服的所有用户,方便管理员更精准地进行回复。 [图片] [图片] 可能大家已经注意到了,智能在线旁有一个人工在线功能,这里保留的是上个版本的人工客服,所以我们后台目前支持两种转人工的方式,同时也说明一下,目前人工客服依旧只支持服务号和小程序,个人号和其他场景,暂不支持。 [图片] 用pc端进行回复,缺少一定的时效性,所以我们团队开发了一个客服小程序,可帮助各位用户在手机上进行客服消息的及时回复,客服小程序将在下周与大家见面,敬请期待。 [图片][图片][图片] 以上就是本次更新的全部内容啦,如果大家有什么其他想法,欢迎与我们留言互动,或者扫描下方二维码,添加我们的官方客服的微信号,邀请您进入到我们的用户答疑群,进行面对面的交流。 [图片] 客服微信二维码
2020-04-20 - 一文教你如何更优雅的处理微信支付商户订单投诉?
在国内做产品涉及使用微信支付商户收款时,难免会遇到一些消费者对支付订单发起投诉,商户如果处理不当会导致商户号出现被延长收款结算周期、限制收款能力、调整交易额度或限制提现等处罚,严重的会关闭商户主体下商户全部支付权限。 那么商户该如何正确处理消费者投诉,降低各项投诉指标呢?一些简单实用的小技巧解除你的烦恼。 微信支付对于消费者投诉处理时效要求: 1)商户最晚需在投诉单生成1天内回复用户投诉受理情况(如9月20日的投诉,商户需在9月21日24点前回复用户) 2)商户最晚需在投诉单生成3天内处理完用户问题,并在商户平台标记“投诉处理完成”(如9月20日的投诉,商户需要在9月23日24点前处理完结) 如何判断一笔投诉单属于已解决?对与投诉单微信支付的认可的处理完成标准如下: ①订单原路全额退款 ②用户主动在投诉入口回复“撤诉” ③商户通过投诉交互功能协商,确认投诉已协商达成一致,点击处理完成,用户点击“已解决”且用户不再重复投诉。 一些处理小技巧: 1)在产品中增加明显的“联系客服”入口,一般用户可以联系到客服的情况下,一般不会优先去投诉支付订单,可以有效降低商户号的客诉率 2)接入微信支付商户的“消费者投诉”接口,实时获取投诉通知,通过类似企业微信机器人能力,让指定人员可以实时接到客户投诉信息,及时处理客户投诉;针对一些投诉即将到达72h的投诉单对指定人员进行多次推送,以免出现投诉单出现超时未处理的情况,微信支付考核商户投诉处理三大指标之一的“及时处理率”就是近30天(T-33天到T-4天)内发起的投诉单,在首次投诉发起后72h内处理完成的比例。 3)在投诉单对用户进行回复后,不要直接去点击“处理完成”,当商家点击“处理完成”后,用户是无法再进行直接回复的,会发起二次投诉,标记”投诉处理完成"前是需要已完成处理用户问题的,此类操作会导致“重复投诉率”大幅度提升,不少商户都在此处踩坑。建议申请结单前确认是否已经与消费者妥善协商处理,针对重复投诉的商户需要关注并及时处理,如重复投诉较多,需要及时排查原因并做优化。 4)当遇到一些恶意投诉/不合理的投诉,请按照商户公司自己的流程妥善处理,并将具体的处理情况和结果回复用户。如果确认无法满足用户的诉求且已经是最终处理方案,在连续发起结单3次后用户仍不满意可以先暂停处理,但这单会被记录服务不满意。如果是恶意投诉,微信侧针对重复投诉会提供10%的“容错率”,如果因为此类恶意投诉导致风控,提供相关凭证在商户后台进行申诉即可。 以下是在处理客诉过程中不可取的行为,会触及“平台消费者投诉管理规范”高压线: 🙅不要主观上先去给用户扣上一顶“恶意投诉”的帽子,搞清楚状况之前,不要妄下结论,主观是大忌,会影响你对客诉处理过程中的判断 🙅不要在沟通过程中(无论是在交易投诉系统还是电话或者商家自建客服系统等)去恶意诱导或辱骂用户 🙅不要去恶意骚扰用户,例如在交易投诉系统拿到用户手机号给他来个“轰炸机”套餐 🙅不要脱离平台去使用三方聊天工具进行沟通 有问题欢迎跟帖讨论,文明沟通,理性发言!!!
2023-09-19 - 【稳定重现】订单支付提示“订单已失效,请重新返回商户下单支付”
[图片] 背景:以前就偶尔会出现这种问题,但一直没头绪,之前发帖问了也没什么结果。直到今天终于自己能重现了(之前是其它用户出现的) 支付方式:小程序微信支付,每次点支付都是通过订单号生成新的prepareId 操作步骤:1、对一个订单唤起支付,选择没钱的银行卡,输入支付密码,后面会提示说没钱了 2、等一段时间(虽然我们expireTime设置了5分钟,但我还是等了3个小时再试) 3、重试支付,点支付,选卡,输入密码。就出现如图的问题了 说明一下:1、如果唤起支付后不输入密码,直接取消支付,那不论隔多久重试支付都是正常的。(我怀疑就是输入密码支付的话,微信端会记录单号) 2、所以这块是不是适合做成:如果微信支付失败的话(比如我例子中的卡没钱),就不记录单号。
2020-04-20 - 关于"订单已失效,请重新返回商户下单支付"问题的原因和解决
背景:以前遇到了这个问题,在论坛里面发了贴询问无果(https://developers.weixin.qq.com/community/develop/doc/000080c0f081602d03799575556000?jumpto=reply&parent_commentid=0000a894b90d606d04794aaf7528&commentid=0006a04b984ff81b0baa46b45564) 后面发现问题原因,稳定重现了,然后觉得有点奇怪发了这个贴(https://developers.weixin.qq.com/community/develop/doc/00026c4896090813ba3a02c6151c00?_at=1598930191922),依然无果。 (懒得排版,将就看吧) 问题的表现,上面的链接已经详细说了。我们正常的下单支付过程是这样的:下单-唤起支付-支付成功;唤起支付时调微信api,会传一些参数,比如expire(过期时间),这个时间是针对单号来说的,那么这个过期时间是什么时候开始算的呢?做个测试: 1、猜想是不是唤起支付时,调微信支付api就开始计时了? 测试:下单-唤起支付-取消支付-隔expire时间(我设置了5min)-再次唤起支付-支付成功 结论:说明并不是唤起支付时开始计时 2、才想是不是唤起支付后,输入密码才开始计时?(确实是这样) 测试:下单-唤起支付-输入错误密码-取消支付-隔expire时间(我设置了5min)-再次唤起支付-重现支付失败问题 结论:就是这货 稳定重现后简单来说下解决思路吧,虽然我觉得输入错误密码开始计时这种实现也许可能稍微有点问题,但既然这条路没得走,那就业务方自己处理吧: 总的来说问题原因在于输入错误密码后,微信方就记录了此单单号,然后expire时间过后,再次调支付api支付,微信方发现超时了,所以返回支付失败。 那么解决的思路也简单: 1、延长expire,根据你的情况来设置(治标不治本) 2、更改系统生成单号的策略 这里只说第二种思路,给个策略大家参考下 旧实现(有问题):系统的订单单号固定(比如1234,订单id),组装发送给微信的单号也是由系统单号或者通过一定策略生成的(比如haha-1234),这种实现的问题在于只要是同一个系统订单,那么它的微信单号就不会变,那遇到上面的问题时自然也没啥好办法了。 新实现: 条件:假设设置了expire时间为2小时 1、系统单号依然固定 2、系统新增支付单实体,自增id 3、第一次唤起支付前(调微信支付api前),添加支付单。 4、唤起支付时把支付单的id(或者你要加其它策略也行,反正基于支付单id)作为发给微信的单号 5、如果是第二次唤起支付,那就从库里面找到对应订单的支付单,如果发现支付单是2小时之前的,则废弃该支付单。重新生成新的单。如果是2小时内的就复用这个支付单,无需再添加。(2小时跟expire的时间对应) last,新实现以唤起支付时为基准点去处理过期的问题,虽然最完美的应该是以输入支付密码后点确认的那个时刻,但没办法,那一步是微信baba的,不是我们业务方能监听到的。
2021-01-11 - 使用postman访问不通?
使用Postman访问v3接口返回 There was an error in evaluating the Pre-request Script:Error: Invalid PEM formatted message.
2022-11-10 - 关于微信用户撤回授权信息通知的一些疑问?
今天收到一封微信团队发送的电子邮件,内容如下 尊敬的开发者: 根据相关法律法规,用户撤回同意后开发者应当主动删除用户信息。 对于微信用户撤回授权信息,平台将每日一次邮件同步通知,请你及时删除附件中用户的相关授权信息(相关字段释义详见下方开发者社区文档说明)。 你也可以通过接收事件通知即时进行处理,能力参考: 小程序用户撤回: https://developers.weixin.qq.com/miniprogram/dev/framework/security.html#%E6%8E%88%E6%9D%83%E7%94%A8%E6%88%B7%E8%B5%84%E6%96%99%E5%8F%98%E6%9B%B4 ; 公众号用户撤回H5授权信息: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/authorization_change.html ; 移动应用用户撤回: https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/authorization_change.html ; 网站应用用户撤回: https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/authorization_change.html 。 微信团队 2021-12-24 对于上述内容有如下疑问: 1.根据相关法律法规,用户撤回同意后开发者应当主动删除用户信息,想知道相关的法律法规具体指那个? 2.关于删除用户信息这个操作,是删除涉及的字段还是整条记录?使用别的内容替换是否可行?
2021-12-24 - 根据相关法律法规,用户撤回同意后开发者应当主动删除用户信息,RevokeInfo205?
收到了一封邮件,请问这个应该怎么操作呢~ 尊敬的开发者: 根据相关法律法规,用户撤回同意后开发者应当主动删除用户信息。 对于微信用户撤回授权信息,平台将每日一次邮件同步通知,请你及时删除附件中用户的相关授权信息(相关字段释义详见下方开发者社区文档说明)。 你也可以通过接收事件通知即时进行处理,能力参考: 小程序用户撤回: https://developers.weixin.qq.com/miniprogram/dev/framework/security.html#%E6%8E%88%E6%9D%83%E7%94%A8%E6%88%B7%E8%B5%84%E6%96%99%E5%8F%98%E6%9B%B4 ; 公众号用户撤回H5授权信息: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/authorization_change.html ; 移动应用用户撤回: https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/authorization_change.html ; 网站应用用户撤回: https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/authorization_change.html 。 微信团队 2022-09-05
2022-09-08 - 如何获取“撤回用户信息“全部的用户名单?
半路接手小程序的运维,邮件收到”根据相关法律法规,用户撤回同意后开发者应当主动删除用户信息。“如何获取全部撤回的用户信息
2022-04-24 - 付款码支付支付状态疑问?
付款码支付疑问: 1、创建订单号调用付款码支付接口时,能同步查询订单支付状态,还是需要间隔几秒后才能查询是否付款了。 2、如果付款了是只能主动通过查询订单接口获取支付状态,还是也能收到异步成功的支付通知。 3、调用付款码支付接口只是为了让微信拉起用户支付流程吗?
2022-11-08