/** * @param Mage_Sales_Model_Order $order * @param Payone_Api_Response_Interface $response * @param Payone_Api_Request_Interface $request * @throws Payone_Core_Exception_TransactionAlreadyExists * @return null|Payone_Core_Model_Domain_Transaction */ public function createByApiResponse(Mage_Sales_Model_Order $order, Payone_Api_Response_Interface $response, Payone_Api_Request_Interface $request) { $transaction = $this->getFactory()->getModelTransaction(); $transaction->load($response->getTxid(), 'txid'); // should not exist but to be sure load by txid if ($transaction->hasData()) { throw new Payone_Core_Exception_TransactionAlreadyExists($response->getTxid()); } $transaction->setTxid($response->getTxid()); $transaction->setLastTxaction($response->getStatus()); $transaction->setUserid($response->getUserid()); $transaction->setStoreId($order->getStoreId()); $transaction->setOrderId($order->getId()); $transaction->setReference($order->getIncrementId()); $transaction->setCurrency($order->getOrderCurrencyCode()); $transaction->setCustomerId($order->getCustomerId()); $transaction->setClearingtype($request->getClearingtype()); $transaction->setMode($request->getMode()); $transaction->setMid($request->getMid()); $transaction->setAid($request->getAid()); $transaction->setPortalid($request->getPortalid()); $transaction->setLastSequencenumber(0); $data = $response->toArray(); $transaction->addData($data); $transaction->save(); return $transaction; }
/** * @param Payone_Api_Response_Interface $response * @return Payone_Core_Model_Domain_Transaction */ public function updateByApiResponse(Payone_Api_Response_Interface $response) { $transaction = $this->getFactory()->getModelTransaction(); $transaction->load($response->getTxid(), 'txid'); // should not exist but to be sure load by txid $transaction->setLastTxaction($response->getStatus()); $transaction->save(); return $transaction; }
/** * @param Payone_Api_Request_Interface $request * @param Payone_Api_Response_Interface $response * @return boolean */ public function save(Payone_Api_Request_Interface $request, Payone_Api_Response_Interface $response) { $domainObject = $this->getFactory()->getModelApi(); $domainObject->setData($request->toArray()); $domainObject->setRawRequest($request->__toString()); $domainObject->setRawResponse($response->__toString()); $domainObject->setResponse($response->getStatus()); $domainObject->save(); }
/** * @param Mage_Sales_Model_Order $order * @param Payone_Api_Response_Interface $response */ public function addByApiResponse(Mage_Sales_Model_Order $order, Payone_Api_Response_Interface $response) { // Preauthorization if ($response instanceof Payone_Api_Response_Preauthorization_Approved) { $comment = 'PAYONE successfully processed the payment-request.'; } elseif ($response instanceof Payone_Api_Response_Authorization_Approved) { $comment = 'PAYONE successfully processed and confirmed the payment-request.'; } elseif ($response instanceof Payone_Api_Response_Preauthorization_Redirect or $response instanceof Payone_Api_Response_Authorization_Redirect) { $comment = 'The payment-request has been forwarded.'; } elseif ($response instanceof Payone_Api_Response_Capture_Approved) { $comment = 'PAYONE successfully processed the capture-request.'; } elseif ($response instanceof Payone_Api_Response_Debit_Approved) { $comment = 'PAYONE successfully processed the debit-request.'; } elseif ($response instanceof Payone_Api_Response_Error) { $comment = 'The payment-request was incorrect. Please check the protocol.'; } else { $comment = $response->getStatus(); } $this->addCommentToOrder($order, $comment); }
/** * @param Mage_Sales_Model_Order $order * @param Payone_Api_Response_Interface $response */ public function updateByApiResponse(Mage_Sales_Model_Order $order, Payone_Api_Response_Interface $response) { $order->setPayoneTransactionStatus($response->getStatus()); }