Apache Software Foundation / SeaTunnel
Merged upstreamFeatureMerged Sep 1, 2026

Add a Stripe PaymentIntents source

Implemented a bounded Stripe source that reads complete PaymentIntent JSON records through SeaTunnel's existing HTTP infrastructure without adding the Stripe SDK.

apache/seatunnel · #11940

New payments connector

SeaTunnel can now ingest bounded Stripe PaymentIntent histories with cursor pagination, rate-limit retry, and credential-safe errors.

Problem

SeaTunnel lacked a Stripe ingestion path that could page safely through PaymentIntents, handle API rate limits, reject cursor loops, and prevent secret or restricted keys from leaking through error messages.

Approach

Added API-key authentication, version and base-URL overrides, created-time filters, `starting_after` pagination, repeated-cursor protection, bounded exponential retry for HTTP 429, and explicit key redaction. The connector emits each complete object through a stable string column.

Impact and scope

  • Enables payment-event ingestion for analytics, reconciliation, and downstream data pipelines.
  • Handles Stripe pagination and throttling deterministically without introducing another runtime SDK dependency.
  • Protects credentials across API failure paths while supporting both secret and restricted keys.

Validation

  • Added 12 focused tests for validation, authentication, filters, multi-page reads, cursor safety, retry, exhaustion, and non-retryable failures.
  • Added stripe-mock E2E coverage and passed the HTTP connector reactor on Java 8 and Java 11 plus the final Apache Build.
  • The authored commits and GitHub-verified merge credit Goutam Adwant; two upstream approvals landed the feature.