mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Improve error response from eWay gateway
This commit is contained in:
parent
7bbc2b7f9c
commit
6bffa1af10
@ -168,18 +168,56 @@ class CreditCard
|
|||||||
|
|
||||||
$response = $this->eway_driver->init()->eway->createTransaction(\Eway\Rapid\Enum\ApiMethod::DIRECT, $transaction);
|
$response = $this->eway_driver->init()->eway->createTransaction(\Eway\Rapid\Enum\ApiMethod::DIRECT, $transaction);
|
||||||
|
|
||||||
|
nlog($response);
|
||||||
|
|
||||||
$this->logResponse($response);
|
$this->logResponse($response);
|
||||||
|
|
||||||
$response_status = ErrorCode::getStatus($response->ResponseMessage);
|
// if(!$response || !property_exists($response, 'ResponseMessage'))
|
||||||
|
// throw new PaymentFailed('The gateway did not return a valid response. Please check your gateway credentials.', 400);
|
||||||
|
|
||||||
if(!$response_status['success']){
|
// $response_status = ErrorCode::getStatus($response->ResponseMessage);
|
||||||
|
|
||||||
$this->eway_driver->sendFailureMail($response_status['message']);
|
// if(!$response_status['success']){
|
||||||
|
|
||||||
throw new PaymentFailed($response_status['message'], 400);
|
// if($response->getErrors())
|
||||||
}
|
// {
|
||||||
|
// $message = false;
|
||||||
|
|
||||||
|
// foreach ($response->getErrors() as $error) {
|
||||||
|
// $message = \Eway\Rapid::getMessage($error);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// $return_message = $message ?: $response_status['message'];
|
||||||
|
// }
|
||||||
|
|
||||||
|
// $this->eway_driver->sendFailureMail($response_status['message']);
|
||||||
|
|
||||||
|
// throw new PaymentFailed($response_status['message'], 400);
|
||||||
|
// }
|
||||||
|
|
||||||
|
if($response->TransactionStatus)
|
||||||
|
$payment = $this->storePayment($response);
|
||||||
|
else {
|
||||||
|
|
||||||
|
$message = 'Error processing payment.';
|
||||||
|
|
||||||
|
if(isset($response->ResponseMessage))
|
||||||
|
$message .= " Gateway Error Code = {$response->ResponseMessage}";
|
||||||
|
|
||||||
|
if($response->getErrors())
|
||||||
|
{
|
||||||
|
|
||||||
|
foreach ($response->getErrors() as $error) {
|
||||||
|
$message = \Eway\Rapid::getMessage($error);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->eway_driver->sendFailureMail($message);
|
||||||
|
|
||||||
|
throw new PaymentFailed($message, 400);
|
||||||
|
}
|
||||||
|
|
||||||
$payment = $this->storePayment($response);
|
|
||||||
|
|
||||||
return redirect()->route('client.payments.show', ['payment' => $this->encodePrimaryKey($payment->id)]);
|
return redirect()->route('client.payments.show', ['payment' => $this->encodePrimaryKey($payment->id)]);
|
||||||
|
|
||||||
@ -257,20 +295,32 @@ class CreditCard
|
|||||||
|
|
||||||
$response = $this->eway_driver->init()->eway->createTransaction(\Eway\Rapid\Enum\ApiMethod::DIRECT, $transaction);
|
$response = $this->eway_driver->init()->eway->createTransaction(\Eway\Rapid\Enum\ApiMethod::DIRECT, $transaction);
|
||||||
|
|
||||||
$response_status = ErrorCode::getStatus($response->ResponseMessage);
|
if($response->TransactionStatus){
|
||||||
|
$this->logResponse($response, true);
|
||||||
|
$payment = $this->storePayment($response);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
if(!$response_status['success']){
|
$message = 'Error processing payment.';
|
||||||
|
|
||||||
$this->logResponse($response, false);
|
if(isset($response->ResponseMessage))
|
||||||
|
$message .= " Gateway Error Code = {$response->ResponseMessage}";
|
||||||
|
|
||||||
$this->eway_driver->sendFailureMail($response_status['message']);
|
if($response->getErrors())
|
||||||
|
{
|
||||||
|
|
||||||
|
foreach ($response->getErrors() as $error) {
|
||||||
|
$message = \Eway\Rapid::getMessage($error);
|
||||||
|
}
|
||||||
|
|
||||||
throw new PaymentFailed($response_status['message'], 400);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
$this->logResponse($response, true);
|
$this->logResponse($response, false);
|
||||||
|
|
||||||
$payment = $this->storePayment($response);
|
$this->eway_driver->sendFailureMail($message);
|
||||||
|
|
||||||
|
throw new PaymentFailed($message, 400);
|
||||||
|
}
|
||||||
|
|
||||||
return $payment;
|
return $payment;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user