where(['payment_order_union_id' => $paymentOrderUnion->id, 'notify_status' => [0,2]]) ->all(); foreach ($paymentOrders as $paymentOrder) { if($paymentOrder->is_pay != 1){ $paymentOrder->is_pay = 1; $paymentOrder->pay_type = $paymentOrderUnion->pay_type; if(!$paymentOrder->save()){ return $this->getModelError($paymentOrder); } } $po = new \app\models\common\payment\PaymentOrder([ 'orderNo' => $paymentOrder->order_no, 'amount' => (float)$paymentOrder->amount, 'title' => $paymentOrder->title, 'notifyClass' => $paymentOrder->notify_class, 'payType' => PaymentTypes::payTypeIdToKey($paymentOrder->pay_type), ]); $NotifyClass = $paymentOrder->notify_class; if(class_exists($NotifyClass)){ /** @var PaymentNotify $notifyObject */ $notifyObject = new $NotifyClass(); try { $resp = $notifyObject->notify($po); if($resp['code'] != 0){ $msg = "[ORDER_NO:{$paymentOrder->order_no}] ERR_MSG:{$resp['msg']}"; \Yii::error($msg,'NotifyPayment'); } } catch (\Exception $exception) { $exp_err = $exception->getMessage(); $msg = "[ORDER_NO:{$paymentOrder->order_no}] ERR_MSG:{$exp_err}"; \Yii::error($msg,'NotifyPayment'); } } else { //记录错误 $msg = "[ORDER_NO:{$paymentOrder->order_no}] ERR_MSG:{$paymentOrder->notify_class}不存在"; \Yii::error($msg,'NotifyPayment'); } } return $this->apiReturnSuccess(); } }