예제 #1
0
 /**
  * 订单支付成功,微信通知
  *
  * @param int $order_id 订单ID
  * @param float $pay_price
  * @param int $shop_id
  * @return array
  */
 public function pay_notice($order_id, $pay_price, $shop_id)
 {
     $message = 'Got paid info: ' . json_encode(func_get_args());
     OrderModel::instance()->payLog($shop_id, $order_id, $message);
     $order = OrderModel::instance()->getOrder($order_id);
     if (!$order) {
         return ['message' => "{$order_id}无效订单", 'success' => -1];
     }
     if (!$this->float_cmp(intval($pay_price), intval($order['price'] * 100))) {
         return ['message' => "{$order_id}订单价格不对", 'success' => -1];
     }
     if ($order['status'] == 2) {
         return ['message' => "订单已支付", 'success' => 1];
     }
     $flag = OrderModel::instance()->changeOrderStatus($order_id);
     if ($flag) {
         return ['message' => "通知成功", 'success' => 1];
     }
     return ['message' => "通知失败", 'success' => -1];
 }
예제 #2
0
 /**
  * 支付成功
  */
 public function success()
 {
     $order_id = intval(I('request.id'));
     if (!empty($order_id) && is_numeric($order_id)) {
         $order = OrderModel::instance()->getOrder($order_id, []);
         if (!$order) {
             E('订单不存在');
         }
         switch ($order['status']) {
             case 1:
                 $message = '订单尚未支付!如果您已经付款,请联系商家.';
                 break;
             case 2:
                 $message = '支付成功!';
                 break;
             case 3:
                 $message = '订单已完成';
                 break;
         }
         $this->assign('message', $message);
         $this->assign('status', $order['status']);
     }
     $this->assign('order_id', $order_id);
     $this->display();
 }