Example #1
0
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');
}
$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')) {