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); }