User Provisioning from
Sumo Purchases
Learn how to create user accounts and provision access when customers purchase your product through Sumo Marketplace's Stripe Connect integration.
What is Sumo?
Sumo is a curated marketplace where customers discover and purchase lifetime discounts on premium SaaS tools. When a customer buys your product through Sumo, the purchase flows through your connected Stripe account via Stripe Connect.
Discovery
Customers find your product on our marketplace
Payment
Sumo creates a checkout session on your Stripe
Provisioning
You create the user and grant access
The Challenge
Many SaaS applications tightly couple user account creation to their own checkout flow. When a customer purchases through Sumo:
- 1 The checkout happens on your Stripe account (via Stripe Connect)
- 2 Your Stripe sends webhooks to your endpoint as normal
- 3 But: Sumo created the customer/subscription, not your app
- ! Gap: No user account exists to attach the subscription
The Solution
Sumo includes special metadata in every checkout session. Your webhook handler can detect Sumo-originated purchases and create user accounts on-the-fly:
Detect Sumo Purchases
Check for sumo_campaign_id in webhook metadata
Create User Account
Use customer email from the checkout session data
Link Subscription
Associate the Stripe subscription with the new user
Provision Access
Grant features and send welcome email to customer
Sumo Metadata Fields
Every checkout session created by Sumo includes these metadata fields:
| Field | Description |
|---|---|
sumo_campaign_id | Active discount campaign (use this to detect Sumo purchases) |
sumo_product_id | Sumo product identifier |
sumo_product_tier_id | Which pricing tier was purchased |
sumo_user_id | Sumo buyer's user ID |
sumo_quantity | Number of licenses purchased |
sumo_addons | JSON array of add-on details (if any) |
Pro tip: The presence of sumo_campaign_id is the most reliable way to detect Sumo-originated purchases.