diff --git a/app/Http/Requests/Client/UpdateClientRequest.php b/app/Http/Requests/Client/UpdateClientRequest.php index d263d11318b3..cf0da48a6926 100644 --- a/app/Http/Requests/Client/UpdateClientRequest.php +++ b/app/Http/Requests/Client/UpdateClientRequest.php @@ -97,10 +97,6 @@ class UpdateClientRequest extends Request { $input = $this->all(); - if (isset($input['group_settings_id'])) { - $input['group_settings_id'] = $this->decodePrimaryKey($input['group_settings_id']); - } - /* If the user removes the currency we must always set the default */ if (array_key_exists('settings', $input) && ! array_key_exists('currency_id', $input['settings'])) { $input['settings']['currency_id'] = (string) auth()->user()->company()->settings->currency_id; diff --git a/app/PaymentDrivers/Stripe/Jobs/UpdateCustomer.php b/app/PaymentDrivers/Stripe/Jobs/UpdateCustomer.php new file mode 100644 index 000000000000..083c1ab99217 --- /dev/null +++ b/app/PaymentDrivers/Stripe/Jobs/UpdateCustomer.php @@ -0,0 +1,86 @@ +company_key = $company_key; + $this->company_gateway_id = $company_gateway_id; + $this->client_id = $client_id; + $this->customer_id = $customer_id; + } + + public function handle() + { + + MultiDB::findAndSetDbByCompanyKey($this->company_key); + + $company = Company::where('company_key', $this->company_key)->first(); + + $company_gateway = CompanyGateway::find($this->company_gateway_id); + + $stripe = $company_gateway->driver()->init(); + + $customer = $company_gateway->getCustomer($this->customer_id); + + $client = Client::withTrashed()->find($this->client_id); + + //Else create a new record + $data['name'] = $client->present()->name(); + $data['phone'] = substr($client->present()->phone(), 0, 20); + + $data['address']['line1'] = $client->address1; + $data['address']['line2'] = $client->address2; + $data['address']['city'] = $client->city; + $data['address']['postal_code'] = $client->postal_code; + $data['address']['state'] = $client->state; + $data['address']['country'] = $client->country ? $client->country->iso_3166_2 : ''; + + \Stripe\Customer::update($this->customer_id, $data, $stripe->stripe_connect_auth); + + } +}