writeLog(var_export($_POST,true)); $result = $alipaySevice->check($arr); if($result){ $out_trade_no = $_POST['out_trade_no']; $total_amount= $_POST['total_amount']; if ($_POST['trade_status'] == 'TRADE_SUCCESS') { //这里加入商业逻辑处理 $order=D("shop_order")->where(array("order_num"=>$out_trade_no))->find(); //这里要判断是否is_pay为0才执行商业处理,防止异步通知执行两次以上从而造成多条付款明细 if($order&&!$order["is_pay"]){ M("shop_order")->save(array( "order_id"=>$order["order_id"], "is_pay"=>1, )); //设置订单状态 D("shop_order")->setOrderState($order["order_id"]); //订单日志 D("shop_order")->log($order["order_id"],"用户在线支付,金额:{$total_amount},支付方式:支付宝"); // $this->payMent($order["order_id"],"alipay",json_encode($_POST)); } } echo "success";//请不要修改或删除 }else{ } } //异步通知(手机支付) public function wap_notify_url(){ $arr=$_POST; Vendor('AlipaySdk.aop.AopClient'); Vendor('AlipaySdk.wappay.service.AlipayTradeService'); $alipaySevice = new \AlipayTradeService(C('alipay')); $result = $alipaySevice->check($arr); if($result){ $out_trade_no = $_POST['out_trade_no']; $total_amount= $_POST['total_amount']; if ($_POST['trade_status'] == 'TRADE_SUCCESS') { //这里加入商业逻辑处理 $order=D("shop_order")->where(array("order_num"=>$out_trade_no))->find(); //这里要判断是否is_pay为0才执行商业处理,防止异步通知执行两次以上从而造成多条付款明细 if($order&&!$order["is_pay"]){ M("shop_order")->save(array( "order_id"=>$order["order_id"], "is_pay"=>1, )); //设置订单状态 D("shop_order")->setOrderState($order["order_id"]); //订单日志 D("shop_order")->log($order["order_id"],"用户在线支付,金额:{$total_amount},支付方式:支付宝(wap)"); // $this->payMent($order["order_id"],"alipay",json_encode($_POST)); } } echo "success";//请不要修改或删除 }else{ } } //支付定同步返回 public function return_url(){ redirect(U("Shop/ShopOrder/index")); } //付款记录 private function payMent($orderid,$paytype,$detail){ M("shop_order_payment")->add(array( "order_id" =>$orderid, "addtime" =>time(), "paytype" =>$paytype, "detail" =>$detail, )); } }