支付方式 | 报错提示 | 解决方法 |
网页支付 (JSAPI) |
“当前公众号没有权限支付本次交易“ | 检查该公众帐号是否已经获取了支付资格。 |
“JSAPI支付使用了无效的商户号,无法发起该笔交易” | 检查商户号使用错误。 | |
“该JSAPI支付签名无效,无法发起该笔交易” | 调起支付MD5签名的MD5签名错误,请检查相关签名。 | |
“ArgsError” | 提交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支付中才有此参数。 |