Пример #1
0
function verifyPayment_paypalstandard()
{
    $orderid = Request::get('custom', 0);
    $status = Request::get('payment_status', 'cancel');
    $status = strtolower($status);
    $updateData = array('order_status' => 'cancel');
    if ($status == 'completed') {
        $updateData['order_status'] = 'completed';
    }
    Orders::update($orderid, $updateData);
}
Пример #2
0
function verifyPayment_moneybookers()
{
    $status = Request::get('status', 2);
    if ((int) $status == 2) {
        $text = Request::get('detail1_text', '');
        if (!isset($text[1])) {
            return false;
        }
        preg_match('/(\\d+)/', $text, $match);
        Orders::update($match[1], array('order_status' => 'cancel'));
    }
}
Пример #3
0
function verifyPayment_payza()
{
    $loadData = Paymentmethods::loadSetting('payza');
    $ap_securitycode = Request::get('ap_securitycode', '');
    if (!isset($ap_securitycode[1])) {
        return false;
    }
    if ($ap_securitycode != $loadData['secret']) {
        $orderid = Request::get('ap_itemcode', '0');
        Orders::update($orderid, array('order_status' => 'cancel'));
    }
}
Пример #4
0
$oxid['db'] = new ezSQL_mysql($oxid['db_user'], $oxid['db_password'], $oxid['db_name'], $oxid['db_host']);
$selectline['db'] = new ezSQL_sqlsrv($selectline['db_user'], $selectline['db_password'], $selectline['db_name'], $selectline['db_host']);
//$selectline['db']->get_row("SELECT * FROM ".$selectline['table_orders']."");
if ($action == 'product-import') {
    if (!oxid_userlogin()) {
        echo json_encode(array('msg' => '<p class="alert alert-danger">SelectConnect konnte sich nicht bei Oxid einloggen!</p>'));
        exit;
    }
    $step = isset($_GET['step']) ? $_GET['step'] : 0;
    $products = new Products();
    echo json_encode(array('msg' => $products->import($step)));
    exit;
}
if ($action == 'cron' || $argv[1] == 'cron') {
    $orders = new Orders();
    $orders->update();
    exit;
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="de">
<head>

	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>SelectConnect | made by WortBildTon.de</title>

	<link href='http://fonts.googleapis.com/css?family=Roboto+Condensed:400,300,700' rel='stylesheet' type='text/css'>
	<link href='bootstrap/css/bootstrap.min.css' rel='stylesheet' type='text/css'>
	<link href='bootstrap/css/bootstrap-select.min.css' rel='stylesheet' type='text/css'>
	<link href='css/style.css' rel='stylesheet' type='text/css'>
Пример #5
0
function orderNotify()
{
    $orders = Orders::publicPayOrderSignVerify();
    $order_code = isset($orders['order_code']) ? $orders['order_code'] : '';
    $order_id = isset($orders['id']) ? (int) $orders['id'] : 0;
    $order_status = isset($orders['order_status']) ? (int) $orders['order_status'] : 0;
    $pay_transaction_id = isset($orders['pay_transaction_id']) ? $orders['pay_transaction_id'] : '';
    $paid = isset($orders['paid']) ? $orders['paid'] : 0;
    $paymethod_code = $orders['paymethod_code'];
    if (1 == $order_status) {
        $pay_method = PaymentMethod::getOne(array('code' => $paymethod_code), 'id');
        $pay_method = isset($pay_method['id']) ? (int) $pay_method['id'] : 0;
        $sk_order_code = null;
        $order_type = substr($order_code, -2, 2);
        if ('YK' == $order_type) {
            $sk_order_code = str_replace('YK', 'SK', $order_code);
        }
        DB::tranBegin('notify');
        //事务开始
        Orders::update(array('order_code' => $order_code), array('paid' => $paid, 'order_status' => 2, 'pay_method' => $pay_method, 'pay_transaction_id' => $pay_transaction_id, 'pay_time' => time()));
        if ($sk_order_code) {
            Orders::update(array('order_code' => $sk_order_code), array('order_status' => 5));
        }
        ProductsStockLock::changeStatus($order_code, 1);
        OrdersProducts::updateOrderProductStock($order_code);
        $commit_status = DB::tranEnd('notify');
        if (!$commit_status) {
            ABase::toJson(1, 'FAIL', $orders);
        }
    }
    ABase::toJson(0, 'SUCCESS', $orders);
}
Пример #6
0
//先把状态改成 订单取消,回滚完库存把状态改成7:订单关闭
ABase::log("Order ids in 1 hour : " . serialize($ids), 'cron_');
$time = time() - 10800;
//3小时前的订单库存回收,考虑订单生成后还差一分钟订单失效时用户点击付款,并在付款操作时又等待了2小时
$orders = Orders::getList("create_time<{$time} AND order_status=6", 'id,order_code');
//首先在1个小时内使订单失效
foreach ($orders as $k => $order) {
    $oid = $order['id'];
    $order_code = $order['order_code'];
    $order_type = substr($order_code, -2, 2);
    if ('SK' != $order_type) {
        unset($orders[$k]);
        continue;
    }
    //DB::Debug();
    $stocks = ProductsStockLock::getList("order_code='{$order_code}' AND status=0");
    ABase::log("Stocks in 3 hour order: " . serialize($stocks), 'cron_');
    DB::tranBegin('stock_recycle');
    foreach ($stocks as $stock) {
        $sid = $stock['id'];
        $product_sku = $stock['product_sku'];
        $product_num = $stock['product_num'];
        $exp_date = $stock['exp_date'];
        ProductsStock::increase("product_sku='{$product_sku}' AND exp_date='{$exp_date}'", "stock", $product_num);
        ProductsStockLock::update($sid, array('status' => 2));
    }
    Orders::update($oid, array('order_status' => 7));
    $commit_status = DB::tranEnd('stock_recycle');
}
ABase::log("Orders in 3 hour : " . serialize($orders), 'cron_');
//---------- END 过期未支付订单库存回收
Пример #7
0
 public static function cancelOrder($order_code, $user)
 {
     $order_type = substr($order_code, -2, 2);
     if ('SK' != $order_type) {
         return false;
     }
     $order = Orders::getOne(array('order_code' => $order_code), 'id, order_status');
     if (1 != $order['order_status']) {
         return false;
     }
     $oid = $order['id'];
     //DB::Debug();
     $stocks = ProductsStockLock::getList("order_code='{$order_code}' AND status=0");
     ABase::log("Stocks in cancelOrder: " . serialize($stocks), 'cancel_order_');
     DB::tranBegin('Orders.cancelOrder');
     //事务开始
     OrdersLog::insert(array('order_code' => $order_code, 'ex_status' => '取消订单', 'admin' => $user, 'action' => '订单取消', 'ip' => Func::getIP(), 'create_time' => time()));
     foreach ($stocks as $stock) {
         $sid = $stock['id'];
         $product_sku = $stock['product_sku'];
         $product_num = $stock['product_num'];
         $exp_date = $stock['exp_date'];
         ProductsStock::increase("product_sku='{$product_sku}' AND exp_date='{$exp_date}'", "stock", $product_num);
         ProductsStockLock::update($sid, array('status' => 2));
     }
     Orders::update($oid, array('order_status' => 7));
     $commit_status = DB::tranEnd('Orders.cancelOrder');
 }
Пример #8
0
 /**
  * Updates the status of an order and redirects back to the order history 
  * page.
  *  
  * @param int $id id of the edited order
  */
 public static function edit($id)
 {
     $params = $_POST;
     $attributes = array('id' => $id, 'status' => $params['status']);
     if ($attributes['status'] == 'Toimitettu') {
         $attributes['actual_delivery_time'] = date('d-m-Y H:i:s');
     }
     $order = new Orders($attributes);
     $order->update();
     Redirect::to('/tilaushistoria', array('message' => 'Tilaustietoja muokattu!'));
 }