This module connects Stripe to Drupal to automatically sync customer information, subscriptions, and payments with Drupal users. It can assign roles based on subscription status and product tiers, allowing for self-service billing management and administrative tools without requiring custom code.
A lightweight Stripe ↔ Drupal bridge for memberships and payments. It auto-syncs customers, subscriptions, and one-time purchases to Drupal users, assigns roles based on status and product tier, and provides self-service billing plus admin tools — all configurable, no code required.
- Webhook sync for subscriptions, invoices, checkout sessions, and payment intents
- Auto-link Stripe ↔ Drupal users (Checkout UID; smart email fallbacks)
- Auto-provisions the required user fields on install (no manual field setup)
- Configurable role automation: Active / Past-due / Inactive
- Per-product role assignment via a
drupal_rolemetadata key on the Stripe Price or Product — map Gold, Silver, Diamond tiers to different Drupal roles - Managed-roles set with single-active-role or allow-multiple behavior
- Map user fields: customer_id, subscription_id, status, expires, checkout_mode
- Supports subscriptions and one-time access (via
access_days; optional invoice) - Duplicate-subscription guard: none / same product / any
- Checkout launcher (accepts
prod_*orprice_*), success/cancel pages - Stripe Billing Portal links (self-service & admin)
- Membership status block (active / expiring-soon with renew link / join CTA), configurable reminder window
- Admin user search page — find users by Stripe Customer ID, Subscription ID, status, and more
- “Re-sync from Stripe” button on user profiles and the search page
- Dedicated permission to gate visibility of the Stripe user fields
- Keep Stripe API keys in settings.php (out of the database) — with an in-app setup guide and override detection
- Daily reconciliation (cron + queue) with “Run now” option