支付宝接入报错,2 天了,查阅了很多资料,求大神解答
报错:
错误代码 invalid-app-id 错误原因: 无效的AppID参数
查阅了支付宝的官方文档,得出以下几个可能
1、appid错误:检查了很多次了,没有填写错;
2、支付宝网关错误:我使用的是yansongda/pay
这包,官方的配置文件里,没有地方专门配置网关,一个mode
可以开启沙箱,这里我有一个疑问,因为我是照着Summer的教程接入的,配置的时候用的就是沙箱环境是可以正常使用的,但是并没有配置mode
,说明默认可能就是沙箱网关,但是自定义配置写什么呢?
protected $config = [
'app_id' => '',
'notify_url' => 'http://yansongda.cn/notify.php',
'return_url' => 'http://yansongda.cn/return.php',
'ali_public_key' => '',
// 加密方式: **RSA2**
'private_key' => '',
// 使用公钥证书模式,请配置下面两个参数,同时修改ali_public_key为以.crt结尾的支付宝公钥证书路径,如(./cert/alipayCertPublicKey_RSA2.crt)
// 'app_cert_public_key' => './cert/appCertPublicKey.crt', //应用公钥证书路径
// 'alipay_root_cert' => './cert/alipayRootCert.crt', //支付宝根证书路径
'log' => [ // optional
'file' => './logs/alipay.log',
'level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug
'type' => 'single', // optional, 可选 daily.
'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天
],
'http' => [ // optional
'timeout' => 5.0,
'connect_timeout' => 5.0,
// 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
],
'mode' => 'dev', // optional,设置此参数,将进入沙箱模式
];
3、应用未上线:确认通过审核并已经上线
4、app支付客户端未加沙箱联调代码:不是app
现在我想请教大家一下:
1、怎么配置网关地址;
2、我使用的是公钥证书模式,private_key
我是用支付宝开通平台工具获取的,这个要怎么获取才是正确的呢,因为我发现这东西可以无限次修改,但是我找不到怎么和公钥关联,还是说不用关联???
公钥是支付宝公钥,还有就是.env环境调成local,不配置'mode' => 'dev', 就是沙箱环境;如果你把.env文件环境设置为production,就会进入正式的支付宝网关,然后支付的时候就会报 invalid-app-id。