diff --git a/app/Models/Gateway.php b/app/Models/Gateway.php index a99f27d737e1..539b820c0e19 100644 --- a/app/Models/Gateway.php +++ b/app/Models/Gateway.php @@ -82,7 +82,7 @@ class Gateway extends StaticModel return [GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true]];//Authorize.net break; case 3: - return [GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true]];//eWay + return [GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => true]];//eWay break; case 15: return [GatewayType::PAYPAL => ['refund' => true, 'token_billing' => false]]; //Paypal diff --git a/app/PaymentDrivers/Eway/CreditCard.php b/app/PaymentDrivers/Eway/CreditCard.php index c92b0d7cf430..eec96e743f42 100644 --- a/app/PaymentDrivers/Eway/CreditCard.php +++ b/app/PaymentDrivers/Eway/CreditCard.php @@ -129,7 +129,7 @@ class CreditCard if(boolval($request->input('store_card'))) { $token = $this->createEwayToken($request->input('securefieldcode')); - $payment = $this->tokenBilling($token, $this->eway_driver->payment_hash); + $payment = $this->tokenBilling($token->token, $this->eway_driver->payment_hash); return redirect()->route('client.payments.show', ['payment' => $this->encodePrimaryKey($payment->id)]); diff --git a/app/PaymentDrivers/EwayPaymentDriver.php b/app/PaymentDrivers/EwayPaymentDriver.php index 66dc23c9a443..65559abd41dc 100644 --- a/app/PaymentDrivers/EwayPaymentDriver.php +++ b/app/PaymentDrivers/EwayPaymentDriver.php @@ -89,6 +89,7 @@ class EwayPaymentDriver extends BaseDriver return $this->payment_method->paymentResponse($request); //this is your custom implementation from here } + /* We need PCI compliance prior to enabling this */ public function refund(Payment $payment, $amount, $return_client_response = false) { @@ -99,7 +100,7 @@ class EwayPaymentDriver extends BaseDriver ], ]; - $response = $this->init()->eway->client->refund($refund); + $response = $this->init()->eway->refund($refund); $transaction_reference = ''; $refund_status = true; @@ -118,6 +119,7 @@ class EwayPaymentDriver extends BaseDriver $refund_message = 'Sorry, your refund failed'; } } + return [ 'transaction_reference' => $response->TransactionID, 'transaction_response' => json_encode($response),