public function actionNotify() { //计算得出通知验证结果 $alipayNotify = new AlipayNotify($this->config); $verify_result = $alipayNotify->verifyNotify(); if ($verify_result) { //验证成功 $order_id = \Yii::$app->request->post('out_trade_no'); $order = Kiwi::getOrder()->findOne($order_id); if ($_POST['trade_status'] == 'WAIT_BUYER_PAY') { //该判断表示买家已在支付宝交易管理中产生了交易记录,但没有付款 //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //如果有做过处理,不执行商户的业务程序 $payment = Kiwi::getPayment(); $payment->transcation_no = \Yii::$app->request->post('trade_no'); $payment->status = 0; $order->payment = $payment; $order->save(); echo "success"; //请不要修改或删除 //调试用,写文本函数记录程序运行情况是否正常 //logResult("这里写入想要调试的代码变量值,或其他运行的结果记录"); } else { if ($_POST['trade_status'] == 'WAIT_SELLER_SEND_GOODS') { //该判断表示买家已在支付宝交易管理中产生了交易记录且付款成功,但卖家没有发货 //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //如果有做过处理,不执行商户的业务程序 $payment = $order->payment; $payment->status = 1; $order->payment = $payment; $order->status = 2; $order->save(); echo "success"; //请不要修改或删除 //调试用,写文本函数记录程序运行情况是否正常 //logResult("这里写入想要调试的代码变量值,或其他运行的结果记录"); } else { if ($_POST['trade_status'] == 'WAIT_BUYER_CONFIRM_GOODS') { //该判断表示卖家已经发了货,但买家还没有做确认收货的操作 //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //如果有做过处理,不执行商户的业务程序 echo "success"; //请不要修改或删除 //调试用,写文本函数记录程序运行情况是否正常 //logResult("这里写入想要调试的代码变量值,或其他运行的结果记录"); } else { if ($_POST['trade_status'] == 'TRADE_FINISHED') { //该判断表示买家已经确认收货,这笔交易完成 //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //如果有做过处理,不执行商户的业务程序 echo "success"; //请不要修改或删除 //调试用,写文本函数记录程序运行情况是否正常 //logResult("这里写入想要调试的代码变量值,或其他运行的结果记录"); } else { //其他状态判断 echo "success"; //调试用,写文本函数记录程序运行情况是否正常 //logResult ("这里写入想要调试的代码变量值,或其他运行的结果记录"); } } } } //——请根据您的业务逻辑来编写程序(以上代码仅作参考)—— ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } else { //验证失败 echo "fail"; //调试用,写文本函数记录程序运行情况是否正常 //logResult("这里写入想要调试的代码变量值,或其他运行的结果记录"); } }
public function actionOrderSave() { $orderModel = Kiwi::getOrder(); $orderModel->address = Yii::$app->request->post('address'); $orderModel->memo = Yii::$app->request->post('memo'); if ($orderModel->saveOrder()) { return $this->redirect(['alipay/index', 'id' => $orderModel->order_id]); // return Json::encode(['message' => \Yii::t('app', 'create order success'), 'redirect' => 'success']); } else { return Json::encode(['message' => Json::encode($orderModel->getErrors()), 'redirect' => 'index']); } }
public function actionOrder() { $order_id = Yii::$app->request->get('order_id'); if (isset($order_id)) { $orderClass = Kiwi::getOrderClass(); if (($order = $orderClass::findOne($order_id)) !== null) { return $this->render('order_view', ['order' => $order]); } else { throw new NotFoundHttpException('The requested page does not exist.'); } } $model = Kiwi::getOrder(); $dataProvider = new ActiveDataProvider(['query' => $model::find()->where(['user_id' => Yii::$app->user->id])]); return $this->render('list', ['dataProvider' => $dataProvider]); }