调试支付宝一直出现-ALIN10146-系统繁忙
出现的问题: ALIN10146-系统繁忙
- 错误1: 由于在创建应用的使用选择了[公钥证书]加签方式、(PHP不要选择这一项、这个一旦确定就不可以修改了、只能重新创建提交审核)
- 错误2: 参数加的位置错误
// 使用easyswoole集成的composer包-错误使用方式
$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::NORMAL);
$aliConfig->setAppId('2019091167181387');
$aliConfig->setPublicKey('xxxxxx');
$aliConfig->setPrivateKey('xxxxxxxx');
$pay = new \EasySwoole\Pay\Pay();
$order = new \EasySwoole\Pay\AliPay\RequestBean\App();
$order->setSubject($orderDesc);
$order->setOutTradeNo($orderSn);
$order->setTotalAmount($money);
$aliPay = $pay->aliPay($aliConfig);
$result = $aliPay->app($order)->toArray();
$result ['notify_url'] = 'http://261843m3y6.wicp.vip:52034/ali/pay_notify'; # 这个回调通知地址不可以加到这儿、可有可无
foreach ($result as &$value) {
$value = $this->characet($value, $result['charset']);
}
$body ['body'] = http_build_query($result);
return $body;
// 使用easyswoole集成的composer包-正确使用方式
$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::NORMAL);
$aliConfig->setAppId('2019091167181387');
$aliConfig->setPublicKey('xxxxxx');
$aliConfig->setPrivateKey('xxxxxxxx');
$aliConfig->setNotifyUrl('http://261843m3y6.wicp.vip:52034/ali/pay_notify'); # 需要的话通过这个方法添加
$pay = new \EasySwoole\Pay\Pay();
$order = new \EasySwoole\Pay\AliPay\RequestBean\App();
$order->setSubject($orderDesc);
$order->setOutTradeNo($orderSn);
$order->setTotalAmount($money);
$aliPay = $pay->aliPay($aliConfig);
$result = $aliPay->app($order)->toArray();
foreach ($result as &$value) {
$value = $this->characet($value, $result['charset']);
}
$body ['body'] = http_build_query($result);
return $body;
支付结果验签
// 使用easyswoole集成的composer包
$param = $this->request()->getRequestParam();
unset($param['sign_type']);
$aliConfig = $this->aliPayConfig();
$aliConfig->setPublicKey('支付宝公钥(当你生成公钥填入到支付宝开发平台、平台会生成一个公钥-共两个公钥)'); # 支付的时候用自己的公钥、验签用支付宝公钥
$order = new \EasySwoole\Pay\AliPay\RequestBean\NotifyRequest($param,true);
$pay = new \EasySwoole\Pay\Pay();
$aliPay = $pay->aliPay($aliConfig);
if($aliPay->verify($order)) {
沙箱配置
RSA(SHA1)密钥 和 RSA2(SHA256)密钥(推荐) 两个只要填写一个即可, RSA指得是工具中的1024, RSA2指得是工具生成的2048
应用网关: 指得是支付宝服务推送消息接收地址(我们自己服务器中的地址外网可访问的)
授权回调地址: 用于需要用户授权的处理的回调地址
阿里开发平台-APP应用添加
注意: 加签管理中-选择公钥(不要选择公钥证书-官方SDK没有提供PHP对证书的加签方式 需要自己实现-JAVA的官方SDK提供了)
秘钥生成工具
注意: 要选择PKCS1(非JAVA使用)
相关资料
调用接口-时序图 下拉到: 第四步:调用接口
请求参数
PHP服务端 SDK 生成 APP支付订单信息示例
生成 RSA 密钥
联调日志排查
沙箱调试 需要登录后-开发中心-开发服务-研发服务
支付宝接口错误代码 invalid-signature 错误原因: 验签出错
支付宝报错:系统繁忙,请稍后再试
遇到调试不同可以点击、有技术点我、图标然后输入”人工客服”