From 42d5f0313062418779da7c38f4cca18a37a9fad0 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 12 May 2021 13:15:51 +1000 Subject: [PATCH] Fixes for Stripe Connect --- .../Controllers/StripeConnectController.php | 34 +++++++------------ 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/app/Http/Controllers/StripeConnectController.php b/app/Http/Controllers/StripeConnectController.php index 59e5458cae72..325b5755f583 100644 --- a/app/Http/Controllers/StripeConnectController.php +++ b/app/Http/Controllers/StripeConnectController.php @@ -36,15 +36,8 @@ class StripeConnectController extends BaseController if(!is_array($request->getTokenContent())) abort(400, 'Invalid token'); - MultiDB::findAndSetDbByCompanyKey($request->getTokenContent()['company_key']); - $data = [ - 'type' => 'standard', - 'email' => $request->getContact()->email, - 'country' => $request->getCompany()->country()->iso_3166_2, - ]; - $company_gateway = CompanyGateway::query() ->where('gateway_key', 'd14dd26a47cecc30fdd65700bfb67b34') ->where('company_id', $request->getCompany()->id) @@ -58,26 +51,15 @@ class StripeConnectController extends BaseController return render('gateways.stripe.connect.existing'); } - - $account = Account::create($data); - - $link = Account::link($account->id, $token); - - if(!$company_gateway) + else $company_gateway = CompanyGatewayFactory::create($request->getCompany()->id, $request->getContact()->id); - $company_gateway->fill([ - 'gateway_key' => 'd14dd26a47cecc30fdd65700bfb67b34', - 'fees_and_limits' => [], - 'config' => encrypt(json_encode(['account_id' => $account->id])) - ]); - /* Set Credit Card To Enabled */ $gateway_types = $company_gateway->driver(new Client)->gatewayTypes(); - $fees_and_limits = new \stdClass; $fees_and_limits->{$gateway_types[0]} = new FeesAndLimits; - + + $company_gateway->gateway_key = 'd14dd26a47cecc30fdd65700bfb67b34'; $company_gateway->fees_and_limits = $fees_and_limits; $company_gateway->save(); @@ -93,6 +75,16 @@ class StripeConnectController extends BaseController return render('gateways.stripe.connect.existing'); } + $data = [ + 'type' => 'standard', + 'email' => $request->getContact()->email, + 'country' => $request->getCompany()->country()->iso_3166_2, + ]; + + $account = Account::create($data); + $link = Account::link($account->id, $token); + $company_gateway->config = encrypt(json_encode(['account_id' => $account->id])); + $company_gateway->save(); return redirect($link['url']); }