版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Drug_/article/details/83897487
PHP交流群:294088839
1.进行支付请求
require_once './payment/zfb/pagepay/service/AlipayTradeService.php'; require_once './payment/zfb/pagepay/buildermodel/AlipayTradePagePayContentBuilder.php'; $payInfo=Db::name('pay_type')->where(['pay_id'=>1])->find(); $zfb=json_decode($payInfo['pay_json'],true); //商品订单号 $out_trade_no=$order_data['order_number']; //订单名称,必填 $subject='购买订单'; //付款金额 $total_amount=$zongMoney; //商品描述 $body = $out_trade_no . '-' . $user_id.'-'.$zongMoney; $timeout_express="1m"; $aop = new \AopClient; $aop->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $aop->appId = $zfb['app_id']; $aop->rsaPrivateKey = $zfb['merchant_private_key']; $aop->format = "json"; $aop->charset = "UTF-8"; $aop->signType = "RSA2"; $aop->alipayrsaPublicKey = $zfb['alipay_public_key']; //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay $request = new \AlipayTradeAppPayRequest(); //SDK已经封装掉了公共参数,这里只需要传入业务参数 $bizcontent = json_encode(array( 'body'=>$body, 'subject' => $subject,//支付的标题, 'out_trade_no' => $out_trade_no,//支付宝订单号必须是唯一的,不能在支付宝再次使用,必须重新生成,哪怕是同一个订单,不能重复。否则二次支付时候会失败,订单号可以在自己订单那里保持一致,但支付宝那里必须要唯一,具体处理自己操作! 'timeout_express' => $timeout_express,//過期時間(分钟) 'total_amount' => $total_amount,//金額最好能要保留小数点后两位数 'product_code' => 'QUICK_MSECURITY_PAY' )); $request->setNotifyUrl(config('u_z_notify_url')); $request->setBizContent($bizcontent); //这里和普通的接口调用不同,使用的是sdkExecute $response = $aop->sdkExecute($request); //htmlspecialchars是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题 //correctStatus 这个函数时我自定义的 json 函数 根据你们实际情况来进行处理 $json=correctStatus($response); echo $json;//就是orderString 可以直接给客户端请求,无需再做处理。
2.回调地址的认证什么跟我上一篇支付宝网页支付一样