public function selection() { global $order; $display = parent::selection(); rpSession::setRpSessionEntry('basketAmount', rpData::getBasketAmount($order)); rpSession::setRpSessionEntry('securityCode', $this->securityCode); rpSession::setRpSessionEntry('profileId', $this->profileId); if (!is_null($display)) { $minVarName = 'min' . ucfirst(strtolower($order->billing['country']['iso_code_2'])); $maxVarName = 'max' . ucfirst(strtolower($order->billing['country']['iso_code_2'])); $privacy = ''; $privacyConstant = 'MODULE_PAYMENT_' . strtoupper($this->code) . '_RATEPAY_PRIVACY_URL_' . strtoupper($order->billing['country']['iso_code_2']); if (defined($privacyConstant)) { $privacy = constant($privacyConstant); } $smarty = new Smarty(); /* BEGINN OF DEVICE FINGERPRINT CODE */ if (!rpSession::getRpSessionEntry('RATEPAY_DFP_TOKEN') && rpDb::getRpDfpSId()) { $ratepay_dfp_token = md5($order->info['total'] . microtime()); rpSession::setRpSessionEntry('RATEPAY_DFP_TOKEN', $ratepay_dfp_token); $smarty->assign('RATEPAY_DFP_TOKEN', $ratepay_dfp_token); $smarty->assign('RATEPAY_DFP_SNIPPET_ID', rpDb::getRpDfpSId()); } /* END OF DEVICE FINGERPRINT CODE */ //CS Aenderung des Value von $display['module'] fuer die Ausgabe $display['module'] = $this->public_title; $display['fields'][] = array('title' => '', 'field' => $smarty->fetch(CURRENT_TEMPLATE . '/module/ratepay_rate.html')); } return $display; }
/** * Call PAYMENT_CHANGE with the subtype full or * part return and updates order and item data */ public static function refundAction() { $post = rpGlobals::getPost(); $orderId = rpGlobals::getPostEntry('order_number'); $order = new order($orderId); $payment = rpLoader::getRatepayPayment($order->info['payment_method']); $transactionId = rpDb::getRatepayOrderDataEntry($orderId, 'transaction_id'); $transactionShortId = rpDb::getRatepayOrderDataEntry($orderId, 'transaction_short_id'); $subType = 'return'; if (rpData::getBasketAmount($order, $orderId, self::getRefundPostData($post), $subType) >= 0) { $data = array('HeadInfo' => rpRequestMapper::getHeadInfoModel($order, $transactionId, $transactionShortId, $orderId, $subType), 'BasketInfo' => rpRequestMapper::getBasketInfoModel($order, $orderId, self::getRefundPostData($post), $subType), 'PaymentInfo' => rpRequestMapper::getPaymentInfoModel($order, $orderId, self::getRefundPostData($post), $subType)); $requestService = new rpRequestService($payment->sandbox, $data); $result = $requestService->callPaymentChange(); rpDb::xmlLog($order, $requestService->getRequest(), $orderId, $requestService->getResponse()); if (!array_key_exists('error', $result)) { rpSession::setRpSessionEntry('message_css_class', 'messageStackSuccess'); rpSession::setRpSessionEntry('message', RATEPAY_ORDER_MESSAGE_REFUND_SUCCESS); rpDb::refundRpOrder(self::getRefundPostData($post), $order); rpDb::setRpHistoryEntrys($post, 'PAYMENT_CHANGE', $subType); rpDb::cancelOrRefundShopItems($post, $orderId); rpDb::updateShopOrderTotals($orderId); } else { rpSession::setRpSessionEntry('message_css_class', 'messageStackError'); rpSession::setRpSessionEntry('message', RATEPAY_ORDER_MESSAGE_REFUND_ERROR); } } else { rpSession::setRpSessionEntry('message_css_class', 'messageStackError'); rpSession::setRpSessionEntry('message', RATEPAY_ORDER_MESSAGE_REFUND_ERROR); } xtc_redirect(xtc_href_link("ratepay_order.php", 'oID=' . $orderId, 'SSL')); }
public function selection() { global $order; $display = parent::selection(); rpSession::setRpSessionEntry('basketAmount', rpData::getBasketAmount($order)); if (!is_null($display)) { $minVarName = 'min' . ucfirst(strtolower($order->billing['country']['iso_code_2'])); $maxVarName = 'max' . ucfirst(strtolower($order->billing['country']['iso_code_2'])); $privacy = ''; $privacyConstant = 'MODULE_PAYMENT_' . strtoupper($this->code) . '_RATEPAY_PRIVACY_URL_' . strtoupper($order->billing['country']['iso_code_2']); if (defined($privacyConstant)) { $privacy = constant($privacyConstant); } $smarty = new Smarty(); $smarty->assign('ratepayPrivacyUrl', $privacy); $smarty->assign('RATEPAY_DATA_1', RATEPAY_SEPA_DATA_1); $smarty->assign('RATEPAY_DATA_2', RATEPAY_SEPA_DATA_2); $smarty->assign('RATEPAY_DATA_3', RATEPAY_SEPA_DATA_3); $smarty->assign('RATEPAY_INFO_1', RATEPAY_SEPA_INFO_1); $smarty->assign('RATEPAY_INFO_2', RATEPAY_SEPA_INFO_2); $smarty->assign('RATEPAY_INFO_3', RATEPAY_SEPA_INFO_3); $smarty->assign('RATEPAY_INFO_4', RATEPAY_SEPA_INFO_4); $smarty->assign('RATEPAY_INFO_5', RATEPAY_SEPA_INFO_5); $smarty->assign('RATEPAY_INFO_6', RATEPAY_SEPA_INFO_6); $smarty->assign('RATEPAY_INFO_7', RATEPAY_SEPA_INFO_7); $smarty->assign('RATEPAY_ACCOUNT_HOLDER', RATEPAY_SEPA_ACCOUNT_HOLDER); $smarty->assign('RATEPAY_ACCOUNT_NUMBER', RATEPAY_SEPA_ACCOUNT_NUMBER); $smarty->assign('RATEPAY_ACCOUNT_SORT_CODE', RATEPAY_SEPA_ACCOUNT_SORT_CODE); $smarty->assign('RATEPAY_ACCOUNT_BANK_NAME', RATEPAY_SEPA_ACCOUNT_BANK_NAME); $smarty->assign('bankData', $this->getBankData()); $smarty->caching = 0; /* BEGINN OF DEVICE FINGERPRINT CODE */ if (!rpSession::getRpSessionEntry('RATEPAY_DFP_TOKEN') && rpDb::getRpDfpSId()) { $ratepay_dfp_token = md5($order->info['total'] . microtime()); rpSession::setRpSessionEntry('RATEPAY_DFP_TOKEN', $ratepay_dfp_token); $smarty->assign('RATEPAY_DFP_TOKEN', $ratepay_dfp_token); $smarty->assign('RATEPAY_DFP_SNIPPET_ID', rpDb::getRpDfpSId()); } /* END OF DEVICE FINGERPRINT CODE */ //CS Aenderung des Value von $display['module'] fuer die Ausgabe $display['module'] = $this->public_title; $display['fields'][] = array('title' => '', 'field' => $smarty->fetch(CURRENT_TEMPLATE . '/module/ratepay_sepa.html')); } return $display; }
* @license GPLv2 */ /** * RatePAY order template, displays the deliver/cancel, refund, credit and histroy panel */ require_once 'includes/application_top.php'; require_once '../lang/' . $_SESSION['language'] . '/admin/modules/payment/ratepay.php'; require_once '../includes/classes/ratepay/helpers/Data.php'; require_once '../includes/classes/ratepay/helpers/Db.php'; require_once '../includes/classes/ratepay/helpers/Session.php'; require_once '../includes/classes/ratepay/helpers/Globals.php'; require_once 'includes/classes/order.php'; $orderId = rpGlobals::hasParam('oID') ? rpGlobals::getParam('oID') : die('Missing param: "oID"'); $order = new order($orderId); $lang = $_SESSION['language']; $basketAmount = rpData::getBasketAmount($order, $orderId); $allItems = rpDb::getRpItems($orderId); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html <?php echo HTML_PARAMS; ?> > <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?> "> <meta name="robots" content="noindex,nofollow"> <title><?php echo TITLE;
/** * Retrieve a basketInfo model, filled with the items and basket data * * @param order $order * @param int $orderId * @param array $post * @return rpBasketInfo */ public static function getBasketInfoModel(order $order, $orderId = null, array $post = array(), $subType = false) { $basketInfo = new rpBasketInfo(); $basketInfo->setAmount(rpData::getBasketAmount($order, $orderId, $post, $subType))->setCurrency($order->info['currency'])->setItems(self::getItems($order, $post, $orderId, $subType)); return $basketInfo; }
/** * Update the shop order totals for the give order id * * @param int $orderId */ public static function updateShopOrderTotals($orderId) { $order = new order($orderId); $total = rpData::getBasketAmount($order, $orderId); $sql = "UPDATE orders_total SET value = " . (double) $total . " WHERE class = 'ot_total' AND orders_id = '" . xtc_db_input($orderId) . "'"; xtc_db_query($sql); $tax = rpData::getTotalTaxAmount($orderId); $sql = "UPDATE orders_total SET value = " . (double) $tax . " WHERE class = 'ot_tax' AND orders_id = '" . xtc_db_input($orderId) . "'"; xtc_db_query($sql); $subtotal = rpData::getSubtotal($orderId); $sql = "UPDATE orders_total SET value = " . (double) $subtotal . " WHERE class = 'ot_subtotal' and orders_id = '" . xtc_db_input($orderId) . "'"; xtc_db_query($sql); $classes = array('ot_total', 'ot_tax', 'ot_subtotal'); foreach ($classes as $class) { $sql = "SELECT value from orders_total WHERE orders_id = '" . xtc_db_input($orderId) . "' and class = '{$class}'"; $query = xtc_db_query($sql); $entry = xtc_db_fetch_array($query); $text = rpData::getFormattedPrice($entry['value'], $order->info['language'], $order); if ($class == 'ot_total') { $text = "<b>" . rpData::getFormattedPrice($entry['value'], $order->info['language'], $order) . "</b>"; } $sql = "UPDATE orders_total SET text = '{$text}' WHERE orders_id = '" . xtc_db_input($orderId) . "' and class = '{$class}'"; xtc_db_query($sql); } }