本文整理汇总了PHP中OrderHistory::addWithemail方法的典型用法代码示例。如果您正苦于以下问题:PHP OrderHistory::addWithemail方法的具体用法?PHP OrderHistory::addWithemail怎么用?PHP OrderHistory::addWithemail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OrderHistory
的用法示例。
在下文中一共展示了OrderHistory::addWithemail方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processPayment
public function processPayment($result, $orderId)
{
$gopay = new Gopay();
$gpErrors = "";
$history = new OrderHistory();
$history->id_order = $orderId;
if ($result["code"] == GopayHelper::WAITING) {
$gpErrors = $result["description"];
} else {
if ($result["code"] == GopayHelper::PAYMENT_DONE) {
if ($history->getLastOrderState($orderId)->id == intval(_PS_OS_GOPAY_)) {
$history->changeIdOrderState(intval(_PS_OS_PAYMENT_), intval($orderId));
$history->addWithemail();
}
} else {
if ($result["code"] == GopayHelper::CANCELED || $result["code"] == GopayHelper::TIMEOUTED) {
if ($history->getLastOrderState($orderId)->id == intval(_PS_OS_GOPAY_)) {
$history->changeIdOrderState(intval(_PS_OS_CANCELED_), $orderId);
$history->addWithemail();
}
$gpErrors = $result["description"];
}
}
}
return $gpErrors;
}
示例2: postProcess
/**
* @see FrontController::postProcess()
*/
public function postProcess()
{
$oplata = new Oplata();
if ($_POST['order_status'] == OplataCls::ORDER_DECLINED) {
$this->errors[] = Tools::displayError('Order declined');
}
$settings = array('merchant_id' => $oplata->getOption('merchant'), 'secret_key' => $oplata->getOption('secret_key'));
$isPaymentValid = OplataCls::isPaymentValid($settings, $_POST);
if ($isPaymentValid !== true) {
$this->errors[] = Tools::displayError($isPaymentValid);
}
$cart = $this->context->cart;
if ($cart->id_customer == 0 || $cart->id_address_delivery == 0 || $cart->id_address_invoice == 0 || !$this->module->active) {
Tools::redirect('index.php?controller=order&step=1');
}
$customer = new Customer($cart->id_customer);
if (!Validate::isLoadedObject($customer)) {
Tools::redirect('index.php?controller=order&step=1');
}
if (empty($this->errors)) {
list($orderId, ) = explode(OplataCls::ORDER_SEPARATOR, $_POST['order_id']);
$history = new OrderHistory();
$history->id_order = $orderId;
$history->changeIdOrderState((int) Configuration::get('PS_OS_PAYMENT'), $orderId);
$history->addWithemail(true, array('order_name' => $orderId));
Tools::redirect('index.php?controller=order-confirmation&id_cart=' . $cart->id . '&id_module=' . $this->module->id . '&id_order=' . $this->module->currentOrder . '&key=' . $customer->secure_key);
}
}
示例3: postProcess
public function postProcess()
{
parent::postProcess();
if (Tools::isSubmit('markAsReceived')) {
$idOrder = (int) Tools::getValue('id_order');
$order = new Order($idOrder);
if (Validate::isLoadedObject($order)) {
if ($order->getCurrentState() == 15) {
$new_history = new OrderHistory();
$new_history->id_order = (int) $order->id;
$new_history->changeIdOrderState(16, $order);
// 16: Ready for Production
//var_dump($order,$new_history);
$myfile = fopen(PS_PRODUCT_IMG_PATH . "/orders/" . $order->reference . ".txt", "w") or die("Unable to open file!");
$txt = "Order Confirmed\n Order Reference: " . $order->reference;
fwrite($myfile, $txt);
fclose($myfile);
$new_history->addWithemail(true);
}
$this->context->smarty->assign('receipt_confirmation', true);
} else {
$this->_errors[] = Tools::displayError('Error: Invalid order number');
}
}
}
示例4: postProcess
/**
* @see FrontController::postProcess()
*/
public function postProcess()
{
if (empty($_POST)) {
$fap = json_decode(file_get_contents("php://input"));
$_POST = array();
foreach ($fap as $key => $val) {
$_POST[$key] = $val;
}
}
try {
if ($_POST['order_status'] == FondyCls::ORDER_DECLINED) {
exit('Order declined');
}
$fondy = new Fondy();
$settings = array('merchant_id' => $fondy->getOption('merchant'), 'secret_key' => $fondy->getOption('secret_key'));
$isPaymentValid = FondyCls::isPaymentValid($settings, $_POST);
if ($isPaymentValid !== true) {
exit($isPaymentValid);
}
list($orderId, ) = explode(FondyCls::ORDER_SEPARATOR, $_POST['order_id']);
$history = new OrderHistory();
$history->id_order = $orderId;
$id_order_state = _PS_OS_PAYMENT_;
$history->changeIdOrderState(intval($id_order_state), intval($orderId));
$history->addWithemail(true, "");
exit('OK');
} catch (Exception $e) {
exit(get_class($e) . ': ' . $e->getMessage());
}
}
示例5: TransactionNotification
function TransactionNotification($notificationCode)
{
ob_clean();
global $cookie;
$credentials = new PagSeguroAccountCredentials(Configuration::get("PAGSEGURO_BUSINESS"), Configuration::get("PAGSEGURO_TOKEN"));
try {
$transaction = PagSeguroNotificationService::checkTransaction($credentials, $notificationCode);
$id_transaction = $transaction->getCode();
$id_status = $transaction->getStatus()->getValue();
$order_state = Configuration::get("PAGSEGURO_STATUS_{$id_status}");
$orderState = new OrderState($order_state);
$status = $orderState->name[$cookie->id_lang];
$id_order = Db::getInstance()->getValue("SELECT id_order FROM " . _DB_PREFIX_ . "pagseguro_order WHERE id_transaction = '{$id_transaction}'");
$order = new Order(intval($id_order));
/** ENVIO DO EMAIL * */
$pagseguro = new pagseguro();
$idCustomer = $order->id_customer;
$idLang = $order->id_lang;
$customer = new Customer(intval($idCustomer));
$mailVars = array('{email}' => Configuration::get('PS_SHOP_EMAIL'), '{firstname}' => stripslashes($customer->firstname), '{lastname}' => stripslashes($customer->lastname), '{terceiro}' => stripslashes($pagseguro->displayName), '{id_order}' => stripslashes($pagseguro->currentOrder), '{status}' => stripslashes($status));
$pagseguro->enviar($mailVars, 'pagseguro', $status, $pagseguro->displayName, $idCustomer, $idLang, $customer->email, 'modules/pagseguro/mails/');
/** /ENVIO DO EMAIL * */
$extraVars = array();
$history = new OrderHistory();
$history->id_order = intval($id_order);
$history->changeIdOrderState(intval($order_state), intval($id_order));
$history->addWithemail(true, $extraVars);
die("Sucesso!");
} catch (PagSeguroServiceException $e) {
file_put_contents(dirname(__FILE__) . "/error.log", var_export($e, true));
die("Error!");
}
}
示例6: updateStatus
public function updateStatus(&$resp)
{
$this->log_on = Configuration::get('YA_P2P_LOGGING_ON');
if ($resp->status == 'success') {
$cart = $this->context->cart;
if ($cart->id > 0) {
if ($cart->orderExists()) {
$ord = new Order((int) Order::getOrderByCartId($cart->id));
$id_order = $ord->id;
} else {
$ord = $this->module->validateOrder($cart->id, Configuration::get('PS_OS_PAYMENT'), $cart->getOrderTotal(true, Cart::BOTH), $this->module->displayName . " Банковская карта", null, array(), null, false, $cart->secure_key);
$id_order = $this->module->currentOrder;
}
if ($ord) {
$history = new OrderHistory();
$history->id_order = $id_order;
$history->changeIdOrderState(Configuration::get('PS_OS_PAYMENT'), $id_order);
$history->addWithemail(true);
}
}
if ($this->log_on) {
$this->module->logSave('payment_card: #' . $this->module->currentOrder . ' ' . $this->module->l('Order success'));
}
Tools::redirect($this->context->link->getPageLink('order-confirmation') . '&id_cart=' . $this->context->cart->id . '&id_module=' . $this->module->id . '&id_order=' . $this->module->currentOrder . '&key=' . $this->context->cart->secure_key);
}
}
示例7: validateOrderPay
public function validateOrderPay($id_cart, $id_order_state, $amount_paid, $extraCosts, $payment_method = 'Unknown', $message = null, $extra_vars = array(), $currency_special = null, $dont_touch_amount = false, $secure_key = false, Shop $shop = null)
{
$statusPending = Configuration::get('PAYNL_WAIT');
$statusPaid = Configuration::get('PAYNL_SUCCESS');
// Als er nog geen order van dit cartid is, de order valideren.
$orderId = Order::getOrderByCartId($id_cart);
if ($orderId == false) {
if ($id_order_state == $statusPaid) {
if ($extraCosts != 0) {
$id_order_state_tmp = $statusPending;
} else {
$id_order_state_tmp = $statusPaid;
}
} else {
$id_order_state_tmp = $id_order_state;
}
$result = parent::validateOrder($id_cart, $id_order_state_tmp, $amount_paid, $payment_method, $message, $extra_vars, $currency_special, $dont_touch_amount, $secure_key, $shop);
$orderId = $this->currentOrder;
if ($extraCosts == 0 && $id_order_state_tmp == $statusPaid) {
//Als er geen extra kosten zijn, en de order staat op betaald zijn we klaar
return $result;
}
}
if ($orderId && $id_order_state == $statusPaid) {
$order = new Order($orderId);
$shippingCost = $order->total_shipping;
$newShippingCosts = $shippingCost + $extraCosts;
$extraCostsExcl = round($extraCosts / (1 + 21 / 100), 2);
if ($extraCosts != 0) {
//als de order extra kosten heeft, moeten deze worden toegevoegd.
$order->total_shipping = $newShippingCosts;
$order->total_shipping_tax_excl = $order->total_shipping_tax_excl + $extraCostsExcl;
$order->total_shipping_tax_incl = $newShippingCosts;
$order->total_paid_tax_excl = $order->total_paid_tax_excl + $extraCostsExcl;
$order->total_paid_tax_incl = $order->total_paid_real = $order->total_paid = $order->total_paid + $extraCosts;
}
$result = $order->addOrderPayment($amount_paid, $payment_method, $extra_vars['transaction_id']);
if (number_format($order->total_paid_tax_incl, 2) !== number_format($amount_paid, 2)) {
$id_order_state = Configuration::get('PS_OS_ERROR');
}
//paymentid ophalen
$orderPayment = OrderPayment::getByOrderId($order->id);
$history = new OrderHistory();
$history->id_order = (int) $order->id;
$history->changeIdOrderState((int) $id_order_state, $order, $orderPayment);
$res = Db::getInstance()->getRow('
SELECT `invoice_number`, `invoice_date`, `delivery_number`, `delivery_date`
FROM `' . _DB_PREFIX_ . 'orders`
WHERE `id_order` = ' . (int) $order->id);
$order->invoice_date = $res['invoice_date'];
$order->invoice_number = $res['invoice_number'];
$order->delivery_date = $res['delivery_date'];
$order->delivery_number = $res['delivery_number'];
$order->update();
$history->addWithemail();
}
return $result;
}
示例8: changeOrderStatus
public static function changeOrderStatus($id_order, $id_new_state)
{
$new_history = new OrderHistory();
$new_history->id_order = (int) $id_order;
$new_history->changeIdOrderState((int) $id_new_state, $id_order, true);
if (!$new_history->addWithemail(true)) {
ShiptomyidLog::addLog('Error changing order_state to #' . $id_new_state, $id_order);
}
}
示例9: postProcess
public function postProcess()
{
parent::postProcess();
//ИД заказа
$ordernumber = Tools::getValue('InvId');
//Сумма заказа
$amount = Tools::getValue('OutSum');
$signature = md5($amount . ':' . $ordernumber . ':' . Configuration::get('robokassa_password2'));
//Проверка подписи
if (strtoupper($signature) != Tools::getValue('SignatureValue')) {
robokassa::validateAnsver($this->module->l('Invalid signature'));
}
if (Configuration::get('robokassa_postvalidate')) {
$cart = new Cart((int) $ordernumber);
//Проверка существования заказа
if (!Validate::isLoadedObject($cart)) {
robokassa::validateAnsver($this->module->l('Cart does not exist'));
}
$total_to_pay = $cart->getOrderTotal(true, Cart::BOTH);
$currency_rub = new Currency(Currency::getIdByIsoCode('RUB'));
if ($cart->id_currency != $currency_rub->id) {
$currency = new Currency($cart->id_currency);
$total_to_pay = $total_to_pay / $currency->conversion_rate * $currency_rub->conversion_rate;
}
$total_to_pay = number_format($total_to_pay, 2, '.', '');
//Проверка суммы заказа
if ($amount != $total_to_pay) {
robokassa::validateAnsver($this->module->l('Incorrect payment summ'));
}
$this->module->validateOrder((int) $cart->id, Configuration::get('PS_OS_PAYMENT'), $cart->getOrderTotal(true, Cart::BOTH), $this->module->displayName, NULL, array(), NULL, false, $cart->secure_key);
} else {
$order = new Order((int) $ordernumber);
//Проверка существования заказа
if (!Validate::isLoadedObject($order)) {
robokassa::validateAnsver($this->module->l('Order does not exist'));
}
$total_to_pay = $order->total_paid;
$currency_rub = new Currency(Currency::getIdByIsoCode('RUB'));
if ($order->id_currency != $currency_rub->id) {
$currency = new Currency($order->id_currency);
$total_to_pay = $total_to_pay / $currency->conversion_rate * $currency_rub->conversion_rate;
}
$total_to_pay = number_format($total_to_pay, 2, '.', '');
//Проверка суммы заказа
if ($amount != $total_to_pay) {
robokassa::validateAnsver($this->module->l('Incorrect payment summ'));
}
//Меняем статус заказа
$history = new OrderHistory();
$history->id_order = $ordernumber;
$history->changeIdOrderState(Configuration::get('PS_OS_PAYMENT'), $ordernumber);
$history->addWithemail(true);
}
die('OK' . $ordernumber);
}
示例10: postProcess
/**
* @see FrontController::postProcess()
*/
public function postProcess()
{
// Log requests from Privat API side in Debug mode.
if (Configuration::get('PRIVAT24_DEBUG_MODE')) {
$logger = new FileLogger();
$logger->setFilename(_PS_ROOT_DIR_ . '/log/' . $this->module->name . '_' . date('Ymd_His') . '_response.log');
$logger->logError($_POST);
}
$payment = array();
parse_str(Tools::getValue('payment'), $payment);
$hash = sha1(md5(Tools::getValue('payment') . $this->module->merchant_password));
if ($payment && $hash === Tools::getValue('signature')) {
if ($payment['state'] == 'ok') {
$state = Configuration::get('PRIVAT24_WAITINGPAYMENT_OS');
$cart_id = (int) $payment['order'];
$order = new Order(Order::getOrderByCartId($cart_id));
if (!Validate::isLoadedObject($order)) {
PrestaShopLogger::addLog('Privat24: cannot get order by cart id ' . $cart_id, 3);
die;
}
if ($order->getCurrentState() != $state) {
PrestaShopLogger::addLog(sprintf('Privat24: order id %s current state %s !== expected state %s', $order->id, $order->getCurrentState(), $state), 3);
die;
}
// Check paid currency and paid amount.
$id_currency = Currency::getIdByIsoCode($payment['ccy']);
if (!$id_currency) {
PrestaShopLogger::addLog(sprintf('Privat24: order id %s cannot get currency id by iso code: %s', $order->id, $payment['ccy']), 3);
die;
}
if ($order->id_currency != $id_currency) {
PrestaShopLogger::addLog(sprintf('Privat 24: order id %s, order currency id %s does not match with %s', $order->id, $order->id_currency, $id_currency), 3);
die;
}
if ((double) $order->total_paid != (double) $payment['amt']) {
PrestaShopLogger::addLog(sprintf('Privat 24: order id %s order total paid %s does not match %s', $order->id, $order->total_paid, $payment['amt']), 3);
die;
}
$order_history = new OrderHistory();
$order_history->id_order = $order->id;
$order_history->changeIdOrderState(_PS_OS_PAYMENT_, $order->id);
$order_history->addWithemail();
$this->setPaymentTransaction($order, $payment);
$this->module->paymentNotify($order, $payment);
PrestaShopLogger::addLog(sprintf('Privat24 payment accepted: order id: %s, amount: %s, ref: %s', $order->id, $payment['amt'], $payment['ref']), 1);
} else {
PrestaShopLogger::addLog(sprintf('Privat24 payment failed: state: %s, order: %s, ref: %s', $payment['state'], $payment['order'], $payment['ref']), 3, null, null, null, true);
}
} else {
PrestaShopLogger::addLog('Privat24: Payment callback bad signature.', 3, null, null, null, true);
}
die;
}
示例11: initContent
public function initContent()
{
global $smarty, $cart;
$this->display_column_left = false;
$this->display_column_right = false;
parent::initContent();
if (!empty($_POST)) {
$b_is_SSL = function_exists('curl_init') && function_exists('curl_setopt') && function_exists('curl_exec') && function_exists('curl_close');
$p24_session_id = $_POST["p24_session_id"];
$p24_order_id = $_POST["p24_order_id"];
$p24_id_sprzedawcy = Configuration::get('P24_ID_SPRZEDAWCY');
//TWÓJ ID_SPRZEDAWCY;
$sa_sid = explode('|', $_POST["p24_session_id"]);
$sa_sid = preg_replace('/[^a-z0-9]/i', '', $sa_sid[1]);
$o_order = Db::getInstance()->getRow('SELECT `i_id_order`,`i_amount` FROM `' . _DB_PREFIX_ . 'przelewy24_amount` WHERE `s_sid`="' . $sa_sid . '"');
$p24_kwota = (int) $o_order['i_amount'];
// WYNIK POBRANY Z TWOJEJ BAZY (w groszach)
$i_id_order = $o_order['i_id_order'];
$WYNIK = false;
$url = 'secure.przelewy24.pl';
if (Configuration::get('P24_TEST_MODE') == 1) {
$url = 'sandbox.przelewy24.pl';
}
if ($b_is_SSL) {
$WYNIK = p24_weryfikujSSL($p24_id_sprzedawcy, $p24_session_id, $p24_order_id, $p24_kwota, $url);
} else {
$WYNIK = p24_weryfikujNoSSL($p24_id_sprzedawcy, $p24_session_id, $p24_order_id, $p24_kwota, $url);
}
$o_przelewy24 = new Przelewy24();
$opis = "przelewy24.pl";
$cart = new Cart($i_id_order);
$secure_key = $cart->secure_key;
if ($WYNIK[0] == 'TRUE') {
$order_id = Order::getOrderByCartId(intval($i_id_order));
$order = new Order($order_id);
$history = new OrderHistory();
$history->id_order = intval($order_id);
$order_state = Configuration::get('P24_ORDER_STATE_2');
$history->changeIdOrderState($order_state, intval($order_id));
$history->addWithemail(true);
$payments = $order->getOrderPaymentCollection();
if (count($payments) > 0) {
$payments[0]->transaction_id = $p24_order_id;
$payments[0]->update();
}
}
$smarty->assign('p24_status', 'success');
}
$this->setTemplate('paymentSuccessful.tpl');
}
示例12: display
/**
* Makes requesting a refund
*/
public function display()
{
$sa = new DotpaySellerApi($this->config->getDotpaySellerApiUrl());
$result = $sa->makeReturnMoney($this->config->getDotpayApiUsername(), $this->config->getDotpayApiPassword(), Tools::getValue('payment'), Tools::getValue('amount'), Tools::getValue('order_id'), Tools::getValue('description'));
if ($result['http_code'] == 200) {
$status = 'success';
$state = $this->config->getDotpayWaitingRefundStatusId();
$history = new OrderHistory();
$history->id_order = Tools::getValue('order_id');
$history->changeIdOrderState($state, $history->id_order);
$history->addWithemail(true);
} else {
$status = 'error';
$this->context->cookie->dotpay_error = $result['detail'];
}
Tools::redirectAdmin($this->getRedirectUrl($status));
}
示例13: updateOrderStatus
private function updateOrderStatus($orderId, $statusName)
{
$query = '
SELECT osl.`id_order_state`, osl.`name` FROM `' . _DB_PREFIX_ . 'order_state_lang` osl
JOIN `' . _DB_PREFIX_ . 'order_state` os ON osl.`id_order_state` = os.`id_order_state` AND module_name = \'pagseguro\'
WHERE osl.`name` LIKE "' . $statusName . '" GROUP BY osl.`name` LIMIT 0, 1
';
if ($result = Db::getInstance()->executeS($query)) {
$status = $result[0]['id_order_state'];
$order = new Order($orderId);
$history = new OrderHistory();
$history->id_order = (int) $order->id;
$history->changeIdOrderState($status, $order->id);
return (bool) $history->addWithemail();
}
return false;
}
示例14: postProcess
/**
* @see FrontController::postProcess()
*/
public function postProcess()
{
try {
if ($_POST['order_status'] == OplataCls::ORDER_DECLINED) {
exit('Order declined');
}
$oplata = new Oplata();
$settings = array('merchant_id' => $oplata->getOption('merchant'), 'secret_key' => $oplata->getOption('secret_key'));
$isPaymentValid = OplataCls::isPaymentValid($settings, $_POST);
if ($isPaymentValid !== true) {
exit($isPaymentValid);
}
list($orderId, ) = explode(OplataCls::ORDER_SEPARATOR, $_POST['order_id']);
$history = new OrderHistory();
$history->id_order = $orderId;
$history->changeIdOrderState((int) Configuration::get('PS_OS_PAYMENT'), $orderId);
$history->addWithemail(true, array('order_name' => $orderId));
exit('OK');
} catch (Exception $e) {
exit(get_class($e) . ': ' . $e->getMessage());
}
}
示例15: postProcess
public function postProcess()
{
list($orderId, ) = explode(FondyCls::ORDER_SEPARATOR, $_POST['order_id']);
$this->_order = new Order(intval($orderId));
$this->_customer = new Customer($this->_order->id_customer);
if ($_POST['order_status'] == FondyCls::ORDER_DECLINED) {
$this->showError(Tools::displayError('Order declined'));
}
$settings = array('merchant_id' => $this->getOption('merchant'), 'secret_key' => $this->getOption('secret_key'));
$isPaymentValid = FondyCls::isPaymentValid($settings, $_POST);
if ($isPaymentValid !== true) {
$this->showError(Tools::displayError($isPaymentValid));
}
if (!Validate::isLoadedObject($this->_customer)) {
Tools::redirectLink(__PS_BASE_URI__ . 'order.php?step=1');
}
$history = new OrderHistory();
$history->id_order = $orderId;
$id_order_state = _PS_OS_PAYMENT_;
$history->changeIdOrderState(intval($id_order_state), intval($orderId));
$history->addWithemail(true, "");
// redirect to success
Tools::redirectLink(__PS_BASE_URI__ . 'modules/fondy/result-success.php');
}