From e0271b7b6a6ffc56b17a22b17db8d07a41cee7b3 Mon Sep 17 00:00:00 2001 From: Lars Kusch Date: Mon, 30 Jan 2023 08:56:59 +0100 Subject: [PATCH] Minor fixes --- app/PaymentDrivers/StripePaymentDriver.php | 41 ++++++++++--------- .../gateways/stripe/bacs/authorize.blade.php | 1 + 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/app/PaymentDrivers/StripePaymentDriver.php b/app/PaymentDrivers/StripePaymentDriver.php index 4e670da4e66e..758dd9688a94 100644 --- a/app/PaymentDrivers/StripePaymentDriver.php +++ b/app/PaymentDrivers/StripePaymentDriver.php @@ -735,26 +735,29 @@ class StripePaymentDriver extends BaseDriver // Store payment token for Stripe BACS $this->init(); $setup_intent = $this->stripe->setupIntents->retrieve($request->data['object']['setup_intent'], []); - $this->client = Client::where('id', ClientGatewayToken::where('gateway_customer_reference', $request->data['object']['customer'])->first()->client_id)->first(); - $customer = $this->findOrCreateCustomer(); - $this->attach($setup_intent->payment_method, $customer); - $payment_method = $this->getStripePaymentMethod($setup_intent->payment_method); - $payment_meta = new \stdClass; - $payment_meta->brand = (string) $payment_method->bacs_debit->sort_code; - $payment_meta->last4 = (string) $payment_method->bacs_debit->last4; - $payment_meta->state = 'unauthorized'; - $payment_meta->type = GatewayType::BACS; + $clientpayment_token = ClientGatewayToken::where('gateway_customer_reference', $request->data['object']['customer'])->first(); + if ($clientpayment_token){ + $this->client = Client::where('id', $clientpayment_token->client_id)->first(); + $customer = $this->findOrCreateCustomer(); + $this->attach($setup_intent->payment_method, $customer); + $payment_method = $this->getStripePaymentMethod($setup_intent->payment_method); + $payment_meta = new \stdClass; + $payment_meta->brand = (string) $payment_method->bacs_debit->sort_code; + $payment_meta->last4 = (string) $payment_method->bacs_debit->last4; + $payment_meta->state = 'unauthorized'; + $payment_meta->type = GatewayType::BACS; - $data = [ - 'payment_meta' => $payment_meta, - 'token' => $payment_method->id, - 'payment_method_id' => GatewayType::BACS, - ]; - $clientgateway = ClientGatewayToken::query() - ->where('token', $payment_method) - ->first(); - if (!$clientgateway){ - $this->storeGatewayToken($data, ['gateway_customer_reference' => $customer->id]); + $data = [ + 'payment_meta' => $payment_meta, + 'token' => $payment_method->id, + 'payment_method_id' => GatewayType::BACS, + ]; + $clientgateway = ClientGatewayToken::query() + ->where('token', $payment_method) + ->first(); + if (!$clientgateway){ + $this->storeGatewayToken($data, ['gateway_customer_reference' => $customer->id]); + } } return response()->json([], 200); } elseif ($request->type === "mandate.updated"){ diff --git a/resources/views/portal/ninja2020/gateways/stripe/bacs/authorize.blade.php b/resources/views/portal/ninja2020/gateways/stripe/bacs/authorize.blade.php index 9b278815f070..a18484125868 100644 --- a/resources/views/portal/ninja2020/gateways/stripe/bacs/authorize.blade.php +++ b/resources/views/portal/ninja2020/gateways/stripe/bacs/authorize.blade.php @@ -26,6 +26,7 @@ @component('portal.ninja2020.components.general.card-element', ['title' => ctrans('texts.method')]) {{ ctrans('texts.bacs') }} @endcomponent + @component('portal.ninja2020.gateways.includes.pay_now', ['id' => 'authorize-bacs']) {{ ctrans('texts.add_payment_method') }} @endcomponent