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

  1. In Stripe Dashboard: Developers → API Keys → Restricted keys → "Create restricted key"
  2. Permissions: Customers: Read, Subscriptions: Read, Invoices: Read (optional). Nothing else.
  3. Copy the key (rk_live_...). You can't view it again later.
  4. In Golden Suite: /golden/sources → Add source → Stripe → paste the key
  5. Pick the object — Customer (most common) or Subscription
  6. Test connection — Golden Suite hits GET /v1/customers?limit=1 to validate

Field mapping

For Customers:

StripeGolden SuiteNotes
idstripe_customer_idKeep this — useful for downstream join
emailemail
namenameOften "Acme, Inc." (company-shaped) for B2B
phonephone
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
descriptiondescriptionFree-text; usually unhelpful for matching
createdcreated_atUnix 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

  • livemode vs test mode. Restricted keys have a mode prefix (rk_live_ vs rk_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-Account header 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 name field is the only signal; for B2B, name is 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