Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

garrettmassey's avatar

Cashier: use Billable on User model but store information in payment_method table

As the title says, I want to use Cashier and it's Billable trait on the User model, but I am also trying to store the information about the customer (stripe ID, pm_last_four, etc) on a separate table called payment_methods, as the application will allow users to store multiple payment types for one-off transactions.

I have published and altered the Cashier migrations so that they create the fields in the new table, but when I try to run $user->createAsStripeCustomer() I get this error:

Column not found: 1054 Unknown column 'stripe_id' in 'field list'

I know it's because Cashier is expecting the stripe_id to exist in the users table, because that's where I have defined the use of the Billable trait, but is there a way to override it? I couldn't find anything in the config, and I haven't yet found anything in the documentation.

0 likes
1 reply

Please or to participate in this conversation.