verify()->toArray(); $tradeState = $data["result_code"]; if ($tradeState != "SUCCESS") { return $pay->success(); } $outTradeNo = $data["out_trade_no"]; $orderInfo = Order::getOrderInfoByOutTradeNo($outTradeNo); if (!$orderInfo) { return $pay->success(); } if ($orderInfo["status"] != 0) {//待支付状态 return $pay->success(); } if ($orderInfo["total_fee"] != $data["total_fee"]) { return $pay->success(); } if (Order::updateOrder(["out_trade_no" => $outTradeNo], ["status" => 1])) { if ($orderInfo["type"] == 0) { }elseif ($orderInfo["type"] == 1) { UserCourse::insertData(['user_id'=>$orderInfo['user_id'],'course_id'=>$orderInfo['object_id']]); } } } catch (\Exception $e) { Log::error("wx_cb", [$e->getTraceAsString()]); } return $pay->success(); } }