private function getMandateElements(Customweb_Payment_Authorization_IOrderContext $orderContext)
 {
     $customer = $orderContext->getBillingAddress()->getFirstName() . ' ' . $orderContext->getBillingAddress()->getLastName();
     $mandateId = Customweb_Payment_Authorization_Method_Sepa_Mandate::generateMandateId(self::$MANDATE_ID_SCHEMA);
     $mandateIdControl = new Customweb_Form_Control_HiddenInput('MANDATEID', $mandateId);
     $mandateIdElement = new Customweb_Form_HiddenElement($mandateIdControl);
     $mandateTextControl = new Customweb_Form_Control_Html('mandate_text', $this->getMandateText($mandateId, $customer));
     $mandateTextElement = new Customweb_Form_Element(Customweb_I18n_Translation::__('Mandate text'), $mandateTextControl);
     $mandateTextElement->setRequired(false);
     return array($mandateIdElement, $mandateTextElement);
 }
 /**
  * Creates a key based on both addresses found in the orderContext
  *
  * @param Customweb_Payment_Authorization_IOrderContext $orderContext
  * @param array $additionalData Other identifiers to be added to the generated key (e.g. amount, payment type etc)
  * @return string
  */
 public static function generateAddressKey(Customweb_Payment_Authorization_IOrderContext $orderContext, $additionalData = array())
 {
     $billing = $orderContext->getBillingAddress();
     $shipping = $orderContext->getShippingAddress();
     $addressParts = array_merge(self::addressPartsToArray($billing), self::addressPartsToArray($shipping), $additionalData);
     $addressString = Customweb_Core_String::_(implode($addressParts))->toLowerCase()->toString();
     return substr(hash('SHA512', $addressString), 0, 160);
 }