This PR allows for using a column other than stripe_id on the various Cashier models.
It replaces all uses of ->stripe_id with ->stripeId() which can be found in the new HasStripeId trait. This trait is included alongside the other traits in the Billable trait, and in the Subscription and SubscriptionItem models.
To make use of it, you would simply define the model's public static function stripeIdColumn() method to return whatever column name your model uses (including custom Subscription and SubscriptionItem models that extend their Cashier counterparts).
The purpose of this PR was so that in a project of mine I could use my custom models that mirror their actual Stripe counterparts 1:1 in my database. This allows me to both match the Stripe object schema and also more closely follow the Laravel/Eloquent schema pattern (in this case using id instead of stripe_id for the User [Customer], Subscription, and SubscriptionItem models).
This PR allows for using a column other than
stripe_id
on the various Cashier models.It replaces all uses of
->stripe_id
with->stripeId()
which can be found in the new HasStripeId trait. This trait is included alongside the other traits in theBillable
trait, and in theSubscription
andSubscriptionItem
models.To make use of it, you would simply define the model's
public static function stripeIdColumn()
method to return whatever column name your model uses (including customSubscription
andSubscriptionItem
models that extend their Cashier counterparts).The purpose of this PR was so that in a project of mine I could use my custom models that mirror their actual Stripe counterparts 1:1 in my database. This allows me to both match the Stripe object schema and also more closely follow the Laravel/Eloquent schema pattern (in this case using
id
instead ofstripe_id
for theUser
[Customer
],Subscription
, andSubscriptionItem
models).