function process() { global $osC_Database, $osC_Currencies, $osC_ShoppingCart; $this->_order_id = osC_Order::insert(); // Load gateway setings require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/ext/payments/ideal/config.php'; $aGatewaySettings = gateway_getSettings(); // Load gateway file require_once $aGatewaySettings['GATEWAY_FILE']; // Add transaction record to database $sOrderId = $this->_order_id; $sOrderCode = GatewayCore::randomCode(32); $sTransactionId = GatewayCore::randomCode(32); $sTransactionCode = GatewayCore::randomCode(32); $sTransactionMethod = $aGatewaySettings['GATEWAY_METHOD']; $fTransactionAmount = $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), 'EUR'); $sTransactionDescription = 'Webshop bestelling #' . $sOrderId; $sTransactionPaymentUrl = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . FILENAME_CHECKOUT . '?callback&module=ideal&order_id=' . $sOrderId . '&order_code=' . $sOrderCode; $sTransactionSuccessUrl = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . FILENAME_CHECKOUT . '?callback&module=ideal&order_id=' . $sOrderId . '&order_code=' . $sOrderCode; $sTransactionPendingUrl = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . FILENAME_CHECKOUT . '?callback&module=ideal&order_id=' . $sOrderId . '&order_code=' . $sOrderCode; $sTransactionFailureUrl = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . FILENAME_CHECKOUT . '?callback&module=ideal&order_id=' . $sOrderId . '&order_code=' . $sOrderCode; // Insert into #_transactions $sql = "INSERT INTO `" . DB_TABLE_PREFIX . "transactions` SET \n `id` = NULL, \n `order_id` = '" . mysql_real_escape_string($sOrderId) . "', \n `order_code` = '" . mysql_real_escape_string($sOrderCode) . "', \n `transaction_id` = '" . mysql_real_escape_string($sTransactionId) . "', \n `transaction_code` = '" . mysql_real_escape_string($sTransactionCode) . "', \n `transaction_method` = '" . mysql_real_escape_string($sTransactionMethod) . "', \n `transaction_date` = '" . mysql_real_escape_string(time()) . "', \n `transaction_amount` = '" . mysql_real_escape_string($fTransactionAmount) . "', \n `transaction_description` = '" . mysql_real_escape_string($sTransactionDescription) . "', \n `transaction_status` = NULL, \n `transaction_url` = NULL, \n `transaction_payment_url` = '" . mysql_real_escape_string($sTransactionPaymentUrl) . "', \n `transaction_success_url` = '" . mysql_real_escape_string($sTransactionSuccessUrl) . "', \n `transaction_pending_url` = '" . mysql_real_escape_string($sTransactionPendingUrl) . "', \n `transaction_failure_url` = '" . mysql_real_escape_string($sTransactionFailureUrl) . "', \n `transaction_params` = NULL, \n `transaction_log` = NULL;"; $oQuery = $osC_Database->query($sql); $oQuery->execute(); // Redirect to iDEAL Setup osc_redirect(HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . '/ext/payments/ideal/setup.php?order_id=' . $sOrderId . '&order_code=' . $sOrderCode); // osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'callback&module=ideal&order_id=' . $sOrderId . '&order_code=' . $sOrderCode, 'SSL')); }
function install() { global $osC_Database; parent::install(); $osC_Database->simpleQuery("CREATE TABLE IF NOT EXISTS `" . DB_TABLE_PREFIX . "transactions` (`id` int(11) unsigned NOT NULL auto_increment, `order_id` varchar(100) default NULL, `order_code` varchar(100) default NULL, `transaction_id` varchar(100) default NULL, `transaction_code` varchar(100) default NULL, `transaction_method` varchar(100) default NULL, `transaction_date` int(11) unsigned default NULL, `transaction_amount` decimal(10,2) unsigned default NULL, `transaction_description` varchar(100) default NULL, `transaction_status` varchar(16) default NULL, `transaction_url` varchar(255) default NULL, `transaction_payment_url` varchar(255) default NULL, `transaction_success_url` varchar(255) default NULL, `transaction_pending_url` varchar(255) default NULL, `transaction_failure_url` varchar(255) default NULL, `transaction_params` text, `transaction_log` text, PRIMARY KEY (`id`));"); // Load gateway setings require_once realpath(dirname(__FILE__) . '/../../../') . '/ext/payments/ideal/config.php'; $aGatewaySettings = gateway_getSettings(); $osC_Database->simpleQuery("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('iDEAL Module', 'MODULE_PAYMENT_IDEAL_STATUS', '-1', '" . addSlashes('<iframe src="' . HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . '/ext/payments/ideal/gateway_info.php" height="400" width="343" scrolling="no" frameborder="0"></iframe>') . "<b>Enable iDEAL Module</b>', '6', '0', 'osc_cfg_use_get_boolean_value', 'osc_cfg_set_boolean_value(array(1, -1))', now())"); $osC_Database->simpleQuery("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort order of display.', 'MODULE_PAYMENT_IDEAL_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0' , now())"); $osC_Database->simpleQuery("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Remove on PAYMENT CANCELLED', 'MODULE_PAYMENT_IDEAL_REMOVE_ORDER_ON_CANCELLED', '-1', 'Remove order when payment is cancelled.', '6', '0', 'osc_cfg_use_get_boolean_value', 'osc_cfg_set_boolean_value(array(1, -1))', now())"); $osC_Database->simpleQuery("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Status on PAYMENT SUCCESS', 'MODULE_PAYMENT_IDEAL_SUCCESS_ORDER_STATUS_ID', '0', '', '6', '0', 'osc_cfg_set_order_statuses_pull_down_menu', 'osc_cfg_use_get_order_status_title', now())"); $osC_Database->simpleQuery("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Status on PAYMENT PENDING', 'MODULE_PAYMENT_IDEAL_PENDING_ORDER_STATUS_ID', '0', '', '6', '0', 'osc_cfg_set_order_statuses_pull_down_menu', 'osc_cfg_use_get_order_status_title', now())"); $osC_Database->simpleQuery("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Status on PAYMENT OPEN', 'MODULE_PAYMENT_IDEAL_OPEN_ORDER_STATUS_ID', '0', '', '6', '0', 'osc_cfg_set_order_statuses_pull_down_menu', 'osc_cfg_use_get_order_status_title', now())"); $osC_Database->simpleQuery("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Status on PAYMENT CANCELLED', 'MODULE_PAYMENT_IDEAL_CANCELLED_ORDER_STATUS_ID', '0', '', '6', '0', 'osc_cfg_set_order_statuses_pull_down_menu', 'osc_cfg_use_get_order_status_title', now())"); $osC_Database->simpleQuery("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Status on PAYMENT EXPIRED', 'MODULE_PAYMENT_IDEAL_EXPIRED_ORDER_STATUS_ID', '0', '', '6', '0', 'osc_cfg_set_order_statuses_pull_down_menu', 'osc_cfg_use_get_order_status_title', now())"); $osC_Database->simpleQuery("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Status on PAYMENT FAILURE', 'MODULE_PAYMENT_IDEAL_FAILURE_ORDER_STATUS_ID', '0', '', '6', '0', 'osc_cfg_set_order_statuses_pull_down_menu', 'osc_cfg_use_get_order_status_title', now())"); }