> 文档中心 > 支付宝pc端支付回调处理

支付宝pc端支付回调处理

支付宝电脑支付回调处理,下面是异步通知的处理方法,注意:

  • 程序执行完后必须打印输出“success”(不包含引号)。如果商户反馈给支付宝的字符不是success这7个字符,支付宝服务器会不断重发通知,直到超过24小时22分钟。一般情况下,25小时以内完成8次通知(通知的间隔频率一般是:4m,10m,10m,1h,2h,6h,15h);

参考文档:https://docs.open.alipay.com/270/105902/

public function alipay_notify()    { if (request()->isPost()) {     import('alipay.pagepay.service.AlipayTradeService');     $arr = request()->param();     $alipaySevice = new \AlipayTradeService(config('alipay'));     $alipaySevice->writeLog(var_export(request()->param(), true));     $result = $alipaySevice->check($arr);     if ($result) {//验证成功  //商户订单号  $out_trade_no = $arr['out_trade_no'];  //支付宝交易号  $trade_no = $arr['trade_no'];  if ($arr['trade_status'] == 'TRADE_FINISHED' || $arr['trade_status'] == 'TRADE_SUCCESS') {      //查询订单是否真的已支付      import('alipay.pagepay.buildermodel.AlipayTradeQueryContentBuilder');      $RequestBuilder = new \AlipayTradeQueryContentBuilder();      $RequestBuilder->setOutTradeNo($out_trade_no);      $response = $alipaySevice->Query($RequestBuilder);      if ($response->trade_status == 'TRADE_SUCCESS' || $response->trade_status == 'TRADE_FINISHED') { }  }  echo "success";     } else {  //验证失败  echo "fail";     } }    }

 

解梦吧