- native支付二维码有效期设置time_expire可以最多允许多久?
业务支付场景中可能需要获取微信二维码有效期时间较长
2022-03-15 - 为什么微信支付 API 安全中没有平台证书而是微信支付公钥?
为什么两个商户号,一个商户号的验证微信支付身份是“微信支付公钥”,另一个是“平台证书”?是什么原因导致的?无论在文档中还是百度搜索,都无法找到“微信支付公钥”相关的详细说明,都是说的“平台证书”。该如何从“微信支付公钥”切换到“平台证书”?因为使用“微信支付公钥”的账号现在发起支付失败,不兼容现有的支付接口。谢谢! [图片] [图片]
10-27 - 获取平台证书接口报「系统繁忙」/「文件不存在」,原因分析及解决方法看这里
写在开头: 其实微信支付侧在很早~很早~~很早~~~之前就打算将平台证书抛弃改换公钥模式进行敏感信息加密和回调签名验证了,平台证书只有5年有效期,现在的开发者只会管当下“能run就行”,哪会考虑到5年之后平台证书过期的事情,导致在首次平台证书过期时间点(2023年末2024年初)很多线上平稳运营多年的系统就突然炸了,还一时不容易定位问题。 在解决平台证书问题上,微信支付推出了新的公钥模式,由于前期一直在各种线下会议上宣传,没有给出正式通知和明确的使用指引,高估了大部分开发者的情况,再加上很突然的线上灰度,盲猜内部没协调好引发新申请商户号调用“获取平台证书”接口出现已读乱回的情况,社区因此出现大量此类报错提问,可以看出很多开发着开始迷茫了:“我是谁?我在哪?为啥同样代码其他商户号都正常?为啥我’差不多‘时间申请的商户号其他的能有,就这不能用?”。 出于作为“用爱发电的热心网友”,就简单写个让大家能看得懂的说明吧。 PS:其实我们要感谢微信支付团队,给各位开发者多找点事情做,避免大家被“毕业”,要感谢他们的良苦用心~! 吐槽两句 真不知道负责这块接口设计的人是咋想的,在不知情需要获取公钥的情况下,你获取平台证书接口提示个“证书不存在”是写给谁看?写的报错提示谁能直接看得出来你想表达的意思?脑回路清奇,建议拉出去弹吉他十分钟!!! 问题说明 微信支付对于新申请商户号以及平台证书过期商户已不再签发平台证书,需要更换使用微信支付平台公钥进行敏感信息加密、通知回调签名验证,因此此类商户号调用获取平台证书接口时会出现报错“证书不存在”或者“系统繁忙”的情况。 解决方案 目前会存在两种情况,一种是新申请商户号商户后台没有“平台证书”管理入口,另一种为存量商户存在有在有效期的平台证书和平台证书过期没有签发,第一种可以直接在商户后台->账户中心->API安全->启用“微信支付公钥”,下面教程主要以存量商户切换公钥进行说明(懒得申请新商户号了,拿个白名单商户来写的)。 1.1获取商户对应的平台公钥 商户后台->账户中心->API安全->申请“微信支付公钥“,在点击申请的时候会提示你查看指引,要点查看才可以进行公钥申请!!! [图片] 下载公钥 [图片] 点击“下载公钥”后会自动下载文件名为’pub_key.pem’的公钥并在后台生成“PUB_KEY_ID”开头的公钥ID(丢了也没事,后台可以重复下载,公钥ID不变) [图片] 1.2 接口开发 下面所写示例说明均使用官方sdk,仅供参考 PHP 同时支持平台证书和平台公钥两种方法,在返回的wechatpay-serial值,在certs里有定义,就会自动匹配 [代码]// 从本地文件中加载「微信支付平台证书」或者「微信支付平台公钥」,用来验证微信支付应答的签名,这里直接使用前面从后台获取的微信支付平台公钥; $platformCertificateOrPublicKeyFilePath = 'file:///path/to/wechatpay/certificate_or_publickey.pem'; $platformPublicKeyInstance = Rsa::from($platformCertificateOrPublicKeyFilePath, Rsa::KEY_TYPE_PUBLIC); // 「微信支付平台证书」的「证书序列号」或者是「微信支付平台公钥ID」 // 「平台证书序列号」及/或「平台公钥ID」可以从 商户平台 -> 账户中心 -> API安全 直接查询到,这里直接写前面从后台获取的微信支付平台公钥ID,注意要带上'PUB_KEY_ID_' $platformCertificateSerialOrPublicKeyId = 'PUB_KEY_ID_0114232134912410000000000000'; [代码] java 将原“RSAAutoCertificateConfig.Builder”配置改为使用“RSAPublicKeyConfig.Builder”,publicKeyId填写前面从后台获取的微信支付平台公钥ID,注意要带上’PUB_KEY_ID_’ [代码]// 可以根据实际情况使用publicKeyFromPath或publicKey加载公钥 Config config = new RSAPublicKeyConfig.Builder() .merchantId(merchantId) .privateKeyFromPath(privateKeyPath) .publicKeyFromPath(publicKeyPath) .publicKeyId(publicKeyId) .merchantSerialNumber(merchantSerialNumber) .apiV3Key(apiV3Key) .build(); [代码] go 仅可使用微信支付的公钥验证应答和回调的签名,使用公钥ID初始化 [代码]var ( wechatpayPublicKeyID string = "PUB_KEY_ID_0114232134912410000000000000" // 微信支付公钥ID ) wechatpayPublicKey, err = utils.LoadPublicKeyWithPath("/path/to/wechatpay/pub_key.pem") if err != nil { panic(fmt.Errorf("load wechatpay public key err:%s", err.Error())) } // 初始化 Client opts := []core.ClientOption{ option.WithWechatPayPublicKeyAuthCipher( mchID, mchCertificateSerialNumber, mchPrivateKey, wechatpayPublicKeyID, wechatpayPublicKey), } client, err := core.NewClient(ctx, opts...) // 初始化 notify.Handler handler := notify.NewNotifyHandler( mchAPIv3Key, verifiers.NewSHA256WithRSAPubkeyVerifier(wechatpayPublicKeyID, *wechatPayPublicKey)) [代码] 1.3以上是使用sdk的参考,不使用sdk的情况下,可以参考下面链接内的示例(应该能跑,没测试):点我查看 1.4 开发对接完成后,在商户后台更换验签方式 此操作可在灰度完成之前操作终止,操作需要超管进行操作并进行安全验证,更换以后回调灰度进度由平台控制在7天内完成,应答进度由商户请求参数控制,更换完成后才可以进行平台证书作废操作。 [图片] 就这样吧,有什么问题跟帖回复
10-30 - 小程序授权业务域名数量不足
小程序目前能够打开H5页面,但访问的域名需要先设置业务域名。 不过数量有限制,限制为20个。 可能对小厂来说够了,但是对于某些大厂来说这个数量远远不够啊。 能不能通过设置根域名的方式,直接让相同一级域名的其他域名一起有效呢? 求下一版考虑这个内容,多谢了。
2019-04-23 - 业务域名最多被100个主体小程序绑定
企业微信小程序 引用的H5页面使用的业务域名,超过100家之后就不能再绑定了,这个有什么方法解决吗? [图片]
2021-05-26 - api.weixin.qq.com接入IP变更通知
各位开发者: 由于内部网络设备裁撤,api.weixin.qq.com(sz.api.weixin.qq.com)需要更新部分接入点IP,详细如下: 上海电信VIP变更:101.227.162.120;101.226.212.27 -> 180.97.7.108;101.226.212.27 上海联通VIP变更:140.207.119.12;58.246.220.31 -> 116.128.163.147;58.246.220.31 上海CAP VIP变更:182.254.92.124;182.254.88.157 -> 121.51.90.217;182.254.88.157 深圳联通变更为:163.177.83.164;58.251.80.204 -> 58.251.82.216;58.251.80.204 此次变更不影响直接使用DNS解析微信域名的业务,如有业务仍在尝试旧的接入IP(通过代码写死或防火墙配置),请及时更新至新的接入IP,裁撤截止日期2020年10月15日,届时旧IP会停止服务,返回指引文档信息。 请不要通过配置hosts的方式访问api.weixin.qq.com,以免微信侧后续更新出口IP时出现接口访问失败。 特殊情况如配置防火墙等,请改造成通过接口获取api.weixin.qq.com当前所有出口IP(同一时间不会所有IP都变更,请尝试可用IP),并更新至hosts或防火墙等。 获取api.weixin.qq.com当前所有接入IP请参考官方文档。 微信团队 2020.09.24
2020-09-24 - 公司A申请了服务商,在服务商新增特约商户,可以把公司A加成一个特约商户吗?
需求是我们公司自己可以收款,也可以帮其它主体收款,然后我采用服务商和特约商户的模式,我想把自己公司也作为一个特约商户可以吗? 服务商的主体是企业A,在服务商的特约商户管理界面添加特约商户时,也选择企业A,就是相同主体,这种情况可以审核通过吗?
10-17 - 小程序备案和代码审核可以同时吗
https://developers.weixin.qq.com/miniprogram/dev/framework/https://developers.weixin.qq.com/miniprogram/product/record_guidelines.html
03-27 - 小程序微信认证完了,备案和上线发布前审核能同时进行吗?
小程序微信认证完了,备案和上线发布前审核能同时进行吗?
09-09 - 「笔记」小程序备案驳回原因整理(不定期更新)
修改字段 待完善原因 修改建议 主体备案证件OR主办单位 证件 主办单位证件涉及前置或专项审批-你单位名称/经营范围/小程序名称/小程序服务内容涉及食品经营 你单位涉及食品相关内容,需要提供《食品经营许可证》、《食品生产许可证》或《仅销售预包装食品经营者备案信息采集表》请通过主体其他补充材料接口上传。 主体备案证件OR主办单位证件 主体证件图片不清晰 请上传清晰完整、不遮挡关键信息/图像、边角齐全、在有效期内的主体有效证件。 主体备案证件OR主办单位证件 主体证件边角不齐全 请上传清晰完整、不遮挡关键信息/图像、边角齐全、在有效期内的主体有效证件。 主体备案证件OR主办单位证件 主体负责人证件非原件彩色扫描件或拍照件 请上传清晰完整、不遮挡关键信息/图像、边角齐全、在有效期内的主体负责人有效证件彩色扫描件或者彩色拍照件。 主体备案证件OR主办单位证件 主办单位证件涉及前置或专项审批-你单位涉及危险化学品 经营范围涉及危化品的,需提供《危险化学品经营许可证》,如实际小程序不涉及的可提供情况说明书,并上传在小程序其他材料位置。 主体备案证件OR主办单位证件 主办单位证件涉及前置或专项审批-北京涉及金融相关关键字 你单位名称/经营范围涉及“金融”相关前置审批关键字。 注:承诺书需上传在小程序其他材料接口。 主体备案证件OR主办单位证件 主办单位证件涉及前置或专项审批-单位名称/经营范围涉及“文化”相关前置审批关键字 你单位名称/经营范围涉及“文化”相关前置审批关键字,如小程序实际经营相关内容,请提供文化和旅游厅审批的《网络文化经营许可证》,前置审批项需选择“文化”;如小程序内容不涉及,需在小程序备注中详细备注小程序从事内容,并承诺不涉及文化前置审批内容。 主体备案证件OR主办单位证件 主办单位证件涉及前置或专项审批-单位名称/经营范国涉及“药品和医疗器械”相关前置审批关键字 你单位名称/经营范围涉及“药品和医疗器械”相关前置审批关键字,如小程序实际经营相关内容,请提供食品药品监督管理局审批的《互联网药品信息服务资格证书》,前置审批项需选择“药品和医疗器械”如小程序内容不涉及,需在小程序备注中详细备注小程序从事内容,并承诺不涉及药品和医疗器械前置审批内容。 主体备案证件OR主办单位证件 主办单位证件涉及前置或专项审批-贵州涉及前置审批关键字 你单位名称、经营范围涉及前置审批关键字,如涉及请配合提供前置审批文件,如实际小程序内容不涉及需配合提供承诺书,承诺书模板下载链接:https://developers.weixin.qq.com/miniprogram/product/record_material.html 注:承诺书需上传在小程序其他材料接口。 主体备案证件OR主办单位证件 你单位名称/经营范围/小程序名称/小程序服务内容涉及食品经营 你单位涉及食品相关内容,需要提供《食品经营许可证》或《预包装食品经营许可证》,请通过主体其他补充材料接口上传。 主体备案证件OR主办单位证件 你单位涉及食品经营 管局要求如涉及食品经营需要提供食品经营许可证,请通过补充材料接口上传。 主体备案证件OR主办单位证件 备案主体涉及特殊关键字 备案主体为律师事务所的,需提供字迹清晰、页面完整的《律师事务所执业许可证》副本进行备案,上传附件应包含许可证副本首页、登记事项首页、最新年审页与变更登记名称、住所页;请通过主体其他补充材料接口传,为了保证清晰度,切勿拼图上传。 主体备案证件OR主办单位证件 备案主体涉及特殊关键字-经营范围涉及“出版”相关关键字 你单位名称/经营范围涉及“出版”相关前置审批关键字,需要提供《互联网出版物许可证》材料。 主体备案证件OR主办单位证件 湖北涉及电子商务或互联网销售 你单位名称/小程序名称/小程序服务内容/经营范围涉及电子商务或百联网销售,如实际小程序内容涉及需配合提供《增值电信业务经营许可证》如不涉及请配合提供“电子商务情况说明书”,说明下模板下载链接:https://developers.weixin.qq.com/miniprogram/product/record_material.html 注:说明书需上传在小程序其他材料接口。 主体备案证件OR主办单位证件 湖南涉及前置审批关键词-涉及出版前置审批关键字 小程序名称、服务内容不涉及前置审批,仅经营范围涉及前置审批关键字,需要备注说明小程序实际从事内容,并需要用户咨询相关前置审批部门后回复无需办理的,需按照格式注明:咨询单位(前置审批主管部门名称) ,电话***,回复无需办理前置审批。(内容主管部门、咨询电话信息,仅供参考,以实际情况为准 咨询部门:湖南省新闻出版局、省电影局 咨询电话:根据用户所在地自助查询) 主体备案证件OR主办单位证件 湖南涉及前置审批关键词-涉及教育、培训等关键字 小程序名称、服务内容不涉及前置审批,仅经营范围涉及前置审批关键字,需要备注说明小程序实际从事内容,并需要用户咨询相关前置审批部门后回复无需办理的,需按照格式注明:咨询单位(前置审批主管部门名称) ,电话***,回复无需办理前置审批。(内容主管部门、咨询电话信息,仅供参考,以实际情况为准 咨询部门:当地教育主管部门 咨询电话:根据所在地自助查询) 主体备案证件OR主办单位证件 湖南涉及前置审批关键词-涉及文化前置审批关键字 小程序名称、服务内容不涉及前置审批,仅经营范围涉及前置审批关键字,需要备注说明小程序实际从事内容,并需要用户咨询相关前警审批部门后回复无需办理的,需按照格式注明:咨询单位(前置审批主管部门名称) ,电话***,回复无需办理前置审批(内容主管部门、咨询电话信息,仅供参考,以实际情况为准。 咨询部门:湖南省文化和旅游厅咨询电话:0731-82213010) 主体备案证件OR主办单位证件 湖南涉及前置审批关键词-涉及金融前置审批关键字 小程序名称、服务内容不涉及前置审批,仅经营范围涉及前置审批关键字,需要备注说明小程序实际从事内容,并需要用户咨询相关前置审批部门后回复无需办理的,需按照格式注明:咨询****单位(前置审批主管部门名称),电话*****,回复无需办理前置审批。 (内容主管部门、咨询电话信息,仅供参考,以实际情况为准 咨询部门:当地金融局 咨询电话:根据所在地自助查询) 主体类型 主体 性质选择错误 你的主体性质选择错误.请根据你提供的证件选择正确的主体性质。 主体类型 主体性质选择错误 你的主体性质选择错误,请根据你提供的证件选择正确的主体性质。 主体补充材料 你提供的补充材料不符合要求 你提供的补充材料不符合要求,请确保你提供的补充材料清晰完整,内容与实际情况相符(包括但不限于材料内容、法人签字、盖章、写日期等信息均符合正常逻辑,且有效期不小于60天)注:如涉及到需要勾选的地方,请根据订单中实际情况勾选,不勾、错勾均不可以。 主体补充材料 补充材料上传位置错误 请将该材料上传至小程序 其他补充材料接口。 主体负责人应急联系方式 应急联系方式不符合要求-天津政企要求:一、应急联系方式需为本单位员工,二、应急联系方式需按要求备注 应急联系方式需为本单位员工,且需要在小程序备注中备注:应急联系电话手机号使用人为XXX公司员工XXX。 主体负责人有效证件类型 主体负责人信息真实性核验不通过-负责人证件号码 不能为其他主体备案过 请提供未备案过的主体负责人信息 主体负责人有效证件类型 负责人证件号码不能为其他主体备案过 请提供末备案过的主体负责人信息。 主体负责人证件 水印遮挡有效字体 或水印内容有误 请上传清晰完、不遮挡关键信息/图像边角齐全、在有效期内的主体负责人有效证件;且水印内容与小程序备案有关。 主体负责人证件 证件不能添加水印/公章 订单中的图片必须为彩色原件拍照件或彩色扫描件,请勿添加水印或公章,请修改后重新提交。 主体负责人证件 请负责人提供补充材料 请主体负责人提交在本单位缴纳至少3个月的社保证明或本行政区域内的居住证。 主办单位名称 主办单位证件涉及前置或专项审批-广东单位名称涉及金融关键字 1、请优先提供金融办等金融监管部门的批文。2、如果确认无法拿不到的金融文件的,需提供一份情况说明书,内容必须写清楚“咨询单位、部门、电话,接电人的答复和态度是什么,以及介绍公司是做什么的,并承诺不利用互联网从事金融服务,不做网贷,不做P2P”等,如果违反需承担关闭小程序、注销备案、主体进入黑名单处罚。 3、法人手写签字或签名章(尽量正楷)、盖单位公章、写日期并上传在主体其他补充材料。 主办单位名称 备案主体涉及特殊关键字-广东涉及非学科类校外培训需提供承诺书 承诺书内容需包含:1)写清楚小程序具体从事内容是什么,并承诺不涉及学科类校外培训活动等。2)单独起一段(文字不得修改):我单位/公司(按实际情况选择不能都保留)承诺末经教育部门批准不从事学科类校外培训活动,如有违背接受被注销备案、关停小程序等处理措施。3)公司落款,加盖公司公章、日期 注:承诺书需上传至小程序其他补充材料接口。 主办单位名称 备案主体涉及特殊关键字-经营范围涉及“电影、电视”关键字 经营范围涉及“电影、电视”关键字请提供《不涉及电影电视情况说明书》,并上传至小程序补充材料接口。承诺内容应包含小程序实际经营内容与用途,并承诺实际不涉及电影、电视节目、影视制作等需主管部门前置审批的相关内容;承诺书须有单位法定代表人签字,加盖公司公章,日期,方视为有效。 主办单位名称 备案主体涉及特殊关键字-经营范围涉及”金融“关键字 经营范围涉及“金融”关键字请提供《不涉及金融情况说明书》,并上传至小程序补充材料接口。承诺内容应包含: 小程序实际经营内容xxxxx与用途xxxxxx,并承诺实际不涉及互联网金融等需主管部门前置审批的相关内容:承诺书须有单位法定代表人签字 ,加盖公司公章,日期方视为有效。 主办单位名称 经营范围涉及“教育”关键字 经营范围涉及“教育”关键字请提供《不涉及教育情况说明书》,并上传至小程序补充材料接口。承诺内容应包含:小程序实际经营内容xxxxx与用途xxxxxx,并承诺实际不步及学科培训、校外培训等需主管部门前置审批的相关内容;承诺书须有单位法定代表人签字,加盖公司公章,日期,方视为有效。 主办单位名称 经营范围涉及“文化”关键字 经营范围涉及“文化”关键字如小程序涉及请配合提供前置审批文件,如不涉及请提供《不涉及文化情况说明书》,并上传至小程序补充材料接口。承诺内容应包含:小程序实际经营内容与用途,并承诺实际不涉及网络文化等需主管部门前置审批的相关内容: 承诺书须有单位法定代表人签字,加盖公司公章,日期,方视为有效。 主办单位名称 经营范围涉及”药品和医疗器械“关键字 经营范围涉及”药品和医疗器械“关键字请提供《不涉及药品和医疗器械情况说明书》,并上传至小程序补充材料接口。承诺内容应包含:小程序实际经营内容xxxxx与用途xxxxxx,并承诺实际不涉及药品、医疗器械等需主管部门前置审批的相关内容;承诺书须有单位法定代表人签字,加盖公司公章日期,方视为有效。 主办单位证件类型 主体证 件类型选择错误 请将主体证件类型修改为和主体证件一致。 主办单位通信地址 主办单位通讯地址不详细 通讯地址需精确到具体的门牌号,例如:xx省xx市xxx县xx路xx号xx号楼xx单元xx室,且不能使用特殊符号(如:2#楼2-3-301),如果已经是最详细的地址,无门牌号的,请在主体备注中说明“通信地址已为最详细”。 人脸核身 活体核验照片衣着不符合要求 请小程序负责人在纯白色背景下(如白色墙体)拍摄,注意背景无杂物、露出清晰的五官和双肩、表情自然、穿着正常应季服装等。 其他 小程序主办者冲突 小程序主办者冲突,修改建议:请核实您在核实已备案成功的信息已当前填写的备案信息否一致后在平台重新提交报备申请。 其他 身份验证未通过 请确保订单中小程序负责人的身份证必须为最新,请修改后重新提交;如确认订单中的身份证均为最新,请配合按照以下流程操作:1、下载CTID APP并使用nfc读卡方式开通网证,然后重新提交订单即可 2、重新提交后仍因此问题多次被退回的,建议咨询证件对应部门。 前置审批材料 小程序服务内容涉及前置审批-四川、广东、上海涉及视频、短剧相关前置审批 涉及视频类请提供《信息网络传播视听节目许可证》,前置审批项选择“广播电视节目”,服务类目选择“休闲娱乐-视频”,《信息网络传播视听节目许可证》上传至前置审批位置。 小程序名称 小 程序名称非纯中文 小程序名称非中文时,必须在小程序备注位置写明小程序中文名称及小程序主要服务内容,并在备注中添加“承诺遵守中华人民共和国法律法规”,填写小程序名称的中文注释。 小程序名称 小程序名称/服务内容涉及教育、校外培训等内容 如小程序内容涉及校外培训等内容必须提供对应资质:学科类培训-教育部门审批的证;文旅部门负责文化艺术类培训机构;体育部门负责体育类培训机构;科技部门负责科技类培训机构:请根据你单位涉及的培训内容,提供正确的资质文件,并上传在小程序其他补充材料接口;如小程序实际内容并不涉及,请修改小程序名称服务内容、备注等信息。 小程序名称 小程序名称不符合个人备案 要求 小程序名称涉及企业/单位/商城等非个人性质,请修改为与实际小程序业务有关的名称;如果你是企业小程序,请使用企业证件进行备案。参考指引:https://developers.weixin.qq.com/miniprogram/product/record/receord_category.html 小程序名称 小程序名称与单位名称无关 你的小程序名称与单位名称无关联或涉及其他单位,请将小程序名称修改为与本单位实际情况一致,且具有实际意义,并在小程序备注中详细描述小程序经营内容。 小程序名称 小程序名称与单位经营范围无关 按照管局要求,小程序名称需要与备案主体性质相符合,通过名称可以看出小程序的具体含义,并在小程序备注中详细描述小程序的涉及内容。 小程序名称 小程序名称与单位经营范围无关 你的小程序名称与企业经营范围无关联,请将小程序名称修改为符合企业经营范围,且具有实际意义,并在小程序备注中详细描述小程序经营内容。 小程序名称 小程序名称涉及前置审批-福建小程序名称涉及剧本杀 小程序名称或备注涉及剧本杀,请提供属地文旅部门下发的备案文件;如不涉及请修改小程序名称或备注。 小程序名称 小程序名称涉及前置审批内容 小程序名称涉及前置审批/专项审批相关关键字(新闻/金融/宗教/医疗器械/网约车/校外培训/广播电影电视节目/文化/出版等),请上传对应前置审批资质;若实际不涉及,请修改为不涉及前置审批关键字的名称。 小程序名称 小程序名称重复 同一个主体下,该App,小程序或快应用上报的名称已存在或已提交备案申请,请勿重复报备;请修改后重新提交。 小程序名称 小程序备案个数较多-备案小程序较多 请配合提供《情况说明书》,内容需包含小程序实际经营内容、承诺“遵守互联网信息服务相关法律法规和行政管理规定,按照备案项目范围提供互联网信息服务,不发布未经许可和法律法规禁止发布的信息”,并法人签字、加盖公司公章写日期,上传至小程序其他材料接口。 小程序名称 非国家级单位小程序命名不符合要求 非国家级单位,不得以中国、中华中央、人民、人大、国家等字头命名。 小程序备注 个人小程序备注不符合要求 小程序备注不符合个人性质,不能涉及企业或经营性等情况,请修改为符合个人性质的备注或删减备注。 小程序备注 四川不涉及前置审批备注要求 小程序主要从事内容为******,承诺不涉及*****等前置审批内容。 小程序备注 小程序不涉及前置审批备注要求-不涉及前置审批备注要求 请补充填写备注,格式参考:“小程序主要从事内容为*******,承诺不涉及*****等前置审批内容” (注:切勿一句话描述为公司旗下产品或公司项目等无实际意义的内容) 小程序备注 小程序名称/小程序服务内容不符合主体性质 小程序名称或小程序服务内容与你当前备案的主体性质不相符,请在备注中详细描述具体含义及小程序后期从事的内容。 小程序备注 小程序备注不符合要求 小程序备注不符合要求,请修改或删减备注。 小程序备注 小程序备注与企业性质不符合 小程序从事业务必须依照营业执照经营范围来开展,不得超范围经营(且不能照抄经营范围填写在备注中,切勿涉及烟草、危化品等不能互联网经营的业务),请详细描述小程序实际从事内容,修改后重新提交。 小程序备注 河南小程序备注 请务必清晰备注小程序实际经营内容。(注:切勿一句话描述为公司旗下产品或公司项目等无实际意义的内容) 小程序补充材料 你提供的补充材料不符合要求 你提供的补充材料不符合要求,请确保你提供的补充材料清晰完整目在有效期内。 小程序负责人姓名 小程序负责人必须为法人 根据管局要求,小程序负责人须为单位的法定代表人,请将小程序负责人信息修改为单位法定代表人的信息。 小程序负责人手机号码 小程序负责人联系方式不能为其他主体备案过 该手机号码已被其他主办单位备案使用,且与你的信息不一致,请提供小程序负责人使用的、未备案过的有效手机号码。 小程序负责人手机号码 手机号码无人接听 请在订单审核期间保持电话畅通并注意接听电话,审核员需与你电话沟通核实备案信息有关情况。 小程序负责人有效证件号码 小程序负责人证件号码不能为其他主体备案过 请提供未备案过的小程序负责人信息,建议本单位/公司具体负责小程序管理、小程序维护的相关人员。 小程序负责人有效证件号码 小程序负责人证件号码不能为其他主体备案过 请提供未备案过的小程序负责人信息,建议本单位/公司具体负责小程序管理、小程序维护的相关人员。 小程序负责人法人授权书 上海小程序负责人授权书不符合要求 请使用上海小程序负责人授权书模板,小程序负责人授权书内容填写与实际负责人信息一致,授权书内容清晰完整,并且需要法人手写签字(尽量正楷)、公章清晰完整、填写日期。授权模板下载链接:https://developers.weixin.qq.com/miniprogram/product/record_material.html 小程序负责人法人授权书 小程序负责人授权书不符合要求 请确保小程序负责人授权书内容填写与实际负责人信息致,授权书内容清晰完整,并且需要法人手写签字(尽量正楷)、公章清晰完整、填写日期。 小程序负责人法人授权书 授权书内容不符合要求-小程序负责人授权书日期不符合要求 授权书必须填写日期,且有效期不小于60天。 小程序负责人电子邮箱 小程序负责人电子邮件不能为其他主体备案过 该手机号码已被其他主办单位备案使用,且与你的信息不一致,请提供小程序负责人使用的、未备案过的电子邮件。 小程序负责人证件 小程序负责人年龄不符合要求 小程序负责人年龄不符合要求(男不大于60周岁,女不大于55周岁),请修改负责人后重新提交。 小程序负责人证件 负责人证件非最新 请确保订单中的身份证必须为最新,请修改后重新提交请上传最新的负责人有效证件。 承诺书 互联网信息服务备案承诺书不符合企业要求 按照属地管局要求,请正确填写承诺书模板信息,请法人签字,并保持正楷签字、使用备案主体公章且清晰、如实写明日期(有效期不小于60天)内容清晰完整。(注:如个体工商户和无公章,需写身份证号、按手印,并需要在主体备注“个体工商户无公章”)(承诺书模板下载链接:https://developers.weixin.qq.com/miniprogram/product/record_material.html) 服务内容类型 小程序服务内容 不符合企业性质 请修改服务内容符合企业性质,需在你单位营业范围内开展工作;参考指引:https://developers.weixin.qq.com/miniprogram/product/record/receord_category.html 服务内容类型 小程序服务内容不符合个人性质 请修改服务内容符合个人性质,或者使用企业证件进行备案;参考指引:https://developers.weixin.qq.com/miniprogram/product/record/receord_category.html 服务内容类型 小程序服务内容不符合企业性质 请修改服务内容符合企业性质需在你单位营业范围内开展工作。 服务内容类型 小程序服务内容不符合企业性质 请修改服务内容符合企业性质,需在你单位营业范围内开展工作;参考指引:https://developers.weixin.qq.com/miniprogram/product/record/receord_category.html 服务内容类型 小程序服务内容选择错误 请根据小程序实际从事内容选择正确的小程序服务内容。 法人授权书 授权书内容不符合要求-主体负责人授权书日期不符合要求 授权书必须填写日期,且有效期不小于60天。 法人授权书 授权书模板不符合要求 你提供的授权书模板不符合要求,请提供符合要求的模板,模板请参考:https://developers.weixin.qq.com/miniprogram/product/record_material.html - 小程序主办者冲突 放弃备案并重提,修改备案类型为新增小程序或无主体新增小程序。 - 其他-身份验证未通过 请确保订单中的主体负责人身份证有效期必须为最新,请修改后重新提交;如确认订单中的身份证均为最新,请配合按照以下流程操作: 1、下载CTID APP并使用nfc读卡方式开通网证,录制网证视频留存,然后重新提交订单;2、重新提交后仍因此问题多次被退回的,将视频发给前端客服,位置小程序发布流程-小程序信息/程序类目 – 查询详情 联系客服按钮。 - 单位名称或证件类型及证件号码与已备案信息不一致 你本次申请备案的主体在工信部备案系统已有备案信息,且与微信平台提交的主体证件信息(单位名称或证件类型及号码)不一致,导致工信部备案系统校验冲突。需要你返回原接入商平台核实后变更主体备案信息,确认与微信平台提交的主体证件信息(单位名称、证件类型、证件号码)保持一致后,重新在微信平台提交小程序备案申请。 - 同一主体同一时间不能有多个流程中的备案 你的主体在其他平台(或接入商)已有等待管局审核中的首次备案申请(示例:当前你的主体有网站APP或小程序正在等待管局审核中),故需要退回当前备案订单待管局审核通过获得主体备案号后,重新在微信平台提交备案申请。 - 同一主体同一时间不能有多个流程中的备案 管局系统驳回:网站主办者冲突(主办者名称或证件类型及号码),请核实后再次报备。修改意见:同一主体同一时间不能有多个流程中的备案,建议放弃当前订单,待你流程中其他订单管局审核有结果了之后,再提交当前订单。 - 备案主体冲突 订单提交失败,请核实你单位是否已取得备案号,并确认之前备案信息是否为最新,如信息不一致,请至原接入商将备案信息变更为最新信息之后,待管局审核通过,再来提交当前订单。 - 小程序主办者冲突 你的主体证件已经在其他平台备案,不能同时在微信平台提交首次备案,请核实后在平台重新提交报备申请。 - 短信核验未通过(自动驳回) 你的订单未完成工信部的短信验证,已被管局系统驳回;请重新提交订单后,在收到工信部系统下发短信验证码的24小时内,按照短信提示的流程进行短信验证。 - 系统校验备案类型错误 您单位之前备案成功过两个网站,您此次订单理应是无主体新增备案,然而您的订单是首次备案,这是系统校验错误,请重新提交订单让系统重新校验正确就好。非常不好意思,请系统又未校验正确,麻烦您再次提交。 - 身份证校验未通过 请确保订单中的身份证必须为最新,请修改后重新提交。 - 其他 根据《中华人民共和国网络安全法》中落实网络实名制要求,请提交法定代表人或者网站负责人在本单位缴纳至少3个月的的社保证明或本行政区域内居住证。 - 其他 主体负责人证件与系统信息不一致。 - 其他 主办单位名称/经营范围涉及前置审批;请核实是否从事相关互联网前置审批服务业务,如从事请出具前置审批文件,如不从事需详细备注。 - 其他 已开通网站打开为违规站,请关闭。 - 其他 请提供相应建站依据。 - 其他 调用公安身份证接口核验证件真实性未通过未通过信息为服务负责人xx:(请确定是不是最新的身份证)。 - 其他 同一个主体下,该App,小程序或快应用上报的名称已存在或已提交备案申请,请勿重复报备。 - 其他 企业名称或申报的小程序服务内容或涉及“游戏”,根据《互联网信息服务管理办法》《网络出版服务管理规定》,请如实填写服务内容并在前置审批栏上传许可文件,如不涉及,请正确选择小程序服务内容并提交小程序服务内容不涉及相关前置审批的情况说明,情况说明需加盖公章。 - 其他 单位名称、经营范围、涉及金融关键词的必须提供金融审批文件,暂时不支持写承诺书。 - 其他 主办单位通用信息地址填写的与实际不符。 - 其他 管局驳回原因:(1003)网站主办者冲突-单位名称或证件类型及证件号码与已备家信息不一致,修改建议:你本次申请备案的主体在工信部备案系统已有备案信息,且与微信平台提交的主体证件信息(单位名称或证件类型及号码)不一致,导致工信部备案系统校验冲突。需要你返回原接入商平台核实后变更主体备案信息,确认与微信平台提交的主体证件信息(单位名称、证件类型、证件号码)保持一致后,重新在微信平台提交小程序备案申请。请查看原接入商中填写的主体证件类型是不是:民办非企业单位主体证件号码,注意大小写是否一致。 备注:不同地区备案要求不完全一致,排序不分先后,以上数据来源于开放社区仅供参考,如有新增驳回原因可以留言补充。
03-05 - 有没有腾讯地图商业授权找合租的?
我们服务只是使用地图里面的线路规划和地址逆解析,平常没有什么量只是偶尔会有高峰期,他们这个不能做成云服务那种按量计费就很恶心,有的月份我们一个月才用不了十几块钱的,一年最多用2000左右,买一个5W的商业授权一点也不划算。所以我想对于量小的公司或者团队一起购买一个均摊下来,接口通用这样成本会小很多。有的话可以留言
10-09 - 用户隐私保护指引审核因用户信息授权描述不明确、不清晰,本次审核不通过。是什么原因?
换了各种文案, 就是审核不通过, 到底是什么原因, 能不能给我说清楚... appid: wx95b0afb1012820a7 [图片]
10-11 - 隐私保护指引,总是审核失败,审不过无法拉起手机号授权,导致代码审核也被驳回,已经3天了怎么办?
之前同样的代码发了20多套,隐私保护指引只写了简单的4至6个字,都是1次过,这次新的小程序怎么改都不给我通过,隐私保护指引审不过,拉不起来手机号授权,导致注册登录无法使用,代码也审核失败,急死了,不知道该怎么办了。[图片][图片][图片]
10-11 - 公众号里面ip白名单为什么不支持配置ipv6地址?
请官方回答下,由于服务迁移,迁移后服务会使用ipv6地址 [图片]
10-11 - 支付服务部署在内网,只能通过正向代理访问支付api?
支付服务部署在内网,只能通过正向代理访问支付api,所以后端访问微信api的地址是http://ip+端口,再通过nginx转发到可以访问互联网的服务器,访问微信的域名https的api地址是要带上证书,使用http://ip+端口带上的证书是不起作用的,这时候可以在nginx中配置所有微信的正向代理加上微信api的证书,这种情况是只有一个商户是可以实现调用微信支付接口,但是现在就是有多个微信商户,就是有多个api证书,这种情况该怎么办?
10-11 - 扫普通链接二维码打开小程序,是前缀规则限制100个,还是二维码数量100?
扫普通链接二维码打开小程序,是前缀规则限制100个,还是二维码数量100?同一个前缀规则,我传递不同的参数,生成不同的二维码数量有限制么?时效性有限制么?
2022-05-30 - 小程序首屏的多个请求?
小程序首屏的多个请求?没有依赖关系,是同时请求好一点?比如,promise.all,避免浪费时间!还是依次请求好一点?比如,首页,上边是一个轮播图,一个请求,中间是八个icon按钮,一个请求,下面是一行四张图,一个请求!
2021-01-12 - 如何进行微信订单交易对账
前言: 本文仍属于新手攻略的一部分,供类似我一样的支付新人享用。 一、订单对账需求 这是根据我们的业务实践总结出的需求场景,可能和你们业务会有较多出入,仅供参考吧。 1,销售或运营查单需求 销售或运营部门,有时候会找我们技术部门确认某笔订单的到账状态。 实际他们在内部平台能直接查到订单支付状态,但订单的财务到账情况并不会同步给他们,某些场景下,他们需要确认这些信息。 2,程序运行BUG对应 微信H5支付和APP支付,偶尔会遇到用户实际支付成功,但我方订单系统没有显示支付成功,可能是某种情景下的程序BUG或网络问题。 用户或运维,会将用户支付反馈过来,这时我们首先需要确认的就是用户是否实际支付成功。 如果用户已实际支付,那先把用户付费权益加上,再修复或确认程序问题。 3,用户退款 有时会遇到用户退款需求,由销售或运维部门发起内部退款流程,但由于我们商户号有好几个(对应不同项目),但财务部门只有一个,所以需要技术部门补充用户支付的更多订单信息(属于哪个商户号、微信订单号等),以便财务人员快速定位商户号,处理后续用户退费事宜。 4,其他场景 比如定期统计对账信息,领导查阅等。 二、商户平台页面对账 不涉及开发情况下,正常的对账,就是登录官方的微信商户平台,进行用户付费查询。 1,查询位置 商户平台首页-交易中心-交易管理-交易账单 2,批量订单查询 可以直接按交易时间、支付场景、交易状态、交易金额批量查询账单信息。 [图片] 3,单个订单查询 也可以直接按照微信订单号、商户订单号查询单个订单信息。 [图片] 4,其他位置查询 也可以在账单管理里,批量打包下载。 三、API对账单同步 1,商户平台查账不方便 在官方商户平台直接查询,是可以直接对账的。 但对于我们来说,有两点不方便。 1)我们商户号较多,来回登录各个商户号流程太麻烦了。 2)我们商户号通常由财务部门管理,技术不便登录。 2,官方提供的对账单下载API 1)申请交易账单 介绍: 该接口提供按天查询对账单文件(限三个月内),可选账单日期和类型(全部/成功订单/退款订单)。 调用后会返回账单文件下载地址,该地址30秒内有效,格式类似:https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_6.shtml 2)下载账单 介绍: 对下载地址download_url进行签名,并发起请求,即可下载到账单文件的数据流。 [图片] 账单文件包括明细数据和汇总数据两部分,每一部分都包含一行表头和若干行具体数据。 例如:交易账单 ALL.xlsx、REFUND.xlsx、SUCCESS.xlsx 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_8.shtml 3,公司内部平台设计 1)同步时间为每日上午10点 根据微信商户平台官方说明建议,我们应该在订单的T+1日上午10点后同步,如果更早同步,可能遇到官方数据正在生成中情况。 通过内部定时job,调用账单生成接口,解析账单下载文件,将账单内容存储到内部数据库中。 多个商户号的对账信息,都同步到内部数据库。 2)内部平台增加对账单查询功能 面向特定权限人员: 页面应标明财务账单同步时间(T+1日10点后)。 页面可以结合自身账号体系,通过查询用户账号、支付日期、支付应用(多个商户号对应的应用)、内部订单号、微信订单号等条件,查询财务订单信息。 页面也可以按范围批量查询或导出财务账单信息。 画个建议流程图吧: [图片] 感谢阅读!
2021-05-10 - 「小程序下发统一消息接口」收回后,如何适配?
「小程序下发统一消息接口」收回后,如何适配? 前言 目前「小程序下发统一消息接口」已经收回,开发者无法通过该接口下发公众号模板消息,如有消息推送需要,可使用「公众号模板消息」接口,具体可参考公告:小程序与公众号下发统一消息接口调整通知。 来看下两个接口区别 「小程序下发统一消息接口」与「公众号模板消息接口」区别如下: 小程序下发统一消息接口(已收回) 公众号模板消息接口 接口请求地址 POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN 接口调用凭证 小程序 [代码]access_token[代码] 公众号 [代码]access_token[代码] 接收者 [代码]openid[代码] 小程序 [代码]openid[代码] 或 公众号 [代码]openid[代码] 公众号 [代码]openid[代码] 也就是说,现在需要下发公众号模板消息只能使用「公众号模板消息接口」: 需要使用公众号[代码]access_token[代码]调用该接口。 需要使用公众号[代码]openid[代码]下发公众号模板消息。 那应该如何适配呢? 一、如果你有公众号[代码]openid[代码] 按照「公众号模板消息接口」文档适配,使用公众号的[代码]openid[代码]即可。 注意:更换接口后,请求包json格式也要根据文档进行修改。 二、如果你只有小程序[代码]openid[代码] ,没有公众号[代码]openid[代码] 我想到了以下几种方式,可以获取用户公众号[代码]openid[代码]。 (一)通过[代码]unionid[代码]区分同一用户 小程序与公众号绑定在同一开放平台下: 小程序内可通过「[代码]wx.login[代码]」和「[代码]code2Session[代码]」接口获取到用户的[代码]unionid[代码]和[代码]openid[代码],保存到数据库。 公众号可以调用「获取已关注用户列表接口」拿到所有已关注用户的[代码]openid[代码],可调用「获取用户基本信息接口」查询[代码]unionid[代码],保存到数据库。 对于新关注公众号的用户,关注事件推送里面会有[代码]openid[代码],可调用「获取用户基本信息接口」查询[代码]unionid[代码],保存到数据库。 注:接口有每日调用次数限制。 将用户在公众号与小程序下的[代码]openid[代码]和[代码]unionid[代码]保存到数据库里面,可以参考: (1) 如果在一个表 id unionid offiaccount_openid miniprogram_openid 下发模板消息时候,可通过小程序[代码]openid[代码]查询到公众号[代码]openid[代码]。 (2)如果是分开的表 公众号用户表 id unionid openid 小程序用户表 id unionid openid 下发模板消息的时候,通过[代码]unionid[代码]去查询对应用户公众号[代码]openid[代码]。 (二)网页授权 制作一个网页授权H5页面,可以获取到用户公众号[代码]openid[代码],当[代码]scope[代码]为[代码]snsapi_userinfo[代码]时可以获取到[代码]unionid[代码](公众号绑定到微信开放平台账号才会返回)。 (三)公众号关键词回复 用户在公众号回复关键词,开发者动态下发小程序链接,链接内带有公众号[代码]openid[代码]参数,用户点击跳转到小程序,完成绑定操作。 如果大家有其他方式,欢迎补充~
2023-09-25 - 关于小程序收集用户手机号行为的规范
手机号在日常生活中被广泛使用,是重要的用户个人信息,小程序开发者应在用户明确同意的前提下,依法合规地处理用户的手机号信息。 而部分开发者在处理用户手机号过程中,存在不规范收集行为,影响了用户的正常使用体验,此类情况涉及收集用户隐私违规。 《微信小程序平台运营规范》15. 用户隐私和数据规范 对此规范如下: 除非相关法律要求,或经用户同意,否则不得要求用户输入个人信息(手机号、出生日期等)才可使用其功能,或收集用户密码或者用户个人信息(包括但不限于,手机号、身份证号、生日、住址等)。 在小程序运行中,用户未触发需使用权限或用户个人信息的相关功能或服务时,不得提前向用户弹窗申请权限或收集用户个人信息。 平台汇总了常见违规收集情形,示例如下: 1、一进入小程序即收集用户手机号 [图片] 违规案例 一进入小程序就跳转到手机号登录页面。 [图片] 用户一进入小程序后页面内容不显示,需用户提供手机号后才能正常访问。 [图片] 2、小程序内浏览时要收集用户手机号 [图片] 违规案例 用户浏览小程序商品页面,提示需绑定手机号码才能查看商品详情内容。 [图片] 小程序内点击浏览各个版块,用户需提供手机号后才能浏览版块详情。 [图片] 小程序点击浏览商品信息,需输入手机号获取验证码,登录后才能浏览。 [图片] 3、小程序内部分操作强制或诱导收集用户手机号 3.1 小程序到店点餐/取餐业务场景下强制收集用户手机号 [图片] 违规案例 餐饮类小程序,需绑定手机号入会才能获得下单自提/堂食等服务。 [图片] 3.2 小程序停车缴费场景下强制收集用户手机号 [图片] 违规案例 小程序在停车缴费相关服务过程中需提供手机号才可进行查看缴费。 [图片] 3.3 小程序页面分享场景下强制收集用户手机号 [图片] 违规案例 用户浏览商品页面时,点击分享按钮需要提供手机号码,才能继续操作。 [图片] 3.4 小程序通过利益诱导的方式收集用户手机号 [图片] 违规案例 小程序通过获得积分奖励的方式,提示用户授权手机号。 [图片] 小程序日常运营过程中,如何避免此类问题呢? 为了保护用户的个人信息,并确保小程序良好的使用体验,平台整理了调整指引供开发者参考: 1、用户一进入小程序,应当可以体验浏览小程序业务内容,不应该在未展示任何信息的情况下,通过弹窗或跳转的页面来收集用户手机号; 2、用户进入小程序以后,应该可以正常浏览小程序页面或版块,不应要求用户提供手机号才能浏览,应保证用户正常的浏览体验; 3、在部分业务使用场景,手机号不是提供服务所必需时,应当让用户正常操作,不强制收集用户手机号,如到店点餐/取餐、停车缴费、页面分享等; 4、在小程序业务使用场景中,手机号为提供服务所必需的,应明确向用户说明收集的必要原因,并提供用户隐私协议由用户主动同意; 5、 小程序业务场景中,手机号为提供服务所必需的,而用户可能会拒绝提供,应当为用户提供显著拒绝操作方式,且在用户拒绝后,不得频繁向用户询问、要求提供手机号。 平台收集了部分开发者反馈的问题,相关评估情况也供参考 1、小程序到店点餐场景不能强制收集用户手机号,餐饮外卖场景是否也不能让用户提供手机号? 不是的,餐饮外卖需要联系点外卖的用户,属于合理收集使用场景。 ①在需要用户手机号才能正常提供服务的必要情况下,仍然可以正常指引用户授权或填写手机号; ②而不需要手机号也能正常提供服务的非必要情况下,不得强制用户授权或填写手机号。比如到店点餐类场景,用户需要到店,无需手机号进行联系,应当可以正常点单。 2、小程序未使用手机号快速验证组件,采取用户手动输入的方式进行收集,是否可以? 无论是使用手机号快速验证组件、还是让用户手动输入,涉及在非必要场景下去收集的,都涉及违规收集用户个人信息、并且同样影响正常的用户体验,都应当进行调整。 3、小程序属于企业等内部职工使用,页面信息不便对外展示,应当如何调整? ①在可能的情况下,建议开发者放开可浏览的版块或页面信息,给予用户一定的使用预期; ②如果确因企业内部等原因无法提供对外可公开浏览的内容,应该在页面清晰标注该小程序使用场景及使用人群; ③如果不是小程序的使用人群,在用户验证手机号时需要对用户有明确的拒绝提示,且用户应该可以退出当前流程; ④在提审代码发布更新时,应提供使用说明材料,包括但不限于小程序服务内容录屏、页面截图、体验账号等,以便核实验证。 合理收集与使用用户手机号码,是保护用户隐私和用户体验的重点之一,也是所有开发者需要履行的责任。 平台日常核查持续进行中,如发现小程序通过限制用户操作的方式,在不必要的场景下收集用户手机号,平台将提醒开发者自查调整,如到期未调整,将根据违规程度限制相关能力。 希望开发者们参考以上内容及时调整,共同维护良好的用户使用体验。
05-20 - 微信支付特约商户怎么跟服务商解绑?
微信支付特约商户怎么跟服务商解绑? 因为现在需要更换另一个服务商,但是跟旧的服务商冲突 该怎么办?
2022-11-25 - 微信支付中的特约商户怎么取消?
微信支付中特约商户已经签约完成,怎么讲该特约商户与服务商进行解绑?或者怎么将该特约商户进行注销?
2020-08-12 - 服务商模式申请的特约商户能不能解除和服务商的绑定关系独立开发?
服务商模式申请的特约商户能不能解除和服务商的绑定关系独立开发? 1. 服务商帮助商家申请特约商户号 2. 服务商申请商家支付授权后帮助商家完成小程序微信支付 请问:如果商家解除和服务商的支付授权后,能否通过直连模式重新开发完成原有小程序的微信支付?
2021-09-28 - api.mch.weixin.qq.com 解析的ipv6 ping不通?
[图片] 用的python后端,minibear大佬开源的wechatpay包,偶尔会出现下单超时的情况,排查出来是域名解析的问题。 解析的这几个ip,ipv4的可以ping通,但是ipv6的ping不通。现在发现:每次出故障 ping api.mch.weixin.qq.com都是解析成ipv6的地址来ping,一直丢包;无故障的时候是解析成ipv4的,而ping ipv6显示如下:[图片] 所以ipv6就是一直用不了,是不是能固定不让它解析成ipv6就行了。请问该怎么做?
06-13 - 企业微信自建小程序应用踩坑实践
最近开发了一个小程序接入企业微信的需求,企业微信的权限限制诸多,网上的完整示例又少之又少,因此踩了比较多坑,与大家分享。 坑1: 开发调试 在开发者工具中如果直接使用微信小程序模式,调用wx.qy接口会提示不存在,需要安装企业微信小程序模拟器插件 添加企业微信模拟器插件 [图片] [图片] 切换企业微信小程序模式 [图片] 注意:某些api模拟器也不支持,需要真机调试 打开多场景调试 用企业微信扫小程序开发码,开启多场景调试。开启之后,在附件栏、工具栏、会话、工作台等场景打开此小程序时,都将使用本次扫码的开发版小程序来运行。 [图片] 这个功能很好的解决了从其他入口无法进入开发版的问题,但开发调试的过程还是比较麻烦的 坑2: 企业微信端小程序登录流程和微信端小程序登录不同 一开始是想调用wx.qy.selectExternalContact获取外部联系人信息,本以为有现成的api可以解决很简单,但直接调用一直调不通,提示session过期,才看到这个api的调用前提: 调用前提: 必须先调用过wx.qy.login,且session_key未过期,开发者可调用checkSession 检查当前登录态 当前成员必须在应用的可见范围 [代码]wx.qy.login[代码]与[代码]wx.login[代码]的用法类似,但企微端的登录和微信端的登录是两套不通的流程 微信端小程序登录 [图片] 企微端小程序登录 [图片] 注: 企业微信端也是支持wx.login的,如只需使用wx.xx(微信端api)不需要走企业微信登录。 如需获取到当前企业微信用户在当前企业的员工身份信息、联系人信息等企业微信相关用户信息,则必须走企业微信登录流程。 坑3: access_token必须是与小程序关联的企业微信应用secret所获得 在调用jscode2session接口走登录流程的时候,一直提示没有权限,看了下接口的权限说明: 权限说明: access_token必须是与小程序关联的企业微信应用secret所获得。 如果没有开发过企业微信应用,可能会对这句话费解,这个概念如果没有从头看起很容易混淆。 一开始用的是企业微信本身的secrect不行,后来在论坛上查询相关帖子说是要用小程序的secrect,但要注意这里指的secrect并不是小程序本身的AppSecrect,而是在企业微信后台创建的关联了小程序的应用的secrect,可以在企业微信后台应用管理中点击查看,发送Secret到企业微信中查看。 secret是企业应用里面用于保障数据安全的“钥匙”,每一个应用都有一个独立的访问密钥。分为以下几种: 自建应用secret 基础应用secret 通讯录管理secret 外部联系人管理secret 建议开发前先阅读文档了解清楚这些基本概念:https://developer.work.weixin.qq.com/document/path/90665 坑4: 客户联系API权限 如果在调用客户管理相关API提示没有权限的话,先来看一下接口的权限说明: 权限说明: 企业需要使用客户联系secret或配置到可调用应用列表中的自建应用secret所获取的accesstoken来调用 第三方应用需具有“企业客户权限->客户基础信息”权限 第三方/自建应用只能获取到可见范围内的配置了客户联系功能的成员。 可以从以下方面排查: 获取accesstoken的secrect有没有用对 一种方法是可以直接使用客户联系secrect: [图片] 如果使用的是自建应用的secrect,还需要把当前应用配置到客户联系可调用列表: [图片] 获取客户联系的成员是否配置应用可见范围 [图片] 是否配置了客户联系功能权限: [图片] 可以感受到企业微信为了保护客户的隐私信息,做了很多的权限控制,有一套完善的权限体系: 应用可见范围 [图片] 应用调用 OpenApi 权限 大致的调用流程如下图所示: [图片] 坑5: 企业可信ip 当已经用正确的secrect获取到accesstoken后,接口又提示了报错: [代码]{ "errcode": 60020, "errmsg": "not allow to access from your ip, hint: [xxx], from ip: xx.xx.xx.xx,... } [代码] 需要在企业微信后台配置应用的可信ip,只有配置了可信ip,才能够调到企业微信的接口。 而在配置企业可信ip前,必须要先设置可信域名 或 设置接受消息服务器URL (即使你并不需要用到…) [图片] 设置可信域名需完成域名归属认证,即在域名根目录上传小程序校验文件 [图片] 配置完可信ip之后,终于能调通了。。。 总结 开始企业微信开发前先阅读官方文档开发指南,了解清楚基本概念、开发流程、配置方法,也便于后续阅读接口文档相关术语的理解。 开发者工具需安装企微插件用于调试部分企微api,对于工具无法模拟的场景需要真机开启多场景调试。 调用企业微信相关接口前,需仔细阅读接口的调用前提和权限说明。 调用openApi时,需要走企业微信内小程序登录流程、配置相关权限、配置企业可信ip。 不知道为啥接口调用失败可以使用错误码查询工具,在接口请求url里加上debug=1参数之后从接口返回的errmsg复制出hint值查询。
2023-09-25 - 手把手教你备案微信小程序(非个人主体备案)
备案材料准备 在提交备案前,请务必提前准备好备案所需材料,以免由于材料更新问题,导致备案需延期提交。下面将会带大家详细了解备案材料的要求,这样后续在提交时就能避免因为材料问题而导致失败。 材料示例及注意事项 [图片] 注:所有上传材料大小应不超过2M,分辨率不低于720* 1280 ,仅支持JPG、JPEG、PNG 格式 若想查看更多小程序备案材料示例,详情可查看文档 备案信息填写 备案材料准备好后,就可以前往【小程序管理后台-设置-小程序备案】提交备案申请了。下面将会详细教大家如何进行备案信息的填写,一共分为五个部分:主办单位信息填写、主体负责人信息填写、小程序信息填写、小程序管理员信息填写和上传其他信息材料。 1.主办单位信息填写 [图片] [图片] 填写说明 常见报错/问题 解决方案 ①选择地区:选择与证件地址相一致的省市区信息 该主体已在XX完成备案,请修改备案省份或注销备案主体重新备案 请核实该主体是否有在其他省份备案过,由于同主体在所有平台的备案省份必须保持一致,需修改备案省份或注销备案主体重新备案 ②主办者性质:默认与小程序主体认证信息相一致 / / ③证件类型:默认与小程序主体认证信息相一致 / / ④上传证件:按要求提供最新版证件 营业执照有效期不足 请联系工商部门更新证件有效期 ⑤企业名称:填写证件相对应名称信息 主办者与小程序主体不一致 请核实填写企业名称是否与小程序主体名称、上传营业执照名称相一致 ⑤企业名称:填写证件相对应名称信息 营业执照名称为空或者* 号 请联系工商部门更新企业名称信息 ⑥证件住所:填写证件相对应经营场所信息 【主体证件住所】工商数据对比不通过 请参考文档进行排查 ⑦证件号码:填写证件相对应统一社会信用代码信息 未查询到企业信息,请检查主体证件号是否有误 请核实填写的是否为统一社会信用代码,若无,请联系工商部门更新证件信息,不能填写其他如工商注册号等 ⑧通讯地址:填写当前主体所在的实际通讯地址(无需填写省、市、区) 通讯地址未能精确到门牌号 若无具体门牌号,需要在备注中说明情况 ⑨备注(选填):针对主体信息进行补充说明,如有可填写 / / 注:若为新建企业或近期有做信息变更,可能会存在企业工商数据更新延迟的情况,建议过段时间(5~15个工作日)再进行重试,否则无法正常发起验证流程。 2.主体负责人信息填写 [图片] 填写说明 常见报错/问题 解决方案 ①证件类型:选择主体负责人证件类型信息 / / ②上传证件:按要求提供最新版证件 / / ③负责人名称:通过上传证件自动识别,有误可自行修改 主体负责人与法定代表人不一致,且备案所在地不支持法定代表人授权 请核实填写的主体负责人是否为法人,需与营业执照信息一致,由于所属地区不支持授权,只能填写法人信息 ④负责人证件号:通过上传证件自动识别,有误可自行修改 【主体负责人证件号码】企业工商四要素核验失败 请核实填写的主体负责人名称、证件号信息是否正确 ⑤证件有效期:通过上传证件自动识别,有误可自行修改 / / ⑥手机号:主体负责人手机号码 【主体负责人手机号码】不允许被多人使用 请核实填写的手机号是否为其他人的信息,仅在同一主体下,同一个人允许为多个小程序备案,可提交一致的手机号、应急手机号及邮箱信息,否则不能出现个人信息混用的情况 ⑦验证码:主体负责人手机号码收到的对应验证码 验证码不正确 请核实验证码是否已失效,验证码有效期为10分钟 ⑧应急手机号:主体负责人的应急电话 【主体负责人应急联系方式】不允许被多人使用 请核实填写的应急手机号是否为其他人的信息,仅在同一主体下,同一个人允许为多个小程序备案,可提交一致的手机号、应急手机号及邮箱信息,否则不能出现个人信息混用的情况 ⑨邮箱地址:主体负责人的电子邮箱 / / 3.小程序信息填写 [图片] 填写说明 常见报错/问题 解决方案 ①服务内容标识:根据小程序实际运营内容选择合适的即可 小程序服务内容类型数目不能超过5个 服务内容标识是通信管局对各个行业的分类,平台部分行业类目与管局行业类目名称不完全不一致,建议根据备案小程序实际运营内容尽可能选择对应的服务内容标识,最多选择5个。 ②互联网信息服务前置审批项:根据小程序实际运营内容判断是否需要进行前置审批 如从事XXX业务,请上传前置审批文件 小程序实际运营内容涉及前置审批项,需上传对应的审批文件 ②互联网信息服务前置审批项:根据小程序实际运营内容判断是否需要进行前置审批 前置审批项必须选择“以上都不涉及” 小程序实际运营内容不涉及前置审批项,需要选择"以上都不涉及” ③备注(必填):具体描述小程序实际经营内容,主要服务内容 请在小程序备注按格式填写 请核实是否有根据备注格式进行填写,仅自行补充带星号内容即可。 4.小程序管理员信息填写 [图片] 填写说明 常见报错/问题 解决方案 ①证件类型:选择小程序负责人证件类型信息(目前仅支持身份证) / / ②上传证件:按要求提供最新版证件(目前仅支持身份证) / / ③负责人名称:通过上传证件自动识别,有误可自行修改 【小程序负责人姓名】负责人与小程序管理员不一致 请核实小程序是否未完善管理员实名信息,需参考指引文档进行补充 ④负责人证件号:通过上传证件自动识别,有误可自行修改 【小程序负责人证件号码】负责人与小程序管理员不一致 请核实小程序是否未完善管理员实名信息,需参考指引文档进行补充 ⑤证件有效期:通过上传证件自动识别,有误可自行修改 / / ⑥手机号:小程序负责人手机号码 【小程序负责人手机号码】不允许被多人使用 请核实填写的手机号是否为其他人的信息,仅在同一主体下,同一个人允许为多个小程序备案,可提交一致的手机号、应急手机号及邮箱信息,否则不能出现个人信息混用的情况 ⑦验证码:小程序负责人手机号码收到的对应验证码 验证码不正确 请核实验证码是否已失效,验证码有效期为10分钟 ⑧应急手机号:小程序负责人的应急电话 【小程序负责人应急联系方式】不允许被多人使用 请核实填写的应急手机号是否为其他人的信息,仅在同一主体下,同一个人允许为多个小程序备案,可提交一致的手机号、应急手机号及邮箱信息,否则不能出现个人信息混用的情况 ⑨邮箱地址:小程序负责人的电子邮箱 / / ⑩负责人人脸核身:小程序管理员(小程序负责人)需使用微信APP扫码,完成人脸核身 当前场景仅支持居民身份证 核实小程序管理员证件是否为大陆居民身份证,目前港澳台管理员无法进行人脸核身,建议先更换小程序管理员为中国大陆地区的人员,作为备案小程序负责人。 5.上传其他信息材料 [图片] 填写说明 常见报错/问题 解决方案 互联网信息服务承诺书:1. 广东地区:下载页面提供的模版文件,填写完整后上传提交;2. 非广东地区:点击阅读确认后提交 承诺书需加盖公章,但个体户没有公章 若个体工商户无公章,需要主体负责人手写日期+签名+盖手印+身份证号码,同时请在主体备注处备注“个体工商户无公章”。注:江苏、宁夏、福建地区,须刻章后提交备案,不接受负责人手印。 以上信息都填写完毕,就可点击提交,后续的备案审核流程可参考: [图片] 如有其他相关疑问,欢迎随时参与社区讨论。
05-28 - 微信商户平台出现基本账户和运营账户怎么区分和互转呢?
基本账户: 基本账户是您默认资金账户。初始状态下,可承载交易收入,手续费,红包/企业付款/代金券等运营支出款。(您可以选择开通“运营账户”,将红包/企业付款/代金券等运营支出款放在“运营账户”单独管理)。 运营账户: 运营账户是一个可选账户。若您选择开通此账户,则现金红包/企业付款/代金券等运营支出金额将从该账户扣除;若不开通,则上述业务支出金额从基本账户扣除。 基本账户和运营账户之间 可以互转。 操作方式: 交易中心->充值/转入->入款账户可选择(运营账户或者基本账户) 转入方式(其它类型) 作者:Ams
2020-12-01 - 小程序注册上限和绑定上限
一、 注册上限 1.同一个邮箱只能申请1个小程序; 2.同一个手机号码可绑定5个小程序; 3.同一身份证注册个人类型小程序数量上限为5个; 4.同一企业、政府、媒体、其他组织资料注册小程序数量上限为50个; 5.同一个体工商户注册小程序数量上限为5个。 二、绑定上限 1.同一身份证可绑定5个小程序; 2.同一手机号可绑定5个小程序; 3.同一微信号可绑定5个小程序。 温馨提示: 1.主体注册次数不占公众号次数限制; 2.个人类型主体身份证与管理员或项目成员绑定的微信号独立计算(不与其他类型重合)。 关联问题: 1.如何查询身份证、手机、微信号、企业绑定的小程序? 查看身份证、手机、微信号、企业绑定的小程序,请关注微信公众号“公众平台安全助手”(mphelper),通过公众号底部菜单“绑定查询”进行查看。 2.如何查询主体绑定的小程序? 登录该主体的任意一个小程序,在“设置-基本信息-主体信息-详情-主体绑定账号-查询”查询该主体绑定的账号信息。
06-11 - 微信支付成功失败的记录在哪里看
我在平台配置了回调地址,但是支付成功之后没有看到回调的日志,平台回调有记录吗?在哪里可以看
07-30 - 微信开放平台新服务器证书兼容性验证指引
1. 背景介绍 微信开放平台使用 HTTPS 协议来确保通信的安全性。在开发者调用微信开放平台 API 的过程中,需要在其操作系统或执行环境(如 JRE 等)中部署权威机构的根证书,以验证微信开放平台服务器证书的真实性,进而验证微信服务器及其域名的真实性。 受 Mozilla 信任库的最新根证书信任策略影响(全球所有 CA 的可信根证书需每15年更换一次,超过此时间的可信根将逐渐失去 Mozilla 的信任),DigiCert 将逐步停止使用旧的根证书体系(G1)来颁发 TLS/SSL 证书,转而采用新的根证书体系(G2)。 当前微信开放平台服务器证书的颁发根 CA 是 Digicert Global Root CA (G1),微信开放平台计划于 2024年10月22日 0:00 开始,逐步启用采用 DigiCert Global Root G2 根 CA 颁发的新服务器证书,开发者应仔细阅读本指引,并完成相关验证和修正,以免影响正常服务。 注意: 1)所有通过 api.weixin.qq.com 调用的 API 都可能受影响,开发者需要在 2024年10月22日 0:00 之前参考指引完成相关验证和修正。 2)大多数操作系统和执行环境都默认内置了 DigiCert Global Root G2 根证书,因此大多数系统无需改动即可兼容新服务器证书。但如果开发者的服务器未内置 G2 根证书,或程序代码指定使用旧的 G1 根证书,则会受到影响,将出现服务中断的问题。我们建议及时移除指定旧根证书代码,采用系统自带的信任库进行验证,同时确保系统内置有 DigiCert Global Root G2 根证书。 3)新的 G2 根体系采用更高安全性的 SHA256 签名算法,且依然兼容当前主流的操作系统和移动设备,主流环境兼容情况如下: [图片] 对应的根证书文件请参考: Baltimore CyberTrust Root:Download PEM、Download DER/CET Digicert Global Root CA:Download PEM、 Download DER/CRT Digicert Global Root G2:Download PEM、 Download DER/CRT 2. 开发须知 开发者需确认与微信开放平台对接的服务器系统可兼容新的服务器证书,并参考“验证指引”章节的方法,在 2024年10月22日 0:00 之前完成验证: • 如果验证结果正常,开发者不需要做其它任何事情 • 如果验证结果异常,开发者需要修改相关的系统实现或配置,且需最晚于 2024年10月22日 0:00 之前前完成修正,否则开发者的业务系统与微信开放平台系统之间将不能正常进行 HTTPS 通讯,将影响业务正常运行。 开发者在验证和修正过程中遇到问题,可在小程序专区发帖咨询,我们会有专人进行解答回复。 3. 验证指引 验证方式:绑定 host,请求已部署新证书的微信开放平台服务器 开发者可通过修改操作系统的 hosts 文件来绑定 IP,例如,可在 hosts 文件中新增一行如下内容,实现将域名"api.weixin.qq.com"绑定到新证书环境: 81.69.216.137 api.weixin.qq.com 在 Linux 系统下,hosts文件的完整路径为"/etc/hosts",在Windows系统下,hosts 文件的完整路径为"C:\Windows\System32\drivers\etc\hosts"。 注意: 1、host 环境可以访问的接口与正式环境完全一致,且真实生效,被视为生产正式业务。在验证之前,请充分评估对贵司业务系统以及业务的影响 2、验证完成后,请及时恢复服务器上的 host 配置,微信开放平台服务器证书更新完成后,此处使用的 IP 会被关停。 3、需要用和生产环境相同的操作系统、执行环境、开发语言及程序逻辑进行验证。使用 curl 等命令行工具验证成功,并不代表你的系统支持了新的服务器证书。 4、逐一验证所有正在调用的微信开放平台接口,如果均能正常使用,说明系统支持微信开放平台新的服务器证书。反之,则需要根据修正指引排查问题并修正。 4. 修正指引 大部分情况下,验证失败是以下两种情况导致的: 情况一:程序中指定了根证书,但是指定的根证书中仅包含了旧的 G1 根证书。 情况二:服务器上没有部署新的 G2 根证书。 可通过以下两个方案修正: 方案一:删除指定根证书的代码。当程序中不指定根证书时,会使用系统自带的根证书。绝大部分系统中已内置了新的 G2 根证书,所以删除指定根证书的代码,不会影响到你的现有业务。 方案二:更新根证书。往 truststore 或者根证书信任文件中追加新的 G2 根证书(注意:追加新的根证书时,需要保留老的G1根证书)。 推荐使用“方案一”来修正,该方案的兼容性更好。原因是:新的 G2 根证书将于 2029年4月15日不再被 Mozilla 信任,到时候同样要更换新的根证书。使用方案一修复,你的系统中很可能已内置了后续需更换使用的根证书,从而不受影响。如果使用方案二进行修复,在 2029年4月15日仍可能需安装新的根证书。 下面介绍各种开发语言可能碰到的问题及解决方法: JAVA常见错误 javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 可能原因: 代码中设置了 javax.net.ssl.trustStore 。 可以在代码中搜索关键字“trustStore” 或者 “TrustManager” 来确认 解决方法: 方法一、删除掉指定[代码]javax.net.ssl.trustStore[代码]的代码 方法二、安装新的根证书, 往指定的trustStore 中添加新的根证书。操作命令:keytool -importcert -keystore cacerts -storepass changeit -noprompt -file ./DigiCertGlobalRootG2.crt -alias digicertglobalrootg2 C++常见错误 cURL error 60: SSL certificate: unable to get local issuer certificate. CURLE_SSL_CACERT (60) peer certificate cannot be authenticated with known CA certificates. 可能原因: 代码中设置了[代码]CURLOPT_CAINFO[代码]。 可以在代码中搜索关键字“CURLOPT_CAINFO”来确认 解决方法: 方法一、删除掉[代码]curl_easy_setopt(pCurl,CURLOPT_CAINFO,"./rootca.pem")[代码]相关的代码 方法二、更新rootca.pem。用libcurl官网最新的 https://curl.haxx.se/ca/cacert.pem 替换即可 PHP常见错误 cURL error 60: SSL certificate: unable to get local issuer certificate. CURLE_SSL_CACERT (60) peer certificate cannot be authenticated with known CA certificates. 可能原因: 使用libcurl时设置了[代码]CURLOPT_CAINFO[代码]。可以在代码中搜索关键字“CURLOPT_CAINFO”来确认。 解决方法: 方法一、删除掉类似[代码]curl_setopt(pCurl, CURLOPT_CAINFO, "./rootca.pem");[代码]的代码 方法二、更新rootca.pem。用libcurl官网最新的https://curl.haxx.se/ca/cacert.pem 替换即可 C#常见错误 RemoteCertificateValidationCallback 设置的回调函数返回 false 可能原因: 操作系统中没有新的根CA 解决方法: 安装新的根证书 Python常见错误 SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581) 可能原因: 代码中用 verify 指定了根证书文件。 可以在代码中搜索关键字“verify”来确认。类似的代码如: [代码]response = requests.post( "https://api.mch.weixin.qq.com/secapi/pay/refund", verify="./rootca.pem", …… ); [代码] 解决方法: 方法一、删除verify参数 方法二、更新[代码]rootca.pem[代码]。用libcurl官网最新的https://curl.haxx.se/ca/cacert.pem 替换即可 go常见错误 x509: certificate signed by unknown authority . 可能原因: 发起https时, 用 RootCAs指定了根证书文件。 可以在代码中搜索关键字 “RootCAs” 来确认。类似的代码如: [代码]roots.AppendCertsFromPEM([]byte(rootPEM)) tr := &http.Transport{ TLSClientConfig: &tls.Config{RootCAs: roots}, } client := &http.Client{Transport: tr} [代码] 解决方法: 方法一、删除配置项RootCAs 方法二、更新[代码]rootca.pem[代码]。用libcurl官网最新的https://curl.haxx.se/ca/cacert.pem 替换即可 Ruby常见错误 SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 可能原因: 发起https时, 用[代码]ssl_ca_file[代码]或者[代码]cert_store[代码]指定了根证书文件。 可以在代码中搜索关键字“ssl_ca_file” 或者 “cert_store” 来确认。类似的代码如: [代码] "https://api.mch.weixin.qq.com/secapi/pay/refund", :ssl_client_cert => OpenSSL::X509::Certificate.new(File.read("./apiclient_cert.pem ")), :ssl_client_key => OpenSSL::PKey::RSA.new(File.read("./apiclient_key.pem ")), :ssl_ca_file => "./rootca.pem", :verify_ssl=>OpenSSL::SSL::VERIFY_PEER).post(data); [代码] 或者 [代码]sock.cert_store.add_file('/usr/lib/ssl/certs/weixin/rootca.pem') [代码] 解决方法: 方法一、删除 [代码]ssl_ca_file[代码]及 cert_store 指定的参数 方法二、更新rootca.pem。用libcurl官网最新的https://curl.haxx.se/ca/cacert.pem 替换即可 NodeJs常见错误 Caught exception: Error: CERT_UNTRUSTED 可能原因: 代码中用 ca 指定了根证书文件。 可以在代码中搜索关键字“ca” 或者 “rootca” 来确认。类似的代码如: [代码] hostname: api.mch.weixin.qq.com ', pfx: await readFile('./apiclient_cert.p12'), ca: await readFile('./rootca.pem'), }; const req = https.request(options, (res) => { …… [代码] 解决方法: 方法一、删除ca指定的参数 方法二、更新[代码]rootca.pem[代码]。用libcurl官网最新的https://curl.haxx.se/ca/cacert.pem 替换即可 其它语言请参考对应的TLS/SSL库相关手册。 5. 常见问题 Q1:什么是服务器证书? A:服务器证书通常又叫“SSL 证书”、“HTTPS 证书”,它由权威 CA 机构颁发,用于对网站进行身份鉴定,并使客户端与网站之间通过 TLS/SSL 协议建立起安全传输通道。微信开放平台的服务器证书是由权威机构 DigiCert 颁发,开发者调用微信开放平台 API 时,能通过该证书来认证微信服务器身份。 Q2:什么是根证书? A:根证书是权威 CA 机构给自己颁发的证书,是信任链的起始点,是证书颁发机构(CA)与用户建立信任关系的基础。操作系统、浏览器、TLS/SSL 开发库通常随软件发行包预置其信任的权威机构的根证书。 Q3:微信开放平台为什么要更换服务器证书? A:根证书存在有效期,根证书到期后无法继续被用来校验服务器证书。 因此,微信开放平台向权威机构(CA)申请了新的服务器证书。避免在老的根证书过期后,开发者调用微信开放平台 API 时出现问题。 Q4:微信开放平台更换服务器证书,需要开发者配合做哪些事情? 一、验证你的系统是否兼容微信开放平台新的服务器证书。 二、若支持的话,不需要做任何操作。若不支持,需要参考修正指引排查原因并修正。 注意: a)开发者按指引进行验证或安装新的根证书, 不会产生任何费用。 b)开发者正在使用的其它 HTTPS 证书不需要更换或者升级。 Q5:开发者如何核实服务器上是否已内置了G2根证书? A: 以 Linux 系统为例。Linux 系统信任根证书库的保存位置因发行版本不同而有所差异:Debian/Ubuntu:/etc/ssl/certs/ca-certificates.crt CentOS/RHEL/Fedora/TencentOS:/etc/pki/tls/certs/ca-bundle.crt 开发者可以使用以下命令来核实系统是否已内置了G2根证书 [代码]grep "DigiCert Global Root" /etc/pki/tls/certs/ca-bundle.crt # DigiCert Global Root CA # DigiCert Global Root G2 [代码] 备注:示例显示系统已内置了G1和G2根证书 Q6:微信开放平台更换证书前,可以提前安装根 CA 证书吗? A: 必须提前安装,且建议在 2024年10月22日 0:00 之前提前安装。因为从 2024年10月22日 0:00开始,微信开放平台会在生产环境逐步灰度启用新服务器证书,以校验开发者的系统是否兼容新证书。微信开放平台在更换新证书的过程中,会同时使用新老两个服务器证书,开发者要能正常处理这种情况。因此,开发者的服务器上需要包含新老两个根证书。 Q7:开发者需在什么时候完成验证和修正?不验证会有什么影响? A: 开发者应在 2024年10月22日 0:00 之前完成验证和修正。如果开发者侧系统的实现方式已能兼容新的服务器证书,那么不会影响业务;如果开发者侧系统的实现方式不能兼容新的服务器证书,那么会导致开发者的系统与微信开放平台的系统不能正常交互,影响业务。 Q8:如果开发者无法按时完成兼容性修正,在微信开放平台灰度新证书时遇到异常应如何处理? A: 如果开发者的系统经验证是不能兼容新证书的,开发者应在 2024年10月22日 0:00 之前完成修正。如果无法按时完成修正,我们届时可提供仍使用旧证书的临时环境,开发者可通过 host 绑定 IP 的方式使用,以临时规避证书更换产生的影响。请务必在2024年10月22日 0:00 之前完成系统修正,并取消绑定临时环境IP,恢复以正常的方式对接微信开放平台的生产正式环境。 6. 特别提醒 1)为提前发现开发者“是否会受到证书更换的影响?”“有没有升级完根证书?”,微信开放平台将于 2024年10月22日 0:00 开始,把开发者的部分请求转发到部署了新证书的服务器上,并逐步提升灰度比例。当开发者不支持新的服务器证书时,会出现 SSL 相关的错误,通常情况下重试即可恢复。 2)根证书升级仅跟服务器和应用程序相关,与 APPID 没关系。只要在同一台服务器升级完成后,该服务器上使用的所有 APPID 都可以正常使用的。 3)如果你是通过代理服务器向微信开放平台发起请求,那么需要修改代理服务器的配置。 7. 联系我们 如果开发者在验证或者修正问题的过程中遇到困难,可在小程序专区发帖咨询,我们会有专人进行解答回复。 8. 附录 DigiCert 原文公告 :DigiCert root and intermediate CA certificate updates 2023
08-06 - 微信支付新服务器证书兼容性验证指引
1. 背景介绍 微信支付使用HTTPS来保证通信安全,商户与微信支付服务器通信前,要在客户端的操作系统或者执行环境(如JRE等)中部署权威机构的根证书。 商户调用微信支付API的过程中,会用根证书来校验微信支付服务器及域名的真实性。 受Mozilla信任库的根证书最新信任策略(全球所有 CA 的可信根证书生成后最少 15 年更换一次,超过时间的可信根会逐渐被 Mozilla 停止信任)影响,DigiCert 将逐步停用旧根体系(G1)颁发 TLS/SSL 证书,并开始使用新根体系(G2)颁发 TLS/SSL 证书。 当前微信支付服务器证书的颁发根CA是Digicert Global Root CA (G1),微信支付计划于2024年8月5日0:00开始,逐步启用采用DigiCert Global Root G2根CA颁发的新服务器证书,商户的技术开发人员应仔细阅读本指引,并完成相关验证和修正,以免影响正常交易。 注意: 与微信支付系统直接对接(自行开发、外包开发)通信的商户可能受影响,商户需在2024年8月5日0:00之前参考指引完成相关验证和修正。服务商下属特约商户等间接对接微信支付的商户不受影响; 大多数操作系统和执行环境都默认内置了DigiCert Global Root G2根证书,因此大多数系统无需改动即可兼容新服务器证书。但如果商户的服务器/终端设备未内置G2根证书,或程序代码指定使用旧的G1根证书,则会受到影响,将出现服务中断的问题。请及时移除指定旧根证书操作,改用系统自带的信任库进行验证,并确保有DigiCert Global Root G2根证书; 新的 G2 根体系采用更高安全性的 SHA256 签名算法,且依然兼容当前主流的操作系统和移动设备,主流环境兼容情况如下: [图片] 对应的根证书文件请参考: Baltimore CyberTrust Root:Download PEM、Download DER/CRT Digicert Global Root CA:Download PEM 、Download DER/CRT Digicert Global Root G2:Download PEM、Download DER/CRT 2. 商户须知 商户需确认与微信支付对接的系统或终端设备可兼容新的服务器证书,并参考“验证指引”章节的方法,在2024年8月5日0:00日之前完成验证: 如果验证结果正常,商户不需要做其他任何事情 如果验证结果异常,商户需要修改相关的系统实现或配置,且需最晚于2024年8月5日0:00之前完成修正,否则商户的业务系统与微信支付系统之间将不能正常进行HTTPS通讯,将影响业务正常运行。 商户在验证和修正过程中遇到问题,可在证书与密钥专区发帖咨询,我们会有专人进行解答回复。 3. 验证指引 验证方式:绑定host,请求已部署新证书的微信支付服务器 商户可通过修改操作系统的hosts文件来绑定IP,例如,可在hosts文件中新增一行如下内容,实现将域名"api.mch.weixin.qq.com"绑定到新证书环境: 43.142.224.50 api.mch.weixin.qq.com 在linux系统下,hosts文件的完整路径为"/etc/hosts",在Windows系统下,hosts文件的完整路径为"C:\Windows\System32\drivers\etc\hosts"。 商户应根据当前实际对接使用的域名来修改hosts文件配置,已部署新服务器证书的验证环境host和IP对应关系如下: [图片] 注意: 1. host环境可以访问的接口与正式环境完全一致,且真实生效,被视为生产正式业务。在验证之前,请充分评估对贵司业务系统以及业务的影响; 2. 验证完成后,请及时恢复服务器上的host配置,微信支付服务器证书更新完成后,此处使用的IP会被关停; 3. 需要用跟生产环境相同的操作系统、执行环境、开发语言及程序逻辑进行验证。使用curl等命令行工具验证成功,并不代表你的系统支持了新的服务器证书; 4. 逐一验证所有正在使用的微信支付接口,如果均能正常使用,说明你的系统支持微信支付新的服务器证书。反之,则需要根据修正指引排查问题并修正。 4. 修正指引 大部分情况下,验证失败是以下两种情况导致的: 情况一:程序中指定了根证书,但是指定的根证书中仅包含了旧的G1根证书; 情况二:服务器上没有部署新的G2根证书。 可通过以下两个方案修正: 方案一:删除指定根证书的代码。当程序中不指定根证书时,会使用系统自带的根证书。绝大部分系统中已内置了新的G2根证书,所以删除指定根证书的代码,不会影响到你的现有业务 方案二:更新根证书。往truststore或者根证书信任文件中追加新的G2根证书(注意:追加新的根证书时,需要保留老的G1根证书) 推荐使用“方案一”来修正,该方案的兼容性更好。原因是:新的G2根证书将于 2029年4月15日不再被Mozilla信任,到时候同样要更换新的根证书。使用方案一修复的话,你的系统中很可能已内置了后续需更换使用的根证书,从而不受影响。如果使用方案二进行修复的话,在 2029年4月15日仍可能需安装新的根证书。 下面介绍各种开发语言可能碰到的问题及解决方法: JAVA常见错误: [代码]javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target [代码] 可能原因:代码中设置了[代码]javax.net.ssl.trustStore[代码], 可以在代码中搜索关键字[代码]trustStore[代码]或者[代码]TrustManager[代码]来确认。 解决方法: 方法一:删除掉指定[代码]javax.net.ssl.trustStore[代码]的代码 方法二:安装新的根证书, 往指定的[代码]trustStore[代码]中添加新的根证书。操作命令:keytool -importcert -keystore cacerts -storepass changeit -noprompt -file ./DigiCertGlobalRootG2.crt -alias digicertglobalrootg2 C++常见错误: [代码]cURL error 60: SSL certificate: unable to get local issuer certificate. CURLE_SSL_CACERT (60) peer certificate cannot be authenticated with known CA certificates. [代码] 可能原因:代码中设置了[代码]CURLOPT_CAINFO[代码], 可以在代码中搜索关键字[代码]CURLOPT_CAINFO[代码]来确认。 解决方法: 方法一:删除掉[代码]curl_easy_setopt(pCurl,CURLOPT_CAINFO,"./rootca.pem");[代码]相关的代码 方法二:更新rootca.pem,用libcurl官网最新的替换即可 PHP常见错误: [代码]cURL error 60: SSL certificate: unable to get local issuer certificate. CURLE_SSL_CACERT (60) peer certificate cannot be authenticated with known CA certificates. [代码] 可能原因:使用libcurl时设置了[代码]CURLOPT_CAINFO[代码],可以在代码中搜索关键字[代码]CURLOPT_CAINFO[代码]来确认。 解决方法: 方法一:删除掉类似[代码]curl_setopt(pCurl,CURLOPT_CAINFO,"./rootca.pem");[代码]的代码 方法二:更新rootca.pem,用libcurl官网最新的替换即可 C#常见错误: [代码]RemoteCertificateValidationCallback[代码]设置的回调函数返回[代码]false[代码] 可能原因:操作系统中没有新的根CA 解决方法:安装新的根证书 Python常见错误: [代码]SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581) [代码] 可能原因:代码中用[代码]verify[代码]指定了根证书文件,可以在代码中搜索关键字“verify”来确认。类似的代码如: [代码]response = requests.post( "https://api.mch.weixin.qq.com/secapi/pay/refund", verify="./rootca.pem", …… ); [代码] 解决方法: 方法一:删除[代码]verify[代码]参数 方法二:更新rootca.pem,用libcurl官网最新的替换即可 go常见错误: [代码]x509: certificate signed by unknown authority . [代码] 可能原因:发起https时, 用[代码]RootCAs[代码]指定了根证书文件,可以在代码中搜索关键字[代码]RootCAs[代码]来确认。类似的代码如: [代码]roots := x509.NewCertPool() roots.AppendCertsFromPEM([]byte(rootPEM)) tr := &http.Transport{ TLSClientConfig: &tls.Config{RootCAs: roots}, } client := &http.Client{Transport: tr} [代码] 解决方法: 方法一:删除配置项[代码]RootCAs[代码] 方法二:更新rootca.pem,用libcurl官网最新的替换即可 Ruby常见错误: [代码]SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed [代码] 可能原因:发起https时, 用[代码]ssl_ca_file[代码]或者[代码]cert_store[代码]指定了根证书文件,可以在代码中搜索关键字[代码]ssl_ca_file[代码] 或者[代码]cert_store[代码]来确认。类似的代码如: [代码]response = RestClient::Resource.new( "https://api.mch.weixin.qq.com/secapi/pay/refund", :ssl_client_cert => OpenSSL::X509::Certificate.new(File.read("./apiclient_cert.pem ")), :ssl_client_key => OpenSSL::PKey::RSA.new(File.read("./apiclient_key.pem ")), :ssl_ca_file => "./rootca.pem", :verify_ssl=>OpenSSL::SSL::VERIFY_PEER).post(data); [代码] 或者 [代码] sock.cert_store.add_path('/usr/lib/ssl/certs/weixin') sock.cert_store.add_file('/usr/lib/ssl/certs/weixin/rootca.pem') [代码] 解决方法: 方法一:删除[代码]ssl_ca_file[代码]及[代码]cert_store[代码]指定的参数 方法二:更新rootca.pem,用libcurl官网最新的替换即可 NodeJs常见错误: [代码]Caught exception: Error: CERT_UNTRUSTED [代码] 可能原因:代码中用[代码]ca[代码]指定了根证书文件。 可以在代码中搜索关键字[代码]ca[代码]或者[代码]rootca[代码]来确认。类似的代码如: [代码]const options = { hostname: api.mch.weixin.qq.com ', pfx: await readFile('./apiclient_cert.p12'), ca: await readFile('./rootca.pem'), }; const req = https.request(options, (res) => { …… [代码] 解决方法: 方法一:删除[代码]ca[代码]指定的参数 方法二:更新rootca.pem,用libcurl官网最新的替换即可 其它语言请参考对应的TLS/SSL库相关手册。 5. 常见问题 Q1:什么是服务器证书? A:服务器证书通常又叫“SSL证书”、“HTTPS证书”,它由权威CA机构颁发,用于对网站进行身份鉴定,并使客户端与网站之间通过TLS/SSL协议建立起安全传输通道。微信支付的服务器证书是由权威机构DigiCert颁发,商户调用微信支付API时,能通过该证书来认证微信支付的身份。 Q2:什么是根证书? A:根证书是权威CA机构给自己颁发的证书,是信任链的起始点,是证书颁发机构(CA)与用户建立信任关系的基础。操作系统、浏览器、TLS/SSL开发库通常随软件发行包预置其信任的权威机构的根证书。 Q3:根证书和API证书是同一个吗? A:不是,两者没有关系。“根证书”是用来校验微信支付的域名及服务器的真实性, 通常内置在操作系统或者执行环境(如JRE等)中;“API证书”是用来证实商户身份的,通常在调用微信支付v2的出资金类接口(如:退款、企业红包、企业付款等)或v3接口时,才会使用到API证书。 Q4:微信支付为什么要更换服务器证书? A:根证书存在有效期,根证书到期后无法继续被用来校验服务器证书。 因此,微信支付跟权威机构(CA)申请了新的服务器证书。避免在老的根证书过期后,商户调用微信支付API时出现问题。 Q5:微信支付更换服务器证书,需要商户配合做哪些事情? A:需要商户的开发技术人员做以下事情: 验证你的系统是否兼容微信支付新的服务器证书。 若支持的话,不需要做任何操作。若不支持,需要参考修正指引排查原因并修正。 注意: 商户按指引进行验证或安装新的根证书, 不会产生任何费用; 商户平台的API证书也不需要更换; 商户正在使用的其它https证书不需要更换或者升级。 Q6:商户如何核实服务器上是否已内置了G2根证书? A:以Linux系统为例。Linux系统信任根证书库的保存位置因发行版本不同而有所差异:Debian/Ubuntu:/etc/ssl/certs/ca-certificates.crt CentOS/RHEL/Fedora/TencentOS:/etc/pki/tls/certs/ca-bundle.crt 商户可以使用以下命令来核实系统是否已内置了G2根证书: [代码]grep "DigiCert Global Root" /etc/pki/tls/certs/ca-bundle.crt # DigiCert Global Root CA # DigiCert Global Root G2 [代码] 备注:示例显示系统已内置了G1和G2根证书 Q7:微信支付更换证书前,可以提前安装根CA证书吗? A:必须提前安装,且建议在2024年8月5日0:00之前提前安装。因为从2024年8月5日0:00开始,微信支付会在生产环境逐步灰度启用新服务器证书,以校验商户的系统是否兼容新证书。微信支付在更换新证书的过程中,会同时使用新老两个服务器证书,商户要能正常处理这种情况。因此,商户的服务器上需要包含新老两个根证书。 Q8:商户需在什么时候完成验证和修正?不验证会有什么影响? A:商户应在2024年8月5日0:00之前完成验证和修正。如果商户侧系统的实现方式已能兼容新的服务器证书,那么不会影响业务;如果商户侧系统的实现方式不能兼容新的服务器证书,那么会导致商户的系统与微信支付的系统不能正常交互,影响业务。 Q9:如果商户无法按时完成兼容性修正,在微信支付灰度新证书时遇到异常应如何处理? A:如果商户的系统经验证是不能兼容新证书的,商户应在2024年8月5日0:00之前完成修正。如果无法按时完成修正,我们可提供仍使用旧证书的临时环境,商户可通过host绑定IP的方式使用,以临时规避证书更换产生的影响。请务必在2024年11月30日0:00之前完成系统修正,并取消绑定临时环境IP,恢复以正常的方式对接微信支付的生产正式环境。 临时环境host和IP对应关系如下: [图片] 6. 特别提醒 为提前发现商户“是否会受到证书更换的影响?”“有没有升级完根证书?”,微信支付将于2024年8月5日0:00开始,把商户的部分请求转发到部署了新证书的服务器上,并逐步提升灰度比例。当商户不支持新的服务器证书时,会出现SSL相关的错误,通常情况下重试即可恢复; 根证书升级仅跟服务器和应用程序相关,与商户号没关系。只要在同一台服务器升级完成后,该服务器上使用的所有商户号都可以正常使用的; 如果你是通过代理服务器向微信支付发起请求的话,那么需要修改代理服务器的配置。 7. 联系我们 如果商户在验证或者修正问题的过程中遇到困难,可在证书与密钥专区发帖咨询,我们会有专人进行解答回复。 8. 附录 DigiCert 原文公告:DIGICERT ROOT AND INTERMEDIATE CA CERTIFICATE UPDATES 2023
09-03 - “小程序跳转小程序”功能调整及国庆审核安排通知
各位开发者: 大家下午好。 现有“小程序跳转小程序”功能调整及国庆审核安排通知如下,请大家仔细阅读。 一、“小程序跳转小程序”功能调整 我们始终坚信,开放与合作才能创造更大的价值。为此,我们提供了“小程序跳转小程序”的能力,让小程序之间也能信息互通,而不至于成为一个个孤岛。目前,通过绑定至同一个公众号,两个小程序就能便捷地互相访问,方便用户使用更多服务。 随着小程序间连接规模的不断增长,产生了很多优秀的合作场景,但是也陆续暴露出一些问题。 如很多中长尾的小程序缺少合作沟通渠道,而寻求公众号绑定的门槛较高;部分开发者利用“小程序跳转小程序”的便捷性,在打开页面时就自动跳转其他小程序,给用户的正常使用带来困扰;个别开发者利用该功能进行流量互导,影响小程序生态的健康。 为此,我们将尽快弥补该功能设计上的缺陷,调整相关规则。 具体措施如下: 1、需要用户触发跳转 即日起,若用户未点击小程序页面任意位置,则开发者将无法调用 wx.navigateToMiniProgram 接口自动跳转至其他小程序。 2、需要用户确认跳转 在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。该功能预计10月中旬发布。 3、源小程序与目标小程序不再需要绑定至同一个公众号 小程序可以跳转至任意其他小程序,无需任何关联或绑定。 4、每个小程序可跳转的其他小程序数量限制为不超过10个 指定日期后,开发者提交新版小程序代码时,如使用了跳转其他小程序功能,则需要在代码配置中声明将要跳转的小程序名单,限定不超过10个,否则将无法通过审核。该名单可在发布新版时更新,不支持动态修改。对于未更新版本的小程序,届时将由微信统一计数并限制,跳转的不同小程序数量超过10个后,将无法打开更多不同小程序。 本次调整涉及:wx.navigateToMiniProgram 接口及 navigator组件。详细开发文档及开发者工具,将于10月中旬发布,请开发者及时关注并做好适配。 全部策略预计于10月中下旬正式生效。 二、国庆假期审核安排通知 此外,有很多开发者询问小程序审核安排的情况。在国庆放假期间,小程序上架审核及名称、类目审核照常。大家可以正常提审小程序。 微信团队 2018.09.30
2018-09-30 - 开发者扫码登录提示“需要验证小程序密码”
[图片] 解决方案一:跟管理员要密码,登录几次之后就不会验证了 解决方案二:删除该用户开发者权限,再重新添加 解决方案三:先用同事扫码登录,过几天自己就解除了 解决方案四:经常切换登录的浏览器或者平台,也比较容易触发密码拦截 凑字数100字凑字数100字凑字数100字凑字数100字凑字数100字凑字数100字凑字数100字凑字数100字凑字数100字凑字数100字凑字数100字
2023-01-13 - 支付接口返回:特约子商户商户号未授权服务商的产品权限
您好,该问题需要开通授权,具体的授权方法可参考以下步骤: 1、打开微信商户平台 2、点击【产品中心】 3、点击【我授权的产品】查看是否授权 4、未授权的情况请联系服务商去发起授权
2020-12-31 - 一个小程序可以同时实现普通商户号支付 和 服务商支付模式吗?
我们公司的产品是一个平台型产品,这个平台包括自己企业的支付业务,也有其他企业的支付业务, 本想使用服务商+特约商户模式实现,但在入驻特约商户时,发现提示“无法入驻” [图片] 请问,有什么办法可以实现业务需求? 😂 小程序同时绑定普通商户号 和 服务商,能实现这个目的吗?
2021-09-29 - 就医服务类目的《小程序申请者的承诺书》怎么填写?
[图片] 这几个地方分别填什么?
2020-08-24 - 服务商的特约商户的主体能否跟服务商主体相同?
各位好: 请问服务商的特约商户的主体能否跟服务商主体相同?
2019-06-26 - 服务商能否绑定自己相同企业主体的商户号?
目前有这样的需求 小程序用户使用的小程序的企业主体 属于 服务商, 用户在下单购买产品时,资金需要根据业务场景 进入到服务商的企业主体中的微信商户号中 或 或进入到 其他企业主体中的特约商户号中, 服务商模式是否支持以上需求?
2023-01-06 - 可以在自己公司开通的服务商下申请特约商户吗?
如题,我用公司A注册了微信服务商,然后我可以再用A这个资质在我的服务商上申请特约商户吗?
2023-05-24 - 小程序能关联多个服务商么?挂靠子商户号,能发起免密代扣么?
1、小程序能关联多个服务商么? 2、如果小程序没有挂靠服务商,只挂靠子商户号,能发起免密代扣么? 3、商户号A给商户号B发的券,用户拿到券后付款,钱的路径是 用户->商户A->商户B,对么?
2023-09-25 - 如果我已经有一个商户号(直连商户),可以将该商户号作为特约商户号加入到任意的服务商账号下吗
如果可以是所有支持所有的支付吗?
2023-05-11 - 小程序类目简介
为了能让C端用户更快速直接了解小程序的功能及内容,以及基于部分行业的法律法规、平台管理的需要,小程序提供的服务需要与小程序所选的类目一致。 一、类目的选择 (1)类目根据主体的不同,开放范围分为个人、组织、境外。 (2)基于法律法规、平台管理的需要,部分类目需要提交相关的资质并经过审核后,才能申请成功。无资质要求的类目选择后即刻生效。 (3)建议开发者根据小程序自身服务内容对照类目适用范围申请相应的类目,以避免后期提交代码审核/小程序上架后出现类目不符等问题被驳回或按违规处理。 (4)小程序类目对应资质、部分示例模板等内容详情可参考:点击查看。 二、小程序类目配置指引 (1)初始化类目配置介绍: 登录【微信公众平台】 ->【点击立即注册】 ->【选择账号类型:小程序进入注册详情页】 ->【填写账号信息,点击注册】 ->【点击登录邮箱,进行账号激活】 ->【激活后进行用户信息登记】 ->【小程序发布流程】 ->【小程序类目,点击去补充,添加类目】 ->【提交】 [图片] [图片] [图片] [图片] [图片] [图片] [图片] [图片] (2)小程序类目后台配置介绍: 登录【微信公众平台】 ->【小程序发布流程】 ->【小程序类目,点击查看详情】 ->【选择添加服务类目并上传类目资质】 ->【提交】 [图片] [图片] [图片] 三、提前准备小程序类目资质 小程序不同类目对应的资质不同,建议开发者可根据微信开放的“小程序开放的服务类目”表查看对应资质,并提前做好申请相关资质准备,且资质需在有效期内,避免提交类目审核时因资质不符或过期等情况被驳回。 四、类目审核常见问题 1.一个小程序可选 5个 服务类目,且一个月有 5次 修改类目机会; 2.为满足部分开发者业务拓展的诉求,小程序类目已达5个且满足一定条件的账号可以申请【更多类目】。 更多类目申请条件(同时满足): (1)小程序的5个类目中至少有1个资质类目。类目资质可见开放的服务类目表; (2)小程序近7天每天访问人数100人及以上; (3)小程序近3个月无违规行为; (4)本月仍有添加服务类目的次数。 申请方法:登录【微信公众平台小程序】 ->【小程序发布流程】 ->【小程序类目,点击查看详情】 ->【申请更多类目】 ->【提交】 [图片] 3.类目审核时长:一般情况为1 - 7天,如出现审核量大、内容复杂等特殊情况可能延长;如有紧急申请需求,且有加急额度情况下,在选择需提交资质的类目时,可同时勾选【审核加急】按钮,详情参考:【小程序类目审核加急通道开放】 4.部分常见驳回原因: 情况1: 提交资质主体与小程序注册主体不一致 案例:小程序(主体为123)申请【医疗服务-其他私立医疗机构】类目,提交资质主体为345,即为主体不一致 建议:以有资质的主体申请小程序 或 用小程序主体申请相关资质 情况2:提交资质已过期 案例:小程序申请【医疗服务-其他私立医疗机构】类目,提交《医疗执业许可证》,许可有效期为2016.09.12,即为过期 建议:提交许可资质在有效期内且有效期大于3个月及以上 情况3:提交资质模糊 案例:小程序申请【社交-社区/论坛】类目,提交的《非经营性互联网信息服务备案核准》资质模糊,审核无法辨别 建议:请确保提交资质清晰,可供审核辨别 情况4:提交虚假资质 案例:小程序(主体为123)申请【社交-社区/论坛】类目,提交主体一致的《非经营性互联网信息服务备案核准》资质,审核人员经可信渠道核实其资质主体为456,将判断小程序提交虚假资质 建议:以有资质的主体申请小程序 或 用小程序主体申请相关资质 温馨提醒: 审核中如发现小程序提交虚假资质,平台将视违规情节采取限制、甚至停止提供相关功能服务等措施,如涉及违法行为,可能追究其民事、刑事等相关法律责任,请各位开发者勿在“危险”的边缘试探哦~
09-09 - 微信支付是否支持IPv6网络环境访问?
如题,用户在调微信支付的时候如果使用IPv6网络环境是否支持,如果支持的话微信支付获取的用户ip地址如何?
2019-02-14 - 快速生成代码加固配置文件 code_obfuscation_config.json
背景 大概在 2022 年 7 月份,微信开发者工具上线了代码加固插件,可以对代码进行混淆加固,具体使用方法可以查阅 官方文档。 出于安全考虑,部分小程序可能会有代码加固的需要,但由于官方没有提供快速批量加固的功能(可能我看漏了文档,如果有的话请告知),如果手动编写 [代码]code_obfuscation_config.json[代码] 文件需要耗费大量时间,毕竟有些小程序可能包含几十个甚至上百个页面,再加上组件,工作量会非常巨大。 刚好我公司就有好几个小程序项目需要进行代码加固,如果纯手写的话工作量太大了,而且还会有可能有纰漏,想想就觉得头痛,所以顺手写了这个小插件,如果同样有这样需求的可以使用一下。 插件:weapp-obfuscate 安装 [代码]npm install weapp-obfuscate -D [代码] 使用 编辑 [代码]package.json[代码] 文件 [代码]scripts[代码]: [代码]{ "scripts": { "obfuscate": "weapp-obfuscate" } } [代码] 或者执行 [代码]npm pkg set scripts.obfuscate="weapp-obfuscate" [代码] 然后执行 [代码]npm run obfuscate [代码] 即可生成相应的 [代码]code_obfuscation_config.json[代码] 文件。 详细配置信息可以查看 README.md
2022-11-29 - 小程序代码加固功能上线公告
为提高微信开放平台生态安全性,针对小程序开发过程中的安全问题,如代码易被反编译,核心业务逻辑被破译,算法易被二次打包等,导致小程序存在被破解、核心代码被盗取的风险,平台在微信开发者工具上线了代码加固功能,协助开发者保护小程序安全。 一、功能介绍 小程序代码加固是提供给开发者对小程序前端代码进行加密的功能,以防止代码暴露。该功能可将 JavaScript 文件传递给加密工具,从而实现字符串加密、属性加密、调用转换、代码混淆等多项保护措施,提高攻击者阅读前端代码逻辑的难度。 二、解决方案 微信开放平台通过在微信开发者工具中提供插件的方式,以便开发者进行功能的使用。同时还提供了Sourcemap代码加固调试工具,来帮助开发者对于加固后的文件进行错误分析。 三、功能使用 1、首先需在微信开发者工具选择代码加固插件进行安装; 2、选择需要加固的文件并进行配置操作,建议加固小程序中的敏感数据信息、核心算法逻辑、关键执行路径、接口(签名算法、协议、密钥等)。 另:界面操作和渲染、引用的第三方开源库等非必要安全保护内容可不进行加固,避免过多影响小程序体积及性能。 3、最后加固成功后可进行后续页面的预览,具体使用说明详见 功能介绍文档。 四、常见问题 Q1: 加固后显示编译结果失败? A1: 表示所加固的小程序内容,在小程序编译结果中没有对应的代码,所以导致替换失败,可以根据失败的提示信息,进行具体排查 [图片] Q2: 如果想一次性批量进行代码加固,应该如何操作呢?A2: 若需要批量进行代码加固,可直接修改[代码]code_obfuscation_config.json[代码]中的[代码]configs[代码]字段即可 [图片] 代码示例如下: [图片] Q3: 使用 Sourcemap 代码加固调试时,为什么查找不到报错路径?A3: srcMiniprogramRoot目录下不存在该报错文件所对应的源文件 [图片] Q4: 代码加固后会对产品性能有影响吗?A4: 产品性能影响与代码加固的内容、大小和数量有关,可能会影响代码体积,产品初始化耗时和执行速度,可通过 性能说明文档 作进一步了解。 如有其他相关疑问,欢迎随时参与社区讨论。
2022-07-22 - 微信小程序代码如何加固反编译及后台接口防止别人乱调用
最近开发了一个小程序前端开发前端和后台花了1个多月时间开发,结果被人轻松的把微信小程序前端代码破解出来。而且完整一个字不差截图给我看了。 小程序是前后端都分离的,如果后端不作验证,别人把你的小程序前端扒了接口也暴露了,随便可以复制你的前端去换成自己appid上线后调你的接口。这显然是不安全的。 在想为什么微信官方不限制指定appid才能调用指定域名接口。这样接口才是安全的。 最后找了一圈,微信开发者工具里只能对前端代码进行混淆加固,只能做到这步,让人破解出来后 看不懂逻辑,但还是一样能破解出来。只能做到基础的保护作用。 微信小程序演示: [图片] 目前按官方想方法: 微信代码加固方法:打开微信开发者工具,在菜单栏选择"工具-插件-编辑器扩展"或"设置-扩展设置-编辑器扩展",找到 “代码加固” 点击"获取"进行安装。安装成功后,即可使用该插件功能。右键js文件加固。 [图片] 目前此方法只能是对js加固混淆,wxml 样式等没法加密,人家要偷还是一样能随便反编译出来。 请教大佬们微信小程序如何做好加密?微信官方有没有指定小程序访问接口?后端接口如何做安全防护,不给别人随便调用?否则别人知道你的api地址就可以随便用了
05-29 - 关于小程序反编译的问题>
刚学习小程序,请问现在的小程序还能轻易反编译么? 现在的安全性如何?
2018-12-10 - 这些漏洞隐蔽又危险,一不小心可能钱都没了!
[图片][图片][图片][图片][图片][图片][图片][图片][图片] [图片] 微信支付面向商户推出了“安全医生”服务, 免费为商户使用微信支付的网站进行全面诊断, 并提供专业诊断说明和修复建议, 为商户资金安全保驾护航。 完全免费:本服务不收取任何费用,请放心使用。 持续监控:周期性自动检测系统,保证漏洞被及时发现。 安全放心:安全检测不会对商户应用系统造成影响。 详情可参考👉开通指引👈 更多安全案例及文章详见:商户安全文章专区
06-06 - 商家api证书和平台证书是同一个东西吗?
商家api证书和平台证书是同一个东西吗?
2020-09-03 - 什么小程序需要公益相关类目?
什么内容或服务的小程序需要选择公益相关类目? [图片] 1、公益慈善:小程涉及提供虚拟众筹(筹钱、股权)服务,需选择公益-公益慈善类目 所需资质(二选一): (1)民政部《基金会法人登记证书》 (2)《慈善组织公开募捐资质证书》 案例:如下图小程序涉及公开为贫困学生筹集助学款,需选择公益-公益慈善类目 [图片] 2、基金会:小程序涉及爱心用户提供公益捐赠、献爱心的通道,以从事公益事业为目的非营利性组织需选择公益-基金会类目 所需资质:民政部《基金会法人登记证书》 案例:下图小程序涉及为贫困听障儿童提供公益捐款渠道,需选择公益-基金会类目 [图片]
2020-01-14 - 小程序中是否允许展示第三方聚合支付的收款码?
如题,小程序中是否允许展示第三方聚合支付的动态收款码?
2021-05-25 - 小程序中是否允许展示第三方聚合支付的收款码?
如题,小程序中是否允许展示第三方聚合支付的收款码?
2021-05-25 - 小程序内部可以放商户收款二维码,给用户扫码付款吗?
小程序内部可以放商户收款二维码,给用户扫码付款吗?主要由于涉及大额支付,微信的银行卡支付有上限。
2023-09-05 - 在小程序里可以用自己的付款码吗?
我们园区内部有一套饭卡系统,现在想扩展一下功能,用小程序生成付款码在刷卡机上消费。钱包、充值等功能还是在原来的饭卡系统,就是用小程序展示我们自己生成的付款码。这样的功能可行吗?有下架风险吗?
2021-08-04 - 收到平台证书过期通知应如何处理?
如果你通过微信支付商户平台站内信、电话等渠道收到平台证书过期通知,请务必重视并告知你的技术人员,并敦促技术人员仔细阅读平台证书更换操作指引文档,及时完成证书更换。 [视频] 平台证书简介与更换机制: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+商户名称+平台证书更换) [图片]
07-31 - 微信支付平台证书更换指引
微信支付平台证书(以下简称平台证书)是微信支付和商户交互过程中用于认证微信支付平台身份的证书,商户会在微信支付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获取隐私整治,结合平台安全、用户敏感隐私信息保护要求及监管,针对部分暂无相关法规或要求,需要采集或生物认证方式进行身份核验的,或以“追热点”或“尝鲜”为目的,采集用户生物特征或进行身份核验的,进行严格审核,必要时不予以支持。
星期一 15:19 - 小程序手写签名分享
/* 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绘制签名板?
场景分析在小程序业务中如需用户进行手写签名的场景如:寄快递,签约合同时需要在小程序中进行手写签名。 处理方法 实现原理运用 canvas 监听用户 touch 事件,然后在 canvas 上画出与 touch 事件相近的线模仿手写签名效果。 实现方法参考如下代码片段:https://developers.weixin.qq.com/s/MYDTQAmR7EIa [图片]
09-09 - 请问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