コード例 #1
0
 /**
  * @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();
 }