Update Customer in Stripe using Laravel Cashier

6th June 2019

I've just had the situation where I needed to setup my Laravel app to update my customer's information in Stripe when they change it in my app.

The method I used to do this is actually undocumented on the official Laravel Cashier documentation, I found it while I was looking through the Cashier code.

In my Settings controller I used the following code to update the customer's name and email when they resubmit the settings form.

php
$stripeData = array(
'name' => $user->first_name . ' ' . $user->last_name,
'email' => $user->email
);
 
$user->updateStripeCustomer($stripeData);

That code should work as long as the User model has the Billable trait.