mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-15 12:54:35 -04:00
Update client details in Stripe during a transaction
This commit is contained in:
parent
4f10dcd913
commit
a8eedc27a9
@ -568,7 +568,9 @@ class Import implements ShouldQueue
|
|||||||
unset($modified['id']);
|
unset($modified['id']);
|
||||||
unset($modified['password']); //cant import passwords.
|
unset($modified['password']); //cant import passwords.
|
||||||
unset($modified['confirmation_code']); //cant import passwords.
|
unset($modified['confirmation_code']); //cant import passwords.
|
||||||
|
unset($modified['oauth_user_id']);
|
||||||
|
unset($modified['oauth_provider_id']);
|
||||||
|
|
||||||
$user = $user_repository->save($modified, $this->fetchUser($resource['email']), true, true);
|
$user = $user_repository->save($modified, $this->fetchUser($resource['email']), true, true);
|
||||||
$user->email_verified_at = now();
|
$user->email_verified_at = now();
|
||||||
// $user->confirmation_code = '';
|
// $user->confirmation_code = '';
|
||||||
|
@ -443,8 +443,11 @@ class StripePaymentDriver extends BaseDriver
|
|||||||
"starting_after" => null
|
"starting_after" => null
|
||||||
],$this->stripe_connect_auth);
|
],$this->stripe_connect_auth);
|
||||||
|
|
||||||
if(count($searchResults) == 1)
|
if(count($searchResults) == 1){
|
||||||
return $searchResults->data[0];
|
$customer = $searchResults->data[0];
|
||||||
|
$this->updateStripeCustomer($customer);
|
||||||
|
return $customer;
|
||||||
|
}
|
||||||
|
|
||||||
//Else create a new record
|
//Else create a new record
|
||||||
$data['name'] = $this->client->present()->name();
|
$data['name'] = $this->client->present()->name();
|
||||||
@ -454,6 +457,13 @@ class StripePaymentDriver extends BaseDriver
|
|||||||
$data['email'] = $this->client->present()->email();
|
$data['email'] = $this->client->present()->email();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$data['address']['line1'] = $this->client->address1;
|
||||||
|
$data['address']['line2'] = $this->client->address2;
|
||||||
|
$data['address']['city'] = $this->client->city;
|
||||||
|
$data['address']['postal_code'] = $this->client->postal_code;
|
||||||
|
$data['address']['state'] = $this->client->state;
|
||||||
|
$data['address']['country'] = $this->client->country ? $this->client->country->iso_3166_2 : "";
|
||||||
|
|
||||||
$customer = Customer::create($data, $this->stripe_connect_auth);
|
$customer = Customer::create($data, $this->stripe_connect_auth);
|
||||||
|
|
||||||
if (!$customer) {
|
if (!$customer) {
|
||||||
@ -463,6 +473,32 @@ class StripePaymentDriver extends BaseDriver
|
|||||||
return $customer;
|
return $customer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function updateStripeCustomer($customer)
|
||||||
|
{
|
||||||
|
//Else create a new record
|
||||||
|
$data['name'] = $this->client->present()->name();
|
||||||
|
$data['phone'] = substr($this->client->present()->phone(), 0 , 20);
|
||||||
|
|
||||||
|
if (filter_var($this->client->present()->email(), FILTER_VALIDATE_EMAIL)) {
|
||||||
|
$data['email'] = $this->client->present()->email();
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['address']['line1'] = $this->client->address1;
|
||||||
|
$data['address']['line2'] = $this->client->address2;
|
||||||
|
$data['address']['city'] = $this->client->city;
|
||||||
|
$data['address']['postal_code'] = $this->client->postal_code;
|
||||||
|
$data['address']['state'] = $this->client->state;
|
||||||
|
$data['address']['country'] = $this->client->country ? $this->client->country->iso_3166_2 : "";
|
||||||
|
|
||||||
|
try{
|
||||||
|
\Stripe\Customer::update($customer->id, $data, $this->stripe_connect_auth);
|
||||||
|
}
|
||||||
|
catch(Exception $e){
|
||||||
|
nlog("unable to update clients in Stripe");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function refund(Payment $payment, $amount, $return_client_response = false)
|
public function refund(Payment $payment, $amount, $return_client_response = false)
|
||||||
{
|
{
|
||||||
$this->init();
|
$this->init();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user