Esempio n. 1
0
include dirname(__FILE__) . '/../../config/config.inc.php';
include dirname(__FILE__) . '/../../init.php';
include dirname(__FILE__) . '/cashticket.php';
$module = new CashTicket();
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 = _PS_OS_ERROR_;
$disposition = Disposition::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 == PrepaidServicesAPI::DISPOSITION_DISPOSED || $state == PrepaidServicesAPI::DISPOSITION_DEBITED) {
        $state = _PS_OS_PAYMENT_;
        $message .= $module->getL('disposition_created');
    } else {
        $message .= $module->getL('disposition_invalid') . ' ' . $state;
    }
} else {
    $message .= 'payment_error' . ' ' . $result[2];
}
if ($state != _PS_OS_ERROR_) {