Example #1
0
 /**
  * @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;
 }
Example #3
0
 /**
  * @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());
 }