This project is not covered by Drupal’s security advisory policy.

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_role metadata 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_* or price_*), 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

Project information

Releases