/** * 付款单的支付 * @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; }
/** * 付款单的支付 * @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; }
/** * 付款单的支付 * @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; }
/** * 付款单的支付 * @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; }