Example #1
0
/**
 * 付款单的支付
 * @param unknown_type $payment_notice_id
 * 当超额付款时在此进行退款处理
 */
function payment_paid($payment_notice_id, $outer_notice_sn = '')
{
    $payment_notice_id = intval($payment_notice_id);
    $now = TIME_UTC;
    $GLOBALS['db']->query("update " . DB_PREFIX . "payment_notice set pay_time = " . $now . ", pay_date = " . to_date($now, 'Y-m-d') . ",outer_notice_sn = '" . $outer_notice_sn . "',is_paid = 1 where id = " . $payment_notice_id . " and is_paid = 0");
    $rs = $GLOBALS['db']->affected_rows();
    if ($rs) {
        $payment_notice = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment_notice where id = " . $payment_notice_id);
        $payment_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment where id = " . $payment_notice['payment_id']);
        $GLOBALS['db']->query("update " . DB_PREFIX . "payment set total_amount = total_amount + " . $payment_notice['money'] . " where class_name = '" . $payment_info['class_name'] . "'");
        //if (intval($payment_notice['order_id']) == 0){
        //充值
        require_once APP_ROOT_PATH . "system/libs/user.php";
        $msg = sprintf($GLOBALS['lang']['PAYMENT_INCHARGE'], $payment_notice['notice_sn']);
        modify_account(array('money' => $payment_notice['money'], 'score' => 0), $payment_notice['user_id'], $msg, 1);
        // 充值奖励
        if ($payment_notice['money'] > intval(app_conf("USER_RECHARGE_LIMIT_MONEY"))) {
            $award = $payment_notice['money'] * floatval(app_conf("USER_RECHARGE_PERCENT")) * 0.01;
            modify_account(array('money' => $award, 'score' => 0), $payment_notice['user_id'], "充值奖励", 1);
        }
        //在此处开始生成付款的短信及邮件
        send_payment_sms($payment_notice_id);
        send_payment_mail($payment_notice_id);
        //}
    }
    return $rs;
}
Example #2
0
/**
 * 付款单的支付
 * @param unknown_type $payment_notice_id
 * 当超额付款时在此进行退款处理
 */
function payment_paid($payment_notice_id, $outer_notice_sn = '')
{
    $payment_notice_id = intval($payment_notice_id);
    $now = TIME_UTC;
    $GLOBALS['db']->query("update " . DB_PREFIX . "payment_notice set pay_time = " . $now . ", pay_date = '" . to_date($now, 'Y-m-d') . "',outer_notice_sn = '" . $outer_notice_sn . "',is_paid = 1 where id = " . $payment_notice_id . " and is_paid = 0");
    $rs = $GLOBALS['db']->affected_rows();
    if ($rs) {
        $payment_notice = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment_notice where id = " . $payment_notice_id);
        $payment_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment where id = " . $payment_notice['payment_id']);
        $GLOBALS['db']->query("update " . DB_PREFIX . "payment set total_amount = total_amount + " . $payment_notice['money'] . " where class_name = '" . $payment_info['class_name'] . "'");
        if (intval($payment_notice['order_id']) == 0) {
            //充值
            require_once APP_ROOT_PATH . "system/libs/user.php";
            if ($payment_info['online_pay'] == 0) {
                $msg = '线下充值';
                // sprintf($GLOBALS['lang']['PAYMENT_INCHARGE'],$payment_notice['notice_sn']);
            } else {
                $msg = '在线充值';
                // sprintf($GLOBALS['lang']['PAYMENT_INCHARGE'],$payment_notice['notice_sn']);
            }
            $fee_amount = $payment_notice['fee_amount'];
            $money = $payment_notice['money'];
            modify_account(array('money' => $money - $fee_amount, 'fee_amount' => $fee_amount, 'score' => 0), $payment_notice['user_id'], $msg, 1);
            //在此处开始生成付款的短信及邮件
            send_payment_sms($payment_notice_id);
            send_payment_mail($payment_notice_id);
        }
    }
    return $rs;
}
Example #3
0
/**
 * 付款单的支付
 * @param unknown_type $payment_notice_id
 * 当超额付款时在此进行退款处理
 */
function payment_paid($payment_notice_id)
{
    $payment_notice_id = intval($payment_notice_id);
    $now = get_gmtime();
    $GLOBALS['db']->query("update " . DB_PREFIX . "payment_notice set pay_time = " . $now . ",is_paid = 1 where id = " . $payment_notice_id . " and is_paid = 0");
    $rs = $GLOBALS['db']->affected_rows();
    if ($rs) {
        $payment_notice = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment_notice where id = " . $payment_notice_id);
        $payment_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment where id = " . $payment_notice['payment_id']);
        if ($payment_info['class_name'] == 'Voucher') {
            $GLOBALS['db']->query("update " . DB_PREFIX . "deal_order set pay_amount = pay_amount + " . $payment_notice['money'] . ",ecv_money = " . $payment_notice['money'] . " where id = " . $payment_notice['order_id'] . " and is_delete = 0 and order_status = 0 and ((pay_amount + " . $payment_notice['money'] . " <= total_price) or " . $payment_notice['money'] . ">=total_price)");
            $order_incharge_rs = $GLOBALS['db']->affected_rows();
        } elseif ($payment_info['class_name'] == 'Account') {
            $GLOBALS['db']->query("update " . DB_PREFIX . "deal_order set pay_amount = pay_amount + " . $payment_notice['money'] . ",account_money = account_money + " . $payment_notice['money'] . " where id = " . $payment_notice['order_id'] . " and is_delete = 0 and order_status = 0 and pay_amount + " . $payment_notice['money'] . " <= total_price");
            $order_incharge_rs = $GLOBALS['db']->affected_rows();
        } else {
            $GLOBALS['db']->query("update " . DB_PREFIX . "deal_order set pay_amount = pay_amount + " . $payment_notice['money'] . " where id = " . $payment_notice['order_id'] . " and is_delete = 0 and order_status = 0 and pay_amount + " . $payment_notice['money'] . " <= total_price");
            $order_incharge_rs = $GLOBALS['db']->affected_rows();
        }
        $GLOBALS['db']->query("update " . DB_PREFIX . "payment set total_amount = total_amount + " . $payment_notice['money'] . " where class_name = '" . $payment_info['class_name'] . "'");
        if (!$order_incharge_rs) {
            //超出充值
            require_once APP_ROOT_PATH . "system/libs/user.php";
            $order_info = $GLOBALS['db']->getRow("select is_delete,order_status from " . DB_PREFIX . "deal_order where id = " . intval($payment_notice['order_id']));
            if ($order_info['is_delete'] == 1 || $order_info['order_status'] == 1) {
                $msg = sprintf($GLOBALS['lang']['DELETE_INCHARGE'], $payment_notice['notice_sn']);
            } else {
                $msg = sprintf($GLOBALS['lang']['PAYMENT_INCHARGE'], $payment_notice['notice_sn']);
            }
            modify_account(array('money' => $payment_notice['money'], 'score' => 0), $payment_notice['user_id'], $msg);
            //更新订单的extra_status为1
            $GLOBALS['db']->query("update " . DB_PREFIX . "deal_order set extra_status = 1 where is_delete = 0 and id = " . intval($payment_notice['order_id']));
        }
        //在此处开始生成付款的短信及邮件
        send_payment_sms($payment_notice_id);
        send_payment_mail($payment_notice_id);
    }
    return $rs;
}
Example #4
0
File: cart.php Project: macall/jsd
/**
 * 付款单的支付
 * @param unknown_type $payment_notice_id
 * 当超额付款时在此进行退款处理
 */
function payment_paid($payment_notice_id)
{
    require_once APP_ROOT_PATH . "system/model/user.php";
    $payment_notice_id = intval($payment_notice_id);
    $now = NOW_TIME;
    $GLOBALS['db']->query("update " . DB_PREFIX . "payment_notice set pay_time = " . $now . ",is_paid = 1 where id = " . $payment_notice_id . " and is_paid = 0");
    $rs = $GLOBALS['db']->affected_rows();
    if ($rs) {
        $payment_notice = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment_notice where id = " . $payment_notice_id);
        $order_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal_order where id = " . $payment_notice['order_id']);
        $payment_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment where id = " . $payment_notice['payment_id']);
        if ($payment_info['class_name'] == 'Voucher') {
            $GLOBALS['db']->query("update " . DB_PREFIX . "deal_order set pay_amount = pay_amount + " . $payment_notice['money'] . ",ecv_money = " . $payment_notice['money'] . " where id = " . $payment_notice['order_id'] . " and is_delete = 0 and order_status = 0 and ((pay_amount + " . $payment_notice['money'] . " <= total_price) or " . $payment_notice['money'] . ">=total_price)");
            $order_incharge_rs = $GLOBALS['db']->affected_rows();
        } elseif ($payment_info['class_name'] == 'Account') {
            $GLOBALS['db']->query("update " . DB_PREFIX . "deal_order set pay_amount = pay_amount + " . $payment_notice['money'] . ",account_money = account_money + " . $payment_notice['money'] . " where id = " . $payment_notice['order_id'] . " and is_delete = 0 and order_status = 0 and pay_amount + " . $payment_notice['money'] . " <= total_price");
            $order_incharge_rs = $GLOBALS['db']->affected_rows();
        } else {
            // 			if($order_info['type']==0&&$payment_notice['money']!=0)
            // 			{
            // 				/**
            // 				 * 订单在线支付记录日志
            // 				 */
            // 				$log_info['log_info'] = $order_info['order_sn']."订单在线支付";
            // 				$log_info['log_time'] = NOW_TIME;
            // 				$adm_session = es_session::get(md5(app_conf("AUTH_KEY")));
            // 				$adm_id = intval($adm_session['adm_id']);
            // 				if($adm_id!=0)
            // 				{
            // 					$log_info['log_admin_id'] = $adm_id;
            // 				}
            // 				else
            // 				{
            // 					$log_info['log_user_id'] = $payment_notice['user_id'];
            // 				}
            // 				$log_info['money'] = floatval($payment_notice['money']);
            // 				$log_info['user_id'] = $payment_notice['user_id'];
            // 				$GLOBALS['db']->autoExecute(DB_PREFIX."user_log",$log_info);
            // 			}
            $GLOBALS['db']->query("update " . DB_PREFIX . "deal_order set pay_amount = pay_amount + " . $payment_notice['money'] . " where id = " . $payment_notice['order_id'] . " and is_delete = 0 and order_status = 0 and pay_amount + " . $payment_notice['money'] . " <= total_price");
            $order_incharge_rs = $GLOBALS['db']->affected_rows();
        }
        $GLOBALS['db']->query("update " . DB_PREFIX . "payment set total_amount = total_amount + " . $payment_notice['money'] . " where class_name = '" . $payment_info['class_name'] . "'");
        if (!$order_incharge_rs && $payment_notice['money'] > 0) {
            //超出充值
            if ($order_info['is_delete'] == 1 || $order_info['order_status'] == 1) {
                $msg = sprintf($GLOBALS['lang']['DELETE_INCHARGE'], $payment_notice['notice_sn']);
            } else {
                $msg = sprintf($GLOBALS['lang']['PAYMENT_INCHARGE'], $payment_notice['notice_sn']);
            }
            modify_account(array('money' => $payment_notice['money'], 'score' => 0), $payment_notice['user_id'], $msg);
            modify_statements($payment_notice['money'], 2, $order_info['order_sn'] . "订单超额支付");
            //订单超额充值
            order_log($order_info['order_sn'] . "订单超额支付," . format_price($payment_notice['money']) . "已退到会员余额", $order_info['id']);
            //更新订单的extra_status为1
            $GLOBALS['db']->query("update " . DB_PREFIX . "deal_order set extra_status = 1 where is_delete = 0 and id = " . intval($payment_notice['order_id']));
        } else {
            //收入
            modify_statements($payment_notice['money'], 0, $order_info['order_sn'] . "订单成功付款");
            //总收入
            modify_statements($payment_notice['money'], 1, $order_info['order_sn'] . "订单成功付款");
            //订单支付收入
        }
        //在此处开始生成付款的短信及邮件
        send_payment_sms($payment_notice_id);
        send_payment_mail($payment_notice_id);
    }
    return $rs;
}