public function approveAndDeposit(FinancialTransactionInterface $transaction, $retry) { $data = $transaction->getExtendedData(); if (0 != $data->get('code')) { $transaction->setResponseCode(self::RESPONSE_CODE_FAILED); $transaction->setReasonCode($data->get('error')); $transaction->setState(FinancialTransactionInterface::STATE_FAILED); $this->logger->info(sprintf('Payment failed with error code %s. Error: %s', $data->get('code'), $data->get('error'))); $ex = new FinancialException(sprintf('Payment failed with error code %s. Error: %s', $data->get('code'), $data->get('error'))); $ex->setFinancialTransaction($transaction); throw $ex; } $transaction->setReferenceNumber($data->get('order_id')); if (17 == $data->get('response_code')) { $transaction->setResponseCode(self::RESPONSE_CODE_CANCELED); $transaction->setReasonCode('Payment canceled'); } elseif (0 != $data->get('response_code')) { $transaction->setResponseCode(self::RESPONSE_CODE_FAILED); $transaction->setReasonCode(sprintf('Response code: %s', $data->get('response_code'))); $this->logger->info(sprintf('Payment failed with error response_code %s. Error: %s', $data->get('response_code'), $data->get('error'))); } else { $transaction->setResponseCode(PluginInterface::RESPONSE_CODE_SUCCESS); $transaction->setReasonCode(PluginInterface::REASON_CODE_SUCCESS); $transaction->setProcessedAmount($data->get('sub_amount') / 100); } }
public function approveAndDeposit(FinancialTransactionInterface $transaction, $retry) { /** @var $payment \Jms\Payment\CoreBundle\Model\PaymentInterface */ $payment = $transaction->getPayment(); $transaction->setProcessedAmount($payment->getTargetAmount()); $transaction->setState(FinancialTransactionInterface::STATE_SUCCESS); $transaction->setResponseCode(PluginInterface::RESPONSE_CODE_SUCCESS); $transaction->setReasonCode(PluginInterface::REASON_CODE_SUCCESS); }