Skip to main content

Paypal Transaction

This page contains the setup guide and reference information for the Paypal Transaction source connector.

Prerequisites

The Paypal Transaction API is used to get the history of transactions for a PayPal account.

Setup guide

Step 1: Set up Paypal Transaction

In order to get an Client ID and Secret please go to this page and follow the instructions. After registration you may find your Client ID and Secret here.

note

Our Paypal Transactions Source Connector does not support OAuth at this time due to limitations outside of our control. If OAuth for Paypal Transactions is critical to your business, please reach out to us to discuss how we may be able to partner on this effort.

Step 2: Set up the Paypal Transaction connector in Airbyte

For Airbyte Cloud:

  1. Log into your Airbyte Cloud account.
  2. In the left navigation bar, click Sources. In the top-right corner, click +new source.
  3. On the Set up the source page, enter the name for the Paypal Transaction connector and select Paypal Transaction from the Source type dropdown.
  4. Enter your client id
  5. Enter your secret
  6. Choose if your account is sandbox
  7. Enter the date you want your sync to start from
  8. Click Set up source.

For Airbyte Open Source:

  1. Navigate to the Airbyte Open Source dashboard
  2. Set the name for your source
  3. Enter your client id
  4. Enter your secret
  5. Choose if your account is sandbox
  6. Enter the date you want your sync to start from
  7. Click Set up source

Supported sync modes

The PayPal Transaction source connector supports the following sync modes:

FeatureSupported?
Full Refresh SyncYes
Incremental - Append SyncYes
NamespacesNo

Supported Streams

This Source is capable of syncing the following core Streams:

Performance considerations

Paypal transaction API has some limits

  • start_date_min = 3 years, API call lists transaction for the previous three years.
  • start_date_max = 1.5 days, it takes a maximum of three hours for executed transactions to appear in the list transactions call. It is set to 1.5 days by default based on experience, otherwise API throw an error.
  • stream_slice_period = 7 day, the maximum supported date range is 31 days.
  • records_per_request = 10000, the maximum number of records in a single request.
  • page_size = 500, the maximum page size is 500.
  • requests_per_minute = 30, maximum limit is 50 requests per minute from IP address to all endpoint

By default, syncs are performed with a slice period of 7 days. If you see errors with the message Result set size is greater than the maximum limit. Change the filter criteria and try again., lower the size of the slice period in your connection configuration.

Data type map

Integration TypeAirbyte Type
stringstring
numbernumber
arrayarray
objectobject

Reference

Config fields reference

Field
Type
Property name
string
client_id
string
client_secret
string
start_date
boolean
is_sandbox
string
dispute_start_date
string
end_date
string
refresh_token
integer
time_window

Changelog

VersionDatePull RequestSubject
2.2.22024-02-0935075Manage dependencies with Poetry.
2.2.12024-01-1134155prepare for airbyte-lib
2.2.02023-10-2531852The size of the time_window can be configured
2.1.22023-10-2331759Keep transaction_id as a string and fetch data in 7-day batches
2.1.12023-10-1931599Base image migration: remove Dockerfile and use the python-connector-base image
2.1.02023-08-1429223Migrate Python CDK to Low Code schema
2.0.02023-07-0527916Update Balances schema
1.0.02023-07-0327968mark Client ID and Client Secret as required fields
0.1.132023-02-2022916Specified date formatting in specification
0.1.122023-02-1823211Fix error handler
0.1.112023-01-2722019Set AvailabilityStrategy for streams explicitly to None
0.1.102022-09-0417554Made the spec and source config to be consistent
0.1.92022-08-1815741Removed OAuth2.0 option
0.1.82022-07-2515000Added support of OAuth2.0 authentication, fixed bug when normalization couldn't handle nested cursor field and primary key
0.1.72022-07-1814804Added RESULTSET_TOO_LARGE error validation
0.1.62022-06-1013682Updated paypal transaction schema
0.1.52022-04-2712335Added fixtures to mock time.sleep for connectors that explicitly sleep
0.1.42021-12-229034Updated connector fields title/description
0.1.32021-12-168580Added more logs during check connection stage
0.1.22021-11-087499Removed base-python dependencies
0.1.12021-08-035155Fixed start_date_min limit
0.1.02021-06-104240PayPal Transaction Search API