php 后端集成支付宝app支付 一些问题

支付宝老是报 ALI38173 错误

$aop = new \AopClient();//实例化支付宝sdk里面的AopClient类,下单时需要的操作,都在这个类里面
        $aop->gatewayUrl = $config['url'];//"https://openapi.alipay.com/gateway.do";
        $aop->appId = $config['appid'];//"app_id";
        $aop->rsaPrivateKey = $config['rsaPrivateKey'];//'请填写开发者私钥去头去尾去回车,一行字符串';
        $aop->format = "JSON";
        $aop->charset = "UTF-8";
        $aop->signType = "RSA2";
        $aop->alipayrsaPublicKey = $config['alipayrsaPublicKey'];//'请填写支付宝公钥,一行字符串';
        //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
        $request = new \AlipayTradeAppPayRequest();
        //SDK已经封装掉了公共参数,这里只需要传入业务参数
        $bizcontent = json_encode(
             array(  
                'body'=>$body,  
                'subject'=>$title,  
                'out_trade_no'=>$order,//此订单号为商户唯一订单号  
                'total_amount'=> $price,//保留两位小数  
                'product_code'=>'QUICK_MSECURITY_PAY'  
            )
         );  
        
        $request->setNotifyUrl("http://dds.zkd.com/index.php/Api/Alipay/notify_url"); //商户外网可以访问的异步地址
        $request->setBizContent($bizcontent);
        //这里和普通的接口调用不同,使用的是sdkExecute
        $response = $aop->sdkExecute($request);
        //htmlspecialchars是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题
        echo htmlspecialchars($response);//就是orderString 可以直接给客户端请求,无需再做处理。

返回的是

alipay_sdk=alipay-sdk-php-20161101&app_id=2016082100307743&biz_content=%7B%22body%22%3A%22%5Cu6d4b%5Cu8bd5%5Cu7684%5Cu4e1c%5Cu897f%22%2C%22subject%22%3A%22%5Cu4ea7%5Cu54c1%5Cu8d2d%5Cu4e70%22%2C%22out_trade_no%22%3A%222012112107%22%2C%22total_amount%22%3A%221.00%22%2C%22product_code%22%3A%22QUICK_MSECURITY_PAY%22%7D&charset=UTF-8&format=JSON&method=alipay.trade.app.pay&notify_url=http%3A%2F%2Fds.zkd.com%2Findex.php%2FApi%2FAlipay%2Fnotify_url&sign_type=RSA2&timestamp=2017-12-28+20%3A28%3A25&version=1.0&sign=

签名sign为空

我看网上很多这个步骤都有sign的
具体怎么做大神

阅读 4.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题