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
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Release Timeline
Releases
| Version | Type | Core | Notes | Release date | |
|---|---|---|---|---|---|
| 1.0.0-alpha8 | Pre-release | 10–11 | Wire up webhook event processing, stop stale-data downgrades in the daily sync, and add dry-run/abort-threshold safety to manual runs. | Jul 20, 2026 | |
| 1.0.0-alpha7 | Pre-release | 10–11 | May 30, 2026 | ||
| 1.0.0-alpha6 | Pre-release | 10–11 | May 26, 2026 | ||
| 1.0.0-alpha5 | Pre-release | 10–11 | Adds guest checkout, allowing anonymous visitors to purchase without creating a Drupal account first. | May 25, 2026 | |
| 1.0.0-alpha4 | Pre-release | 10–11 | Adds user field auto-provisioning on install, an admin user search page, a membership status block, and per-product role assignment via "drupal_role" metadata on Stripe Prices/Products. Also adds a settings.php credential helper and the "view stripe sync | May 25, 2026 | |
| 1.0.0-alpha3 | Pre-release | 10–11 | Mar 1, 2026 | ||
| 1.0.0-alpha2 | Pre-release | 10–11 | Fixed webhook endpoint failures that could cause Stripe to disable webhooks | Sep 18, 2025 | |
| 1.0.0-alpha1 | Pre-release | 10–11 | This is the first tagged release of **Stripe Sync** | Aug 23, 2025 |