fastadmin 微信支付宝整合插件 支付宝APP支付 ALIN10146

1.调试微信支付宝整合插件支付宝APP支付,支付宝支付一直报错 ALIN10146调了6个小时

我使用的是 微信支付宝整合插件,以下为我调用支付的代码

 $params = [
            'amount'=> 0.01,
            'orderid'=> $model['order_sn'],
            'type'=> 'alipay',
            'title'=> "字帖",
            'notifyurl'=> $this->request->root(true) . '/addons/epay/index/notifyorder/paytype/alipay',
            'returnurl' => $this->request->root(true) . '/addons/epay/index/notifyorder/paytype/alipay', //
           'method'=>"app",
  ];
$pay_params = \addons\epay\library\Service::submitOrder($params);

原因是支付宝APP支付,没配置returnurl参数,插件默认把returnurl参数加进去,值为空,并且参与了签名,生成的结果给支付宝调用的时候,这个returnurl参数为空,会报错ALIN10146,我的解决方式加returnurl参数,问题成功解决,

如果报错 ALIN10146 建议仔细检查,签名是否有 return_url为空的参数参与签名 sign_type=RSA2&return_url=&version=1.0,

return_url=这样的参数参与签名会报错ALIN10146

下面给出支付宝APP支付最快捷的调试方式

1.下载App支付服务端 DEMO 下载地址https://docs.open.alipay.com/54/106370/

2. 复制对应demo的语言的调用方法,不要用下载下来的SDK里的方法,参数太多不利于调试

3.把下面的代码复制进去,配置appid  生成的私钥  支付宝公钥(商户后台配置后生成的支付宝公钥,下面附有截图)

$aop = new AopClient;
$aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
$aop->appId = "app_id";
$aop->rsaPrivateKey = '请填写开发者私钥去头去尾去回车,一行字符串';
$aop->format = "json";
$aop->charset = "UTF-8";
$aop->signType = "RSA2";
$aop->alipayrsaPublicKey = '请填写支付宝公钥,一行字符串';
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
$request = new AlipayTradeAppPayRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
$bizcontent = "{\"body\":\"我是测试数据\"," 
                . "\"subject\": \"App支付测试\","
                . "\"out_trade_no\": \"20170125test01\","
                . "\"timeout_express\": \"30m\"," 
                . "\"total_amount\": \"0.01\","
                . "\"product_code\":\"QUICK_MSECURITY_PAY\""
                . "}";
$request->setNotifyUrl("商户外网可以访问的异步地址");
$request->setBizContent($bizcontent);
//这里和普通的接口调用不同,使用的是sdkExecute
$response = $aop->sdkExecute($request);
//htmlspecialchars是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题
echo htmlspecialchars($response);//就是orderString 可以直接给客户端请求,无需再做处理。

3.把echo的结果复制给客户端,是可以直接发起调用的,如果不能使用,说明配置的公钥或私钥APPID是错的,仔细检查,可以加裙     721200119问我,我是裙住

 

 

fastadmin 微信支付宝整合插件 支付宝APP支付 ALIN10146_第1张图片

你可能感兴趣的:(fastadmin 微信支付宝整合插件 支付宝APP支付 ALIN10146)