支付方式 | 报错提示 | 解决方法 |
网页支付 (JSAPI) |
“当前公众号没有权限支付本次交易“ | 检查该公众帐号是否已经获取了支付资格。 |
“JSAPI支付使用了无效的商户号,无法发起该笔交易” | 检查商户号使用错误。 | |
“该JSAPI支付签名无效,无法发起该笔交易” | 调起支付MD5签名的MD5签名错误,请检查相关签名。 | |
“Args Error” | 提交JS时,josn传递参数必须与文档中名字一致,大小写匹配。 | |
“access:not_allow” | 未设置白名单,添加位置:微信公众平台=》微信支付=》开发配置 | |
点击支付无反应 | 支付授权目录是否正确,如果使用的是支付测试目录,是否设置了白名单,需白名单帐号进行支付测试。 | |
ios系统可以正常支付,android系统支付失败 | timestamp字段值需要加上“”,传递数据必须为字符串类型。 | |
调用报错 | 签名错误,请仔细检查签名。 | |
get_brand_wcpay_request:fail | ||
调用报错: | 商户设置有问题。 | |
zhgj-2014+中涵国际分销商城及“订单满送红包无法送” | ||
IOS系统调用支付JSAPI报错 | 提交的参数有问题,注意全部参数都得是字符串类型。 | |
缺少参数:$key0$,android 没问题 | ||
支付验证签名失败 | 签名错误,仔细检查签名。 | |
jsapi 缺少参数 key0 | 问题出在网页端调起支付API接口中timeStamp参数,必须是string类型,但是php默认生成的时间戳是int类型。 | |
解决方法:修改下lib/Wxpay.Data.php约2731行处SetTimeStamp方法,修改为$this->values['timestamp'] = (string)$value; | ||
安卓手机可以收到满送红包 苹果的不行 红包虽然已经显示发送了红包但是实质资金流水没有扣除资金 | 参数错误,请仔细检查。 | |
调用报错: | 推测为提交的支付请求参数不正确;以下文档有详细的参考。https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7 | |
传输参数错误 | ||
调用报错: | 需要按照文档要求 ,先获取prepay_id。 | |
没有获取到微信支付预支付ID,请管理员检查微信支付配置项 | ||
支付权限检查失败 | 商户所用的参数对应的APPID是APP支付;如果商户想要JSAPI支付,需要在公众平台申请公众号,JSAPI支付中才有此参数。 |