Beispiel #1
0
 /**
  * author: 微赞
  */
 public function doMobileOrderPay()
 {
     global $_W, $_GPC;
     $oid = $_GPC['oid'];
     $order = DBUtil::findById(DBUtil::$TABLE_ORDER_ORDER, $oid);
     MonUtil::emtpyMsg($order, "订单删除或不存在");
     $item = DBUtil::findById(DBUtil::$TABLE_ORDER_ITEM, $order['iid']);
     $form = DBUtil::findById(DBUtil::$TABLE_ORDER_FORM, $order['fid']);
     if ($order['status'] == $this::$STATUS_UNPAY && $order['pay_type'] == 1) {
         //立即支付
         $jsApi = new JsApi_pub($this->mOrderSetting);
         $jsApi->setOpenId($order['openid']);
         $unifiedOrder = new UnifiedOrder_pub($this->mOrderSetting);
         $unifiedOrder->setParameter("openid", $order['openid']);
         //商品描述
         $unifiedOrder->setParameter("body", "预约订单" . $item['iname']);
         //商品描述
         $out_trade_no = date("YmdHis", TIMESTAMP);
         $unifiedOrder->setParameter("out_trade_no", $out_trade_no);
         //商户订单号
         //$unifiedOrder->setParameter("total_fee", 1);//总金额
         $unifiedOrder->setParameter("total_fee", $order['zf_price'] * 100);
         //总金额
         $notifyUrl = $_W['siteroot'] . "addons/" . MON_ORDER . "/notify.php";
         $unifiedOrder->setParameter("notify_url", $notifyUrl);
         //通知地址
         $unifiedOrder->setParameter("trade_type", "JSAPI");
         //交易类型
         $prepay_id = $unifiedOrder->getPrepayId();
         $jsApi->setPrepayId($prepay_id);
         $jsApiParameters = $jsApi->getParameters();
         DBUtil::updateById(DBUtil::$TABLE_ORDER_ORDER, array('outno' => $out_trade_no), $oid);
     }
     include $this->template("orderPay");
 }
Beispiel #2
0
 public function doMobileAjaxPay()
 {
     global $_W, $_GPC;
     $price = $_GPC['price'];
     if ($price == 0) {
         $price = 0.01;
     }
     $uniacid = $_W['uniacid'];
     $set = pdo_fetch("SELECT * FROM " . tablename('fineness_sysset') . " WHERE weid=:weid limit 1", array(':weid' => $uniacid));
     if (empty($set)) {
         $res['code'] = 501;
         $res['msg'] = "抱歉,基本参数没设置";
         return json_encode($res);
     }
     load()->model('mc');
     $userInfo = mc_oauth_userinfo();
     $jsApi = new JsApi_pub($set);
     $jsApi->setOpenId($userInfo['openid']);
     $unifiedOrder = new UnifiedOrder_pub($set);
     $unifiedOrder->setParameter("openid", $userInfo['openid']);
     //商品描述
     $unifiedOrder->setParameter("body", "赞赏");
     //商品描述
     $timeStamp = time();
     $out_trade_no = $set['appid'] . "{$timeStamp}";
     $unifiedOrder->setParameter("out_trade_no", $out_trade_no);
     //商户订单号
     $unifiedOrder->setParameter("total_fee", $price * 100);
     //总金额
     $notifyUrl = $_W['siteroot'] . "addons/" . AMOUSE_ARTICLE . "/notify.php";
     $unifiedOrder->setParameter("notify_url", $notifyUrl);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "JSAPI");
     //交易类型
     $prepay_id = $unifiedOrder->getPrepayId();
     $jsApi->setPrepayId($prepay_id);
     $jsApiParameters = $jsApi->getParameters();
     $res['code'] = 200;
     $res['msg'] = $jsApiParameters;
     return json_encode($res);
 }
Beispiel #3
0
 /**
  * author: codeMonkey QQ:631872807
  * 订单提交
  */
 public function doMobileOrderSubmit()
 {
     global $_W, $_GPC;
     MonUtil::checkmobile();
     $uid = $_GPC['uid'];
     $kid = $_GPC['kid'];
     $wkj = DBUtil::findById(DBUtil::$TABLE_WKJ, $kid);
     $user = DBUtil::findById(DBUtil::$TABLE_WKJ_USER, $uid);
     $uname = $_GPC['uname'];
     $address = $_GPC['address'];
     $p_model = $_GPC['p_model'];
     $tel = $_GPC['tel'];
     MonUtil::emtpyMsg($wkj, "砍价活动不存在或已删除");
     MonUtil::emtpyMsg($user, "用户不存在或已删除");
     $orderInfo = $this->findOrderInfo($kid, $uid);
     if ($wkj['pay_type'] == 2) {
         //货到付款
         $leftCount = $wkj['p_kc'] - $this->getOrderCount($kid) - 1;
         if ($leftCount < 0) {
             message("对不起库存已不足,请下次再来参加活动吧。");
         }
     }
     if (empty($orderInfo)) {
         //没有该用户的订单 信息
         $order_array = array('kid' => $wkj['id'], 'uid' => $user['id'], 'uname' => $uname, 'address' => $address, 'tel' => $tel, 'openid' => $user['openid'], 'y_price' => $wkj['p_y_price'], 'kh_price' => $user['price'], 'yf_price' => $wkj['yf_price'], 'total_price' => $user['price'] + $wkj['yf_price'], 'status' => $this::$KJ_STATUS_XD, 'p_model' => $p_model, 'createtime' => TIMESTAMP);
         DBUtil::create(DBUtil::$TABLE_WJK_ORDER, $order_array);
         $oid = pdo_insertid();
         $orderInfo = DBUtil::findById(DBUtil::$TABLE_WJK_ORDER, $oid);
     }
     if ($orderInfo['status'] == $this::$KJ_STATUS_XD && $wkj['pay_type'] == 1) {
         //立即支付
         $jsApi = new JsApi_pub($this->kjSetting);
         $jsApi->setOpenId($user['openid']);
         $unifiedOrder = new UnifiedOrder_pub($this->kjSetting);
         $unifiedOrder->setParameter("openid", $user['openid']);
         //商品描述
         $unifiedOrder->setParameter("body", "砍价商品" . $wkj['p_name']);
         //商品描述
         $out_trade_no = $this->getOrderNo($kid, $uid);
         $unifiedOrder->setParameter("out_trade_no", $out_trade_no);
         //商户订单号
         //$orderInfo['total_price']
         $unifiedOrder->setParameter("total_fee", $orderInfo['total_price'] * 100);
         //总金额
         $notifyUrl = $_W['siteroot'] . "addons/" . MON_WKJ . "/notify.php";
         $unifiedOrder->setParameter("notify_url", $notifyUrl);
         //通知地址
         $unifiedOrder->setParameter("trade_type", "JSAPI");
         //交易类型
         $prepay_id = $unifiedOrder->getPrepayId();
         $jsApi->setPrepayId($prepay_id);
         DBUtil::updateById(DBUtil::$TABLE_WJK_ORDER, array('order_no' => $out_trade_no), $orderInfo['id']);
         $jsApiParameters = $jsApi->getParameters();
         $gmCount = $this->getOrderCount1($kid);
         $leftCount = $wkj['p_kc'] - $gmCount;
     } else {
         if ($orderInfo['status'] == $this::$KJ_STATUS_XD && $wkj['pay_type'] == 2) {
             //货到付款
             $out_trade_no = $this->getOrderNo($kid, $uid);
             DBUtil::updateById(DBUtil::$TABLE_WJK_ORDER, array('order_no' => $out_trade_no), $orderInfo['id']);
         }
     }
     $orderInfo = $this->findOrderInfo($kid, $uid);
     include $this->template('order_submit');
 }