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;
 }
Beispiel #6
0
 /**
  * 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);
     }
 }