Apache Software Foundation / SeaTunnel
Merged upstreamFeatureMerged Sep 15, 2026

Add PayPal Transaction Search batch source

Added a bounded PayPal Transaction Search source with OAuth client credentials, token refresh, pagination and exact decimal amounts.

apache/seatunnel · #12282

Problem

SeaTunnel's connector roadmap requested native PayPal integration for transaction ingestion rather than custom extraction code.

Approach

Reads one account over an explicit interval of at most 31 days using a single batch reader. Preserves repeated transaction IDs, nullable fields and complete detail JSON; validates served coverage and pagination with bounded retries and cancellation.

Impact and scope

  • Enables transaction reports to enter existing SeaTunnel pipelines with typed amounts and full detail preserved.
  • Checks reporting coverage and controls authentication/pagination rather than silently accepting incomplete results.
  • Recovery replays the interval; this does not promise exactly-once delivery or an immutable report.

Validation

  • The PR reports 59 unit tests and one packaged SPI/OAuth integration test per JDK on Java 8/11, secret-masking tests, and 47 adjacent HTTP-base tests on Java 11.
  • Mock-backed Zeta, Flink 1.18 and Spark 3.3 E2E runs passed, including OAuth expiry refresh and pagination. Live PayPal/sandbox validation and the full repository matrix were not run.
  • GitHub Build passed and the verified merge commit credits Goutam Adwant.