Skip to main content
The Stripe source reads customers, payments, invoices, subscriptions, catalog objects, balance transactions, and events. It is built with an HTTP manifest and is beta. Its resources are stable, though future releases may add columns.

Configuration

Resources

The two fan-out children exist because Stripe embeds lines and items as lists that truncate at 10 with their own has_more. The parent keeps the embedded copy as raw JSON for reference, and the child resource is the complete set.
payment_intents.raw and setup_intents.raw contain client_secret. Treat those destination tables as sensitive. Stripe retains events for 30 days, so a pipeline paused longer than that cannot recover the missing event history.

Modes

All resources support full reads. If interrupted, a full read of a top-level resource resumes after its last completed page. The incremental resources are charges, payment_intents, refunds, disputes, balance_transactions, payouts, invoices, credit_notes, checkout_sessions, and events. All follow the same pattern. The cursor field is fixed by the manifest. Only a lookback window is user-configurable, which the numeric comparator supports. A lookback matters here because created never changes. A refund that settles from pending to succeeded, or a dispute that resolves, is not re-read by an incremental run unless a lookback window covers it. Use full runs or the events feed to capture post-creation mutations.

Behavior

  • Auth: HTTP basic with the API key as the username and no password, matching curl -u sk_test_…:.
  • Pagination: Stripe returns no next-page token. The cursor is the id of the last record on the page (data.-1.id), echoed back as starting_after, with has_more as the terminator and limit=100 per page.
  • API version: pinned via Stripe-Version: 2026-07-29.dahlia, so payload response schema is set by the manifest, not the account’s dashboard setting. The exception is events.data.object, which is rendered at the version current when each event was created.
  • Rate limiting: a static 8 requests/second limiter, held below Stripe’s 25 rps sandbox ceiling since one limiter is shared across all concurrently extracting resources. Stripe publishes no rate-limit response headers, so there is no dynamic block.
  • Timestamps: every Stripe timestamp is a Unix epoch integer typed int64, not timestamptz.