/** * Retrieve payment selection array * * @return array */ public function selection() { global $order; $display = array('id' => $this->code, 'module' => xtc_image(DIR_WS_IMAGES . '/' . $this->code . '_checkout_logo.png')); $neededFields = $this->_getNeededFields(); if (!empty($neededFields)) { $display['fields'] = $neededFields; } $dob = rpDb::getCustomersDob(null, rpSession::getSessionEntry('customer_id')); if ($dob !== '0000-00-00' && !$this->_isAdult($dob)) { $display = null; } if ($order->billing['country']['iso_code_2'] != 'DE' && $order->billing['country']['iso_code_2'] != 'AT' && $order->billing['country']['iso_code_2'] != 'CH') { $display = null; } if (!rpData::isRatepayAvailable()) { $display = null; } $minVarName = 'min' . ucfirst(strtolower($order->billing['country']['iso_code_2'])); $maxVarName = 'max' . ucfirst(strtolower($order->billing['country']['iso_code_2'])); if (floatval($order->info['total']) < floatval($this->{$minVarName}) || floatval($order->info['total']) > floatval($this->{$maxVarName})) { $display = null; } $vatId = rpDb::getCustomersVatId(null, rpSession::getSessionEntry('customer_id')); $b2bVarName = 'b2b' . ucfirst(strtolower($order->billing['country']['iso_code_2'])); if (!$this->{$b2bVarName} && (!empty($order->customer['company']) || !empty($order->billing['company']) || !empty($vatId))) { $display = null; } if (sizeof($order->delivery) != sizeof($order->billing)) { $display = null; } else { if (is_array($order->billing)) { foreach ($order->billing as $key => $val) { if ($order->billing[$key] != $order->delivery[$key]) { $display = null; } unset($val); } } } return $display; }