diff --git a/app/PaymentDrivers/BraintreePaymentDriver.php b/app/PaymentDrivers/BraintreePaymentDriver.php index 7c0cdd278685..ca22ca6f4f68 100644 --- a/app/PaymentDrivers/BraintreePaymentDriver.php +++ b/app/PaymentDrivers/BraintreePaymentDriver.php @@ -23,6 +23,7 @@ use App\Models\Payment; use App\Models\PaymentHash; use App\Models\PaymentType; use App\Models\SystemLog; +use App\PaymentDrivers\Braintree\ACH; use App\PaymentDrivers\Braintree\CreditCard; use App\PaymentDrivers\Braintree\PayPal; use Braintree\Gateway; @@ -45,6 +46,7 @@ class BraintreePaymentDriver extends BaseDriver public static $methods = [ GatewayType::CREDIT_CARD => CreditCard::class, GatewayType::PAYPAL => PayPal::class, + GatewayType::BANK_TRANSFER => ACH::class, ]; const SYSTEM_LOG_TYPE = SystemLog::TYPE_BRAINTREE; @@ -72,9 +74,10 @@ class BraintreePaymentDriver extends BaseDriver { $types = [ GatewayType::PAYPAL, - GatewayType::CREDIT_CARD + GatewayType::CREDIT_CARD, + GatewayType::BANK_TRANSFER, ]; - + return $types; } @@ -125,9 +128,9 @@ class BraintreePaymentDriver extends BaseDriver $this->init(); try{ - + $response = $this->gateway->transaction()->refund($payment->transaction_reference, $amount); - + } catch (Exception $e) { $data = [ @@ -137,12 +140,12 @@ class BraintreePaymentDriver extends BaseDriver 'description' => $e->getMessage(), 'code' => $e->getCode(), ]; - + SystemLogger::dispatch(['server_response' => null, 'data' => $data], SystemLog::CATEGORY_GATEWAY_RESPONSE, SystemLog::EVENT_GATEWAY_FAILURE, SystemLog::TYPE_BRAINTREE, $this->client, $this->client->company); return $data; } - + if($response->success) { diff --git a/resources/views/portal/ninja2020/gateways/braintree/ach/authorize.blade.php b/resources/views/portal/ninja2020/gateways/braintree/ach/authorize.blade.php new file mode 100644 index 000000000000..ba2e9357ba9a --- /dev/null +++ b/resources/views/portal/ninja2020/gateways/braintree/ach/authorize.blade.php @@ -0,0 +1,149 @@ +@extends('portal.ninja2020.layout.payments', ['gateway_title' => 'ACH', 'card_title' => 'ACH']) + +@section('gateway_head') + +@endsection + +@section('gateway_content') + @if(session()->has('ach_error')) +
{{ session('ach_error') }}
+