/**
  * This method validates if the given $orderContext and $paymentContext are valid to be 
  * processed with this payment method. 
  * 
  * Subclasses may override this method, but they should call the parent method.
  * 
  * @param Customweb_Payment_Authorization_IOrderContext $orderContext
  * @param Customweb_Payment_Authorization_IPaymentCustomerContext $paymentContext
  * @throws Exception In case something is not valid.
  */
 public function preValidate(Customweb_Payment_Authorization_IOrderContext $orderContext, Customweb_Payment_Authorization_IPaymentCustomerContext $paymentContext)
 {
     if (!$this->isCountrySupported($orderContext->getBillingCountryIsoCode())) {
         throw new Exception(Customweb_I18n_Translation::__("The payment method !paymentMethodName is not available in your country ('!country').", array('!paymentMethodName' => $this->getPaymentMethodDisplayName(), '!country' => $orderContext->getBillingCountryIsoCode())));
     }
     if (!$this->isCurrencySupported($orderContext->getCurrencyCode())) {
         throw new Exception(Customweb_I18n_Translation::__("The payment method !paymentMethodName does not support the currency '!currency'.", array('!paymentMethodName' => $this->getPaymentMethodDisplayName(), '!currency' => $orderContext->getCurrencyCode())));
     }
     return true;
 }
Example #2
0
 public function addSpecificPaymentPageParameters(Customweb_Payment_Authorization_IOrderContext $orderContext, array $parameters)
 {
     $this->orderContext = $orderContext;
     $this->addIfValueNotNull($parameters, 'COMPANY', Customweb_Saferpay_Util::removeWrongEscaptedChars($orderContext->getBillingCompanyName()));
     $this->addIfValueNotNull($parameters, 'LEGALFORM', $this->guessLegalForm());
     $this->addIfValueNotNull($parameters, 'GENDER', $this->getGender($orderContext->getBillingGender(), $orderContext->getBillingCompanyName()));
     $parameters['FIRSTNAME'] = Customweb_Saferpay_Util::removeWrongEscaptedChars($orderContext->getBillingFirstName());
     $parameters['LASTNAME'] = Customweb_Saferpay_Util::removeWrongEscaptedChars($orderContext->getBillingLastName());
     $parameters['STREET'] = Customweb_Saferpay_Util::removeWrongEscaptedChars($orderContext->getBillingStreet());
     $parameters['ZIP'] = $orderContext->getBillingPostCode();
     $parameters['CITY'] = Customweb_Saferpay_Util::removeWrongEscaptedChars($orderContext->getBillingCity());
     $parameters['COUNTRY'] = $orderContext->getBillingCountryIsoCode();
     $parameters['EMAIL'] = $orderContext->getCustomerEMailAddress();
     $this->addIfValueNotNull($parameters, 'PHONE', $orderContext->getBillingPhoneNumber());
     if ($orderContext->getBillingDateOfBirth() != null) {
         $this->addIfValueNotNull($parameters, 'DATEOFBIRTH', $orderContext->getBillingDateOfBirth()->format('Ymd'));
     }
     $this->addIfValueNotNull($parameters, 'DELIVERY_GENDER', $this->getGender($orderContext->getShippingGender(), ""));
     $parameters['DELIVERY_FIRSTNAME'] = Customweb_Saferpay_Util::removeWrongEscaptedChars($orderContext->getShippingFirstName());
     $parameters['DELIVERY_LASTNAME'] = Customweb_Saferpay_Util::removeWrongEscaptedChars($orderContext->getShippingLastName());
     $parameters['DELIVERY_STREET'] = Customweb_Saferpay_Util::removeWrongEscaptedChars($orderContext->getShippingStreet());
     $parameters['DELIVERY_ZIP'] = $orderContext->getShippingPostCode();
     $parameters['DELIVERY_CITY'] = Customweb_Saferpay_Util::removeWrongEscaptedChars($orderContext->getShippingCity());
     $parameters['DELIVERY_COUNTRY'] = $orderContext->getShippingCountryIsoCode();
     $this->addIfValueNotNull($parameters, 'DELIVERY_PHONE', $orderContext->getShippingPhoneNumber());
     $parameters['LANGID'] = substr($orderContext->getLanguage(), 0, 2);
     //$parameters['IP'] = Customweb_Saferpay_Util::getClientIpAddress();
     return $parameters;
 }
 /**
  * This method throws an exception in case the shipping and billing address do not match.
  * 
  * @param Customweb_Payment_Authorization_IOrderContext $orderContext
  * @throws Exception
  */
 protected function checkAddresses(Customweb_Payment_Authorization_IOrderContext $orderContext)
 {
     if ($orderContext->getBillingCity() != $orderContext->getShippingCity()) {
         throw new Exception(Customweb_I18n_Translation::__("The billing and shipping address do not match."));
     }
     if ($orderContext->getBillingPostCode() != $orderContext->getShippingPostCode()) {
         throw new Exception(Customweb_I18n_Translation::__("The billing and shipping address do not match."));
     }
     if ($orderContext->getBillingStreet() != $orderContext->getShippingStreet()) {
         throw new Exception(Customweb_I18n_Translation::__("The billing and shipping address do not match."));
     }
     if ($orderContext->getBillingFirstName() != $orderContext->getShippingFirstName()) {
         throw new Exception(Customweb_I18n_Translation::__("The billing and shipping address do not match."));
     }
     if ($orderContext->getBillingLastName() != $orderContext->getShippingLastName()) {
         throw new Exception(Customweb_I18n_Translation::__("The billing and shipping address do not match."));
     }
     if ($orderContext->getBillingCountryIsoCode() != $orderContext->getShippingCountryIsoCode()) {
         throw new Exception(Customweb_I18n_Translation::__("The billing and shipping address do not match."));
     }
     return true;
 }