一、微信支付显示“支付失败,请返回重试”,当前页面的URL未注册:https://xxxxx/addons/yun_shop/
【前提说明】
微信商户号要填写好支付授权目录。路径:登录微信商户平台(pay.weixin.qq.com)--产品中心--开发配置--支付配置--JSAPI支付,添加支付授权目录。
【支付异常情况】
当会员在商城购买商品,使用微信支付,安卓手机支付出现“支付失败,请返回重试”的情况,或者苹果手机微信支付出现‘当前页面的URL未注册https://xxx/addons/yun_shop/’。
原因有三:一是微信商户平台没有添加支付授权目录;二是支付授权目录没填写正确;三是若正确添加https://支付授权目录,说明后台放置的入口链接没带https://,而是http://,导致支付链接和支付授权目录不匹配。
【处理方法】
需要登录微信商户平台(pay.weixin.qq.com)--产品中心--开发配置--支付配置--JSAPI支付,添加支付授权目录。
1)支付授权目录的前缀(http/https)——请点击“▼”下拉选择“https://”,不要选http://
2)前缀选好“https://”了,后面框内请填写——商城域名/addons/yun_shop/
二、微信支付,提示“错误的签名,验签失败”
问题截图如下:
【原因】
签名错误是微信官方接口返回的,微信支付密钥错误
1、微信支付密钥apisecret设置有误,不是32位数
2、若支付密钥apisecret设置的是32位数,说明商城后台填写有误,或前后有空格
【处理方法】
原因1的处理方法:登录微信商户平台(pay.weixin.qq.com)-- 账户中心 -- API安全 -- 设置aplv2密钥,务必32位数,设置好后,后台系统 -- 支付方式 -- 微信支付密钥 填写正确的密钥。注:若商城小程序的是跟公众号共用同主体的微信商户号,后台小程序的微信支付密钥也要改为新正确的密钥。
原因2的处理方法:后台支付密钥重新填重新保存,前后不能有空格。
三、微信商城微信支付提示“appid与openid不匹配”
问题截图如下
【原因】
基本为公众号支付配置问题,检查公众号和微信商户号,比如检查主体、商城后台的微信公众号id和Appsecret,微信支付商户号和支付密钥apisecret是否填写正确。
四、微信支付提示“appid与mch_id不匹配”“appid和mch_id不匹配”
问题截图如下
【原因】
1、该提示为微信返回的支付商户号和公众号、小程序主体不一致,或者若主体一致则是填写错误。
需要登录公众平台,左侧菜单微信支付,检查关联的微信支付商户号主体是否一致,商户号是否后台对应填写的,不能留空,前后也不能有空格;
2、若是主体不一致,微信已支持可以跨主体收款,但需要走联合运营流程,签署《微信支付联合运营承诺函》才行。这种具体可咨询微信团队。详情可看>>https://pay.weixin.qq.com/static/pay_setting/appid_protocol.shtml
五、 微信支付提示mch_id参数格式错误
问题截图如下:
【原因】
支付提示这个,是指商城微信支付商户号填写不对。微信支付商户号是由10位数字组成的。
【处理方法】
检查路径:商城后台 -- 系统 -- 支付方式,可检查下商户号是否填写正确,检查前后是否有空格,是的话,请去掉空格重新保存.
六、支付提示输入源"/body/xml/mch_id"映射到值字段"商户号"字符串规则校验失败,字符串必须匹配正则表达式"
【原因】
支付提示这个,是指商城微信支付商户号填写不对
【处理方法】
检查路径:商城后台--系统--支付方式,可检查下商户号前后是否有空格,是的话,请去掉空格重新保存。若是小程序微信支付,请在商城后台--应用中心--小程序--基础设置那检查.
七、微信支付提示“should be 32 chars length”
问题截图如下
【原因】
这个提示是微信商户号的支付密钥(32位数)没有设置正确,或者设置了但商城后台填写错误。
【处理方法】
1、未设置aplv2密钥或重置aplv2密钥:登录微信商户号pay.weixin.qq.com -- 账户中心 -- api安全 -- 设置aplv2密钥,后台填写正确的密钥,注意填写时不能前后有空格.
2、已设置aplv2密钥但商城后台没填写或填写错误。
八、微信支付报错:45009,Request AccessToken fail. response: {“errcode”:45009,”errmsg”:”reach max api daily quota limit rid: 5fcb61e7-5d8aa79d3befcf3c”}
问题截图如下
【原因】
微信支付限制,请求token超出次数,支付达到每日最大API请求配额限制
【处理方法】
公众号 —— 登录公众平台mp.weixin.qq.com >> 设置与开发 >> 接口权限 >> 清零access_token调用量
小程序 —— 登录公众平台mp.weixin.qq.com >> 开发 >> 开发管理 >> 接口设置 >> 清空服务端接口调用量。
九、微信支付的订单退款,提示微信接口错误:OK-基本账户余额不足,请充值后重新发起/fail
问题截图如下
【原因】
商户平台退款是默认从当天的营业额来扣款的(使用未结算资金来退款)。这个提示该商户号上未结算的资金不足。所以退款不了。
【参考处理方法】
以下提供三种方法,可参考:
第一种:您可登录商户号平台pay.weixin.qq.com给商户号运营账户和基本账户充值余额后,等10分钟左后,再返回后台点击同意退款。
第二种:商户号上手动退款,商城后台再选择手动退款。
第三种:要产生未结算资金来退款,则要等商城有新微信支付的订单,产生有未结算资金,平台再给前面申请退款的订单同意退款。第三种方法可能会比较麻烦。
十、 微信支付订单退款、或打款提现到微信,提示“微信接口错误:证书验证失败-/fail”,”微信接口错误:证书错误,请登录微信支付商户平台下载证书”、“whoops”
截图如下
【原因】
后台系统微信支付两证书异常。
【处理方法】
登录微信商户号pay.weixin.qq.com -- 账户中心 -- api安全 -- 重新申请下载API证书,后台重新上传CERT证书和KEY密钥文件。
注意:若商城小程序的是跟公众号共用同主体的微信商户号,后台小程序的微信支付两证书也要重新上传.
重新申请API证书教程说明:https://kf.qq.com/faq/161222NneAJf161222U7fARv.html
十一、打款到微信提示微信接口错误:cURL error 58:could not load PEM client certificate,OpenSSL error error:0906D064:PEM routines:PEM_read_bio:bad base64 decode,(no key found,wrong pass phrase,or wrong file format?)(see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
问题截图如下
【原因】
微信支付CERT证书文件、KEY密钥文件上传错误,请重新上传。
【处理方法】
在商城后台系统 -- 支付方式 -- 重新对应上传微信支付的两证书,上传后再打款试试。
如果之前获取证书时没保存,可登录微信商户号pay.weixin.qq.com -- 账户中心 -- api安全 -- 重新申请下载API证书。重新申请API证书教程说明:https://kf.qq.com/faq/161222NneAJf161222U7fARv.html
十二、商户号该产品权限未开通,请前往商户平台>产品中心检查后重试
问题截图如下
【原因】
商户号没开通支付权限
【处理方法】
登录商户号后台pay.weixin.qq.com--产品中心--我的产品,开通JSAPI支付权限。如果有PC网站,要用到微信扫一扫支付,开通Native支付,如下图
十三、用户提现到微信,后台打款提示提现失败,NO_AUTH-产品权限验证失败,请查看您当前是否具有该产品的权限;或者提示产品权限异常
【原因】
平台接入的微信支付商户号没有开通商家转账到零钱的提现功能。
【处理方法】
知识库关键词搜索‘商家转账到零钱’,查看教程,按教程说明开通权限。
开通‘商家转账到零钱’的前提条件
① 暂时不支持小微商户、个体工商户。
② 保持正常健康交易。商户号历史无风险行为
③ 开通环节需提交转账场景证明资料,并签订转账场景真实性承诺函
十四、小程序微信支付提示api unauthorized rid 6361de91-588ffd6f-15a8a9d3
【处理方法】
登录小程序平台mp.weixin.qq.com,检查左侧菜单“功能”显示的微信支付是“微信支付”,还是“支付管理”。若显示微信支付,商城后台小程序支付类型对应选择微信支付的。选择后配置好小程序关联的商户号,支付密钥和上传商户证书。
十五、微信支付时弹出风险提醒,什么原因造成的?怎么解决?
【原因】
这个是微信风控,微信那边提示的,可以在微信开放社区看下: https://developers.weixin.qq.com/community/develop/doc/00004cf43882b01498ca9c7c15b400