Paddle

Paddle is a payment infrastructure provider designed for SaaS and software businesses.

Data integration: Skyvia supports importing data to and from Paddle, exporting Paddle data to CSV files, replicating Paddle data to relational databases, and synchronizing Paddle data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support Paddle.

Query: Skyvia Query supports Paddle.

Establishing Connection

To create a connection to Paddle, specify the environment and provide an authentication token.

Getting Credentials

To obtain the authentication token, log in to Paddle. In the Paddle interface, go to the left-hand menu panel, click Developer Tools, and select Authentication:

Authentication

On the opened page, find the API Keys section and click Generate API key:

Generate API keys

Creating Connection

To connect to Paddle, follow these steps:

  1. Select the Environment type.

  2. Enter the authentication token generated in the previous step.

Connection create

Connector Specifics

Object Peculiarities

Notifications

Notifications older than 90 days are not retained. To limit the search period, use filtering by the From and To fields. If a query is executed without specifying conditions, these fields return empty values. You can set filtering either for the From or To fields individually, or use both together.

Example of filter setting:

1
2
3
SELECT t.*
 FROM Notifications AS t
WHERE (t.To = '2025-01-15 12:00:00' AND t."From" = '2025-01-10 12:00:00')

Notifications Log

Notifications are retained for 90 days. If you try to list logs for a notification that is no longer available, Paddle returns an error.

Subscriptions

For UPDATE operations, mapping of the ProrationBillingMode field is required. When performing a SELECT request, this field always returns an empty value. Additionally, ensure proper mapping of the Items field, as the array of included objects may vary depending on the selected item type. For more details, see the official documentation.

Transactions

Proper mapping of the Items field is required, as the array of included objects may vary depending on the selected item type. For more details, see the official documentation.

Nested Objects

The Items field of the Subscriptions and Transactions objects is a nested object. To insert or update nested values in the Items field during import, enable the Nested Objects option in the import configuration settings.

Filtering Specifics

The Paddle API supports the following native filters:

Object Fields and Operators
Adjustments Action (=), CustomerId (=, IN), Status (=, IN), SubscriptionId (=, IN), TransactionId (=, IN)
Customers Email (=, IN)
CustomerAddresses CustomerId (=, IN)
CustomerBusinesses CustomerId (=, IN)
CustomerPaymentMethods AddressId (=, IN), CustomerId (=, IN)
Discounts Code (=, IN)
Notifications NotificationSettingId (=, IN), Status (=, IN)
NotificationSettings Active (=), TrafficSource (=)
Prices ProductId (=, IN)
Products TaxCategory (=, IN)
Reports Status (=, IN)
Simulations NotificationSettingId (=, IN), Status (=, IN)
Subscriptions CollectionMode (=), AddressId (=, IN), CustomerId (=, IN), Status (=, IN)
Transactions CollectionMode (=), CustomerId (=, IN), InvoiceNumber (=, IN), Origin (=, IN), Status (=, IN), SubscriptionId (=, IN), CreatedDate (>=, >, <=, <), UpdatedDate (>=, >, <=, <), BilledAt (>=, >, <=, <)

Use these filters to improve performance and save API calls. You can use filters with other fields or operators, but it may increase API call usage.

Native Sorting

The Paddle API natively supports sorting for the following fields in the specified objects:

Object Field Sorting Order
Adjustments Id asc/desc
Customers Id asc/desc
Discounts CreatedDate, Id asc/desc
Notifications Id asc/desc
NotificationSettings Id asc/desc
Prices BillingCycle_Frequency, BillingCycleInterval, Id, ProductId, Quantity_Maximum, Quantity_Minimum, Status, TaxMode, UnitPrice_Amount, UnitPrice_CurrencyCode asc/desc
Products CustomData, Description, Id, ImageUrl, Name, Status, TaxCategory, CreatedDate, UpdatedDate asc/desc
Reports Id asc/desc
Simulations Id asc/desc
Subscriptions Id asc/desc
Transactions Id, BilledAt, CreatedDate, UpdatedDate asc/desc

Note that the Paddle API does not support native sorting by multiple fields simultaneously. You can only sort records natively by a single field.

Incremental Replication and Synchronization

Skyvia supports Replication with Incremental Updates for the following objects: Adjustments, CustomerAddresses, CustomerBusinesses, CustomerPaymentMethods, Customers, Discounts, Prices, Products, Reports, SimulationRuns, SimulationRunEvents, Simulations, Subscriptions, Transactions.

Synchronization is available for the objects: CustomerAddresses, CustomerBusinesses, Customers, Discounts, Prices, Products, Simulations, Transactions.

Since these objects support only INSERT and UPDATE operations, attempt to delete a record from one of these objects during synchronization will result in an error, such as: ‘Table Customers does not support DELETE statement.’

DML Operations

Operation Object
INSERT, UPDATE, DELETE NotificationSettings
INSERT, UPDATE CustomerAddresses, CustomerBusinesses, Customers, Discounts, Prices, Products, Simulations, Transactions
INSERT Adjustments, Reports, SimulationRuns
UPDATE Subscriptions
DELETE CustomerPaymentMethods

Stored Procedures

Skyvia represents part of the supported Paddle features as stored procedures. For example, you can call a stored procedure by specifying it as the command text in the ExecuteCommand action of a Target component in a Data Flow or in a Query.

For the Paddle connector, all parameters specified in procedures are required.

ReplayNotification

To replay a notification, i.e. to resend a previously sent webhook notification, use the command:

call ReplayNotification(:notification_id)

ReplayEventSimulationRun

To re-execute a simulated event run, use the command:

call ReplayEventSimulationRun(:simulation_event_id,:simulation_run_id,:simulation_id)

ActivateSubscription

To activate a trialing subscription, use the command:

call ActivateSubscription(:subscription_id)

PauseSubscription

To pause a subscription, use the command:

call PauseSubscription(:subscription_id)

ResumePausedSubscription

To resume a paused subscription, use the command:

call ResumePausedSubscription(:subscription_id)

CancelSubscription

To cancel a subscription, use the command:

call CancelSubscription(:subscription_id)

Supported Actions

Skyvia supports all the common actions for Paddle.