From 95f2e47abf5914b215ac2d73817fed063deb351d Mon Sep 17 00:00:00 2001 From: Lars Kusch Date: Mon, 16 Jan 2023 20:48:14 +0100 Subject: [PATCH] Fixes for webhook --- app/PaymentDrivers/StripePaymentDriver.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/PaymentDrivers/StripePaymentDriver.php b/app/PaymentDrivers/StripePaymentDriver.php index e98049fc61c6..5438e0e6c68c 100644 --- a/app/PaymentDrivers/StripePaymentDriver.php +++ b/app/PaymentDrivers/StripePaymentDriver.php @@ -730,7 +730,7 @@ class StripePaymentDriver extends BaseDriver return response()->json([], 200); } elseif ($request->type === "checkout.session.completed"){ // Store payment token for Stripe BACS - $setup_intent = $this->stripe->stripe->setupIntents->retrieve($request->data->setup_inent, []); + $setup_intent = $this->stripe->stripe->setupIntents->retrieve($request->data['setup_intent'], []); $customer = $this->stripe->findOrCreateCustomer(); $this->stripe->attach($setup_intent->payment_method, $customer); $payment_method = $this->stripe->getStripePaymentMethod($setup_intent->payment_method); @@ -751,13 +751,15 @@ class StripePaymentDriver extends BaseDriver // Check if payment method BACS is still valid if ($request->data['object']['status'] === "active"){ // Check if payment method exists + $payment_method = (string) $request->data['object']['payment_method']; $clientgateway = ClientGatewayToken::query() - ->where('token', $request->data['object']['payment_method']) + ->where('token', $payment_method) ->first(); if ($clientgateway){ - $clientgateway->state = "authorized"; - $clientgateway->save(); - } + $clientgateway->meta->state = 'authorized'; + $clientgateway->update(); + }; + return response()->json([], 200); } elseif ($request->data['object']['status'] === "inactive"){ // Deactivate payment method @@ -765,11 +767,11 @@ class StripePaymentDriver extends BaseDriver ->where('token', $request->data['object']['payment_method']) ->first(); $clientgateway->delete(); + return response()->json([], 200); } elseif ($request->data['object']['status'] === "pending"){ - // Do nothing + return response()->json([], 200); } - return response()->json([], 200); } return response()->json([], 200);