Por Oliver Servín

Cómo mantener en sincronía los detalles de cliente con Stripe en Laravel

Existe un útil método syncStripeCustomerDetails disponible en Laravel Cashier para Stripe que te permite mantener en sincronía los detalles de tus clientes.

De esta manera, cuando un cliente actualiza su email o nombre también se actualizarán en Stripe.

// torchlight! {"lineNumbers": false}
// App/Models/User.php

namespace App\Models;

use function Illuminate\Events\queueable;

class User extends Authenticatable
{
    // ...

    // listen for the updated User model event and invoke `syncStripeCustomerDetails`

    protected static function booted()
    {
        static::updated(queueable(function ($customer) {
            $customer->syncStripeCustomerDetails();
        }));
    }
}

Código en acción:

Puedes sobrescribir los atributos utilizados para sincronizar la información al añadir los métodos stripeName, stripeEmail, stripePhone y stripeAddress