Connecting Stripe to Golden Suite
Set up the Stripe API key connector for Customer + Subscription ingest.
The Stripe connector pulls Customer and Subscription records via the Stripe REST API. Auth is a restricted API key (read-only).
Prereqs
- A Stripe account
- Ability to create a restricted API key (Owner or Developer permissions)
Setup
- In Stripe Dashboard: Developers → API Keys → Restricted keys → "Create restricted key"
- Permissions:
Customers: Read,Subscriptions: Read,Invoices: Read(optional). Nothing else. - Copy the key (
rk_live_...). You can't view it again later. - In Golden Suite:
/golden/sources→ Add source → Stripe → paste the key - Pick the object — Customer (most common) or Subscription
- Test connection — Golden Suite hits
GET /v1/customers?limit=1to validate
Field mapping
For Customers:
| Stripe | Golden Suite | Notes |
|---|---|---|
id | stripe_customer_id | Keep this — useful for downstream join |
email | email | |
name | name | Often "Acme, Inc." (company-shaped) for B2B |
phone | phone | |
address.line1 etc. | address.* | Stripe address is nested; flattened on ingest |
metadata.clerk_org_id | (custom) | If you've set Clerk org IDs in Stripe metadata, surface them |
description | description | Free-text; usually unhelpful for matching |
created | created_at | Unix timestamp; converted to ISO |
Sample restricted-key permissions
Customers: Read
Subscriptions: Read
Charges: Read (optional)
Invoices: Read (optional)
Payment Methods: None
Don't grant write permissions. The connector never calls write endpoints; if your key has them, that's an unnecessary blast radius.
Common gotchas
livemodevs test mode. Restricted keys have a mode prefix (rk_live_vsrk_test_). The connector uses whichever you provide — make sure you're pulling from the right environment.- Pagination. Stripe uses cursor-based pagination (
starting_after). The connector handles it; very large datasets (>100k customers) will take 5-15 minutes for initial ingest. - Connect Platform. If your Stripe account uses Connect (separate connected accounts), the API key sees the platform's data only by default. Use
Stripe-Accountheader to scope per connected account — Golden Suite doesn't auto-handle this; contact us for the multi-tenant Stripe pattern. - Metadata fields aren't auto-flattened. Stripe metadata is a flat key-value map. The connector pulls it as a JSON object; you'd need to extract specific keys in the autoconfig wizard.
- B2C vs B2B customers. Stripe Customers can be people or companies. The
namefield is the only signal; for B2B,nameis usually a company; for B2C, a person. The matching strategy differs — pick the right entity type when configuring.
Use cases beyond MDM
You don't have to use Stripe data for matching. Some teams pull Stripe Customers into Golden Suite just for revenue-side enrichment of existing golden records — match by email/name to existing customer master, attach Stripe customer ID + total spend as additional fields.
Next steps
- /docs/guides/use-case/customer-360 — Stripe is the billing-source in most B2B customer-360 projects
- /glossary/data-standardization — Stripe addresses come in many formats; standardization before matching helps