/** * @param Payone_Core_Model_Domain_Protocol_TransactionStatus $transactionStatus * @param Mage_Sales_Model_Order $order * @return void */ public function execute(Payone_Core_Model_Domain_Protocol_TransactionStatus $transactionStatus, Mage_Sales_Model_Order $order = null) { if (!$transactionStatus->isAppointed()) { return; } if (is_null($order)) { $order = $this->getFactory()->getModelSalesOrder(); $order->load($transactionStatus->getOrderId()); } $payment = $order->getPayment(); $methodInstance = $payment->getMethodInstance(); // Clearing params need only to be mapped on SafeInvoice with request mode "authorization" abort otherwise. if (!$methodInstance instanceof Payone_Core_Model_Payment_Method_SafeInvoice) { return; } $config = $this->helperConfig()->getConfigPaymentMethodByOrder($order); if (!$config->isRequestAuthorization()) { return; } $payment->setPayoneClearingBankAccountholder($transactionStatus->getClearingBankaccountholder()); $payment->setPayoneClearingBankCountry($transactionStatus->getClearingBankcountry()); $payment->setPayoneClearingBankAccount($transactionStatus->getClearingBankaccount()); $payment->setPayoneClearingBankCode($transactionStatus->getClearingBankcode()); $payment->setPayoneClearingBankIban($transactionStatus->getClearingBankiban()); $payment->setPayoneClearingBankBic($transactionStatus->getClearingBankbic()); $payment->setPayoneClearingBankCity($transactionStatus->getClearingBankcity()); $payment->setPayoneClearingBankName($transactionStatus->getClearingBankname()); $payment->setPayoneClearingReference($transactionStatus->getClearingReference()); $payment->setPayoneClearingInstructionnote($transactionStatus->getClearingInstructionnote()); $payment->setPayoneClearingLegalnote($transactionStatus->getClearingLegalnote()); $payment->setPayoneClearingDuedate($transactionStatus->getClearingDuedate()); $payment->save(); }