* DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <*****@*****.**> * @copyright 2007-2011 PrestaShop SA * @version Release: $Revision: 6594 $ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ include dirname(__FILE__) . '/../../config/config.inc.php'; include dirname(__FILE__) . '/../../init.php'; include dirname(__FILE__) . '/paysafecard.php'; $module = new PaysafeCard(); if (!$cart->id or $cart->id_customer == 0 or $cart->id_address_delivery == 0 or $cart->id_address_invoice == 0 or !$module->active) { Tools::redirect('order.php?step=3'); } $currency = new Currency($cart->id_currency); if (!$module->isCurrencyActive($currency->iso_code)) { Tools::redirect('order.php?step=3'); } $result = $module->createDisposition($cart); if ($result['return_code'] != 0) { include dirname(__FILE__) . '/../../header.php'; echo $module->getL('cant_create_dispo'); include dirname(__FILE__) . '/../../footer.php'; } else { Tools::redirectLink($result['message']); }
if (!$module->isCurrencyActive($currency->iso_code)) { Tools::redirect('order.php?step=3'); } $amount = number_format((double) $cart->getOrderTotal(true, Cart::BOTH), 2, '.', ''); if (Tools::getValue('hash') != md5(Configuration::get($module->prefix . 'SALT') + $amount + $currency->iso_code)) { die(Tools::displayError()); } $result = $module->getDispositionState((int) $cart->id); $state = Configuration::get('PS_OS_ERROR'); $disposition = PSCDisposition::getByCartId((int) $cart->id); $message = 'Transaction ID #' . $disposition['mtid'] . ': ' . $disposition['amount'] . $disposition['currency'] . '<br />' . date('Y-m-d') . ' '; if ($result[0] == 0) { list($rc, $errorcode, $error_message, $amount, $used_currency, $state) = $result; if ($state == PSCPrepaidServicesAPI::DISPOSITION_DISPOSED || $state == PSCPrepaidServicesAPI::DISPOSITION_DEBITED) { $state = Configuration::get('PS_OS_PAYMENT'); $message .= $module->getL('disposition_created'); } else { $message .= $module->getL('disposition_invalid') . ' ' . $state; } } else { $message .= 'payment_error' . ' ' . $result[2]; } if ($state != Configuration::get('PS_OS_ERROR')) { $state = (int) Configuration::get($module->prefix . 'ORDER_STATE_ID'); if (Configuration::get($module->prefix . 'IMMEDIAT_PAYMENT')) { $message .= '<br />' . date('Y-m-d') . ' '; $result = $module->executeDebit((int) $cart->id); if ($result[0] != 0) { $message .= $module->getL('payment_error') . ' ' . $result[2]; $state = Configuration::get('PS_OS_ERROR'); } else {