/** * @param Mage_Sales_Model_Order $order * @param Payone_Core_Model_Domain_Protocol_TransactionStatus $transactionStatus */ public function addByTransactionStatus(Mage_Sales_Model_Order $order, Payone_Core_Model_Domain_Protocol_TransactionStatus $transactionStatus) { if ($transactionStatus->isAppointed()) { $comment = 'PAYONE accepted the payment-request.'; } elseif ($transactionStatus->isCapture()) { $comment = 'PAYONE confirmed the collection.'; } elseif ($transactionStatus->isPaid()) { $comment = 'PAYONE confirmed the payment receipt.'; } elseif ($transactionStatus->isUnderpaid()) { $comment = 'PAYONE confirmed the payment receipt. There is an underpayment.'; } elseif ($transactionStatus->isCancelation()) { $comment = 'The payment was rejected.'; } elseif ($transactionStatus->isRefund()) { $comment = 'PAYONE confirmed the credit.'; } elseif ($transactionStatus->isDebit()) { $comment = 'PAYONE confirmed the claim.'; } elseif ($transactionStatus->isReminder()) { $comment = 'The dunning status was updated, status is %s'; } elseif ($transactionStatus->isTransfer()) { $comment = 'Transactionstatus: transfer'; } elseif ($transactionStatus->isVauthorization()) { $comment = 'Transactionstatus: vauthorization'; } elseif ($transactionStatus->isVsettlement()) { $comment = 'Transactionstatus: vsettlement'; } elseif ($transactionStatus->isInvoice()) { $comment = 'Transactionstatus: invoice'; } else { $comment = $transactionStatus->getTxaction(); } $this->addCommentToOrder($order, $comment); }
/** * @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(); }