Skip to main content

StripeCustomerProvisioner

\Benecaster\Payment\StripeCustomerProvisioner

Class Free

Creates or reuses Stripe Customer objects for built-in membership signups. Ships in feature/membership-signup-checkout. Stateless — creates the Stripe record but does not persist a Benecaster subscription. The calling SubscribeController writes the subscription record via SubscriptionRepository after the Stripe Subscription is created. Resubscribers reuse their existing Stripe Customer to preserve billing history in the Stripe Dashboard.

Methods

Method Visibility Since Description
provision( int $user_id, int $show_id, string $email = '' ): string Public Returns a Stripe Customer ID for the (user, show) pair. Checks the user's existing Benecaster subscription for a stored stripe_customer_id first; if none, creates a new Stripe Customer tagged with benecaster_user_id and benecaster_show_id metadata. Throws RuntimeException when Stripe is not configured.