Paddle is a merchant-of-record billing and payment platform built for SaaS and digital product businesses. It handles the full revenue stack — payment processing, subscription management, tax compliance, fraud protection, and invoicing — across 200+ countries, automatically remitting sales tax and VAT. Its API manages products, pricing, customers, transactions, subscriptions, and discounts.
Power end-to-end data operations for your Paddle API with Nexla. Our bi-directional Paddle connector is purpose-built for Paddle, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Paddle or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Paddle workflows fast, secure, and fully governed.
Features
Type: API
SourceDestination
Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
To connect Nexla to Paddle, you need an active Paddle account and an API key. Paddle uses API key authentication with Bearer token authorization—your API key is sent as a Bearer token in the Authorization header of every request.
Paddle maintains two completely separate environments: Sandbox (for testing) and Production (for live transactions). Each environment has its own distinct API keys, base URL, and data set. Keys are not interchangeable between environments.
If you do not already have a Paddle account, register at paddle.com. For sandbox testing, create a separate sandbox account at sandbox-vendors.paddle.com.
Navigate to Developer Tools in the left-hand navigation menu, and select Authentication.
Click on the API keys tab.
Click the Generate API Key button (or New API Key, depending on your dashboard version).
Provide a descriptive Name for the key so you can identify it later (for example, Nexla Integration).
Optionally, set an Expiry date for the key. By default, keys expire 90 days from the date of creation. Setting an appropriate expiry date and rotating keys regularly is recommended for security.
Review and configure the key's Permissions. Paddle API keys support scoped permissions—select only the permissions that are necessary for your intended use with Nexla (for example, read access to transactions, subscriptions, products, and customers).
Click Save (or Create) to generate the key.
Copy the API key value immediately and store it securely. Paddle will only display the full API key value once at the time of creation. After navigating away, you will no longer be able to view the key value.
Important
Store your Paddle API key in a secure secrets manager or environment variable. Never embed it directly in code or share it with untrusted parties. If a key is compromised, revoke it from the Paddle dashboard and generate a new one.
For complete information about Paddle API key management—including scoped permissions, key rotation, and revocation—see the Paddle API Keys documentation.
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
Enter your Paddle API key in the API Key Value field. This is the 69-character key prefixed with pdl_apikey_ (production) or pdl_sdbx_apikey_ (sandbox) that you generated in the Paddle dashboard. This value will be stored securely and used as the Bearer token for all API requests made by Nexla.
Select the Base URL that corresponds to the Paddle environment you want to connect to:
Sandbox (https://sandbox-api.paddle.com): Use this option for testing and development. The sandbox environment is completely isolated from production data, allowing you to test integrations without affecting live transactions.
Production (https://api.paddle.com): Use this option for live, real-world data. All API calls will interact with your production Paddle account and real customer transactions.
Sandbox and production environments have separate accounts, separate API keys, and separate datasets. A sandbox API key will return a forbidden error if used against the production base URL, and vice versa. Ensure the Base URL you select matches the environment your API key was generated in.
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Paddle connector tile, then select the credential that will be used to connect to the Paddle instance, and click Next; or, create a new Paddle credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Paddle endpoints. Each template is designed specifically for the corresponding Paddle endpoint, making data source setup easy and efficient. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
List transactions
Retrieves a paginated list of all transactions in your Paddle account. Use this endpoint to ingest the complete history of billing transactions, including payments, invoices, and subscription charges. This endpoint is ideal for revenue reporting, reconciliation, and audit workflows.
No additional parameters are required. This endpoint automatically retrieves all transactions accessible with your API key, fetching up to 200 records per page and following pagination automatically until all results have been collected.
Nexla extracts individual transaction records from the $.data[*] path in the API response, so each transaction becomes a separate record in the resulting Nexset.
This endpoint returns all transaction types including one-time charges, subscription charges, and manual invoices. For complete details on the transaction object schema, see the Paddle List Transactions documentation.
Get a transaction
Retrieves detailed information for a single transaction identified by its Paddle transaction ID. Use this endpoint when you need to fetch and monitor a specific transaction rather than the full transaction history.
Enter the Paddle transaction ID in the Transaction ID field. Paddle transaction IDs follow the format txn_ followed by an alphanumeric string (for example, txn_01gw4rs4ks8h0kc5dh7gyaghph). Transaction IDs can be found in your Paddle dashboard under Revenue > Transactions, or by first using the List transactions endpoint.
This endpoint returns a single transaction object from the $.data path in the API response.
Retrieves a PDF invoice download URL for a specific transaction. Use this endpoint when you need to access, archive, or distribute invoice documents for billing transactions.
Enter the Paddle transaction ID in the Transaction ID field. Only completed transactions with billing details will have an associated PDF invoice. Transaction IDs can be found in your Paddle dashboard under Revenue > Transactions, or by using the List transactions endpoint.
The response contains a $.data object with a URL field pointing to the generated PDF invoice. The URL is time-limited and should be accessed promptly after retrieval.
Not all transactions have a PDF invoice. Transactions that are not yet completed or were created without invoice details may not return a valid invoice URL. For additional details, see the Paddle Get PDF Invoice documentation.
List subscriptions
Retrieves a paginated list of all subscriptions in your Paddle account. Use this endpoint to monitor recurring billing relationships, track subscription statuses, and build churn or retention analytics.
No additional parameters are required. This endpoint automatically retrieves all subscriptions accessible with your API key, fetching up to 200 records per page and following pagination automatically until all results have been collected.
Nexla extracts individual subscription records from the $.data[*] path in the API response. Each subscription record includes details such as status, billing cycle, plan, customer, and next billing date.
Subscription statuses in Paddle include active, canceled, past_due, paused, and trialing. For complete details on the subscription object schema, see the Paddle List Subscriptions documentation.
Get a subscription
Retrieves detailed information for a single subscription identified by its Paddle subscription ID. Use this endpoint when you need to track or audit the state of a specific customer subscription.
Enter the Paddle subscription ID in the Subscription ID field. Subscription IDs follow the format sub_ followed by an alphanumeric string (for example, sub_01gvne45dvdhg5gdbraa374kcm). Subscription IDs can be found in your Paddle dashboard under Subscriptions, or by first using the List subscriptions endpoint.
This endpoint returns a single subscription object from the $.data path in the API response, including full billing schedule, status, and associated customer and product details.
Retrieves a transaction that can be used to update the payment method on file for a specific subscription. Use this endpoint to initiate or support payment method update workflows, for example, when a customer's card has expired and you need to redirect them to update their billing details.
Enter the Paddle subscription ID in the Subscription ID field. The subscription must be in an active or past_due state for this endpoint to return a valid transaction. Subscription IDs can be obtained from the List subscriptions or Get a subscription endpoints.
This endpoint returns a transaction object from the $.data path. The transaction contains a checkout URL that can be presented to the customer to allow them to update their payment details securely via Paddle's hosted checkout.
Retrieves a paginated list of all products in your Paddle catalog. Use this endpoint to ingest your complete product inventory for reporting, catalog management, or synchronization with other systems.
No additional parameters are required. This endpoint automatically retrieves all products accessible with your API key, fetching up to 200 records per page and following pagination automatically.
Nexla extracts individual product records from the $.data[*] path. Each product record includes the product name, description, tax category, status, and associated metadata.
Products in Paddle represent what you sell. Prices are a separate entity linked to products and can be retrieved using the List prices endpoint. For complete details, see the Paddle List Products documentation.
Get a product
Retrieves detailed information for a single product identified by its Paddle product ID. Use this endpoint when you need to fetch current metadata for a specific product in your catalog.
Enter the Paddle product ID in the Product ID field. Product IDs follow the format pro_ followed by an alphanumeric string (for example, pro_01gsz4t5hdjse780zja8vvr7jg). Product IDs can be found in your Paddle dashboard under Catalog > Products, or by using the List products endpoint.
This endpoint returns a single product object from the $.data path in the API response.
Retrieves a paginated list of all prices in your Paddle account. Use this endpoint to ingest pricing configurations for your products, including recurring and one-time price definitions, trial periods, and billing intervals.
No additional parameters are required. This endpoint automatically retrieves all prices accessible with your API key, fetching up to 200 records per page and following pagination automatically.
Nexla extracts individual price records from the $.data[*] path. Each price record includes the associated product ID, billing interval, amount, currency, trial period settings, and status.
Prices in Paddle are linked to products. A product can have multiple prices (for example, monthly and annual billing options). For complete details, see the Paddle List Prices documentation.
Get a price
Retrieves detailed information for a single price identified by its Paddle price ID. Use this endpoint when you need to fetch the configuration for a specific pricing option in your catalog.
Enter the Paddle price ID in the Price ID field. Price IDs follow the format pri_ followed by an alphanumeric string (for example, pri_01gsz8ntbeh05w9c3sxs39sw3q). Price IDs can be found in your Paddle dashboard under Catalog > Prices, or by using the List prices endpoint.
This endpoint returns a single price object from the $.data path in the API response, including the full billing configuration, trial settings, and associated product.
Retrieves a paginated list of all payment methods saved for a specific customer. Use this endpoint to audit saved payment methods, support dunning workflows, or check payment method availability for a customer.
Enter the Paddle customer ID in the Customer ID field. Customer IDs follow the format ctm_ followed by an alphanumeric string (for example, ctm_01grnn4zta5a1mf02jjze7y2yt). Customer IDs can be found in your Paddle dashboard under Customers, or by using the List customers or Get a customer endpoints.
Nexla extracts individual payment method records from the $.data[*] path. Each record includes the payment method type (card, PayPal, etc.), last four digits, expiry details, and billing address.
Payment method records do not include full card numbers—only the last four digits are returned for security. For complete details, see the Paddle List Payment Methods documentation.
Get a payment method for a customer
Retrieves a specific payment method for a customer identified by both a customer ID and a payment method ID. Use this endpoint when you need to inspect a single saved payment method for a customer.
Enter the required identifiers in the corresponding fields:
Customer ID: The Paddle customer ID (format: ctm_...). Customer IDs can be found in your Paddle dashboard or via the List customers endpoint.
Payment Method ID: The Paddle payment method ID (format: paymtd_...). Payment method IDs can be obtained using the List payment methods for a customer endpoint.
This endpoint returns a single payment method object from the $.data path in the API response.
Retrieves a paginated list of all discounts defined in your Paddle account. Use this endpoint to review and audit your promotional pricing strategies, coupon codes, and discount configurations.
No additional parameters are required. This endpoint automatically retrieves all discounts accessible with your API key, fetching up to 200 records per page with automatic pagination.
Nexla extracts individual discount records from the $.data[*] path. Each record includes the discount code, type (percentage or flat amount), usage limits, expiry date, and redemption count.
Retrieves a paginated list of all discount groups in your Paddle account. Discount groups allow you to organize discounts into logical collections for easier management. Use this endpoint to audit discount group configurations.
No additional parameters are required. This endpoint retrieves all discount groups accessible with your API key, fetching up to 200 records per page with automatic pagination.
Nexla extracts individual discount group records from the $.data[*] path. Each record includes the group name, associated discounts, and metadata.
Retrieves detailed information for a single customer identified by their Paddle customer ID. Use this endpoint when you need to fetch current profile data for a specific customer.
Enter the Paddle customer ID in the Customer ID field. Customer IDs follow the format ctm_ followed by an alphanumeric string (for example, ctm_01grnn4zta5a1mf02jjze7y2yt). Customer IDs can be found in your Paddle dashboard under Customers, or by using the List customers endpoint.
This endpoint returns a single customer object from the $.data path in the API response, including name, email, status, locale, and marketing consent.
Retrieves a paginated list of all customers in your Paddle account. Use this endpoint to ingest your complete customer database for CRM synchronization, analytics, or customer success workflows.
No additional parameters are required. This endpoint automatically retrieves all customers accessible with your API key, fetching up to 200 records per page and following pagination automatically.
Nexla extracts individual customer records from the $.data[*] path. Each record includes the customer name, email, locale, status, and custom data fields.
Retrieves the details of a specific client-side token by its ID. Client-side tokens are used with Paddle.js to securely power frontend checkout and billing interactions. Use this endpoint to audit or inspect existing client-side token configurations.
Enter the client-side token ID in the Client Token ID field. Client-side token IDs can be found in your Paddle dashboard under Developer Tools > Client-side Tokens.
This endpoint returns a single client-side token object from the $.data path in the API response, including the token description, status, and allowed origins.
Client-side tokens are distinct from API keys. They are intended for use in browser-based environments with Paddle.js and do not grant server-side API access. For complete details, see the Paddle Get a Client-side Token documentation.
Get a PDF credit note for an adjustment
Retrieves a PDF credit note document URL for a specific billing adjustment. Adjustments in Paddle represent refunds or credits applied to a transaction. Use this endpoint to access credit note documents for accounting, compliance, or customer communication purposes.
Enter the Paddle adjustment ID in the Adjustment ID field. Adjustment IDs follow the format adj_ followed by an alphanumeric string. Adjustment IDs can be found in your Paddle dashboard under Revenue > Adjustments, or in the response of a transaction record where adjustments are referenced.
This endpoint returns a data object from the $.data path containing a URL to the PDF credit note. The URL is time-limited and should be accessed promptly after retrieval.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Paddle data sources can also be manually configured to ingest data from any valid Paddle API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
Most Paddle data retrieval operations use GET (POST is used for endpoints that require a request body to filter or preview results, such as pricing preview). The base URL depends on the credential's environment—https://sandbox-api.paddle.com for Sandbox, or https://api.paddle.com for Production—for example, https://api.paddle.com/customers to list customers in production. Query parameters can be appended directly to the URL to filter results, for example https://api.paddle.com/transactions?status=completed&per_page=200.
Date/time macros are useful for Paddle date filter parameters such as billed_at[gte] or created_at[lte] on the transactions or subscriptions endpoints, enabling incremental pipelines that retrieve only new or updated records on each run. Paddle date filters typically use ISO 8601 format (for example, 2024-01-01T00:00:00Z).
Paddle API responses nest the primary payload under a data field, with pagination metadata under a meta field (including pagination.total, pagination.per_page, and pagination.next). For list endpoints, set the path to data to $.data[*]; for single-object endpoints, set it to $.data. Set the path to metadata to $.meta to capture pagination details.
You do not need to include the Authorization header—this is automatically handled by Nexla using the API key configured in your Paddle credential. The Paddle API does not require a Content-Type header for GET requests.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Paddle data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Click the + icon on the Nexset that will be sent to the Paddle destination, and select the Send to Destination option from the menu. Select the Paddle connector from the list of available destination connectors, then select the credential that will be used to connect to the Paddle organization, and click Next; or, create a new Paddle credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Paddle endpoints. Each template is designed specifically for the corresponding Paddle endpoint, making destination setup easy and efficient. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Create a transaction
Creates a new transaction in your Paddle account. Use this endpoint to programmatically generate transactions for one-time charges, invoice-based billing, or other revenue events that are not automatically handled by Paddle's subscription engine.
No additional template parameters are required. Nexla will send the Nexset record data as a JSON body to the Paddle /transactions endpoint using an HTTP POST request.
Each Nexset record that is sent must include the required fields for the Paddle transaction object. At minimum, a valid transaction body should include:
items: An array of line items, each containing a price_id (the Paddle price ID, format: pri_...) and a quantity.
customer_id or customer: Either an existing Paddle customer ID (format: ctm_...) or an inline customer object with at least an email field.
Previews a transaction without creating it in Paddle. Use this endpoint to calculate totals, taxes, and discounts for a given set of items and customer details before committing to a transaction—useful for displaying pricing estimates or validating checkout data.
No additional template parameters are required. Nexla sends the Nexset record data as a JSON body to the Paddle /transactions/preview endpoint using an HTTP POST request.
The request body should include the items and customer details to be previewed. Required fields typically include:
items: An array of items to preview, each containing a price_id and quantity.
customer_ip_address or address: Used for tax calculation purposes.
The Paddle API response will include calculated totals, tax amounts, and applied discounts. No transaction is created.
Updates an existing subscription in Paddle, such as changing the plan, adjusting billing dates, or modifying the items on a subscription. Use this endpoint to manage subscription lifecycle changes programmatically.
Enter the Paddle subscription ID in the Subscription ID field. Subscription IDs follow the format sub_ followed by an alphanumeric string. Subscription IDs can be found in your Paddle dashboard under Subscriptions, or by using the List subscriptions or Get a subscription data source endpoints.
Nexla sends the Nexset record data as a JSON body to the subscription endpoint using an HTTP PATCH request. Only the fields included in the request body will be updated—all other subscription fields will remain unchanged.
Common updatable fields include:
items: To change the products or prices on the subscription.
next_billed_at: To reschedule the next billing date.
proration_billing_mode: To control how proration is handled when making changes mid-cycle.
Cancels a specific subscription in Paddle. Use this endpoint to handle customer churn, subscription downgrades, or end-of-term cancellations programmatically. Paddle allows you to control whether the cancellation takes effect immediately or at the end of the current billing period.
Enter the Paddle subscription ID in the Subscription ID field. Subscription IDs follow the format sub_ followed by an alphanumeric string. Subscription IDs can be obtained from the List subscriptions or Get a subscription data source endpoints.
Nexla sends the Nexset record data as a JSON body using an HTTP POST request. The request body can include an effective_from field to control when the cancellation takes effect. Supported values are immediately (cancel the subscription now) or next_billing_period (cancel at the end of the current billing cycle).
Canceling a subscription is irreversible. The subscription status will change to canceled and the customer will no longer be billed. For complete details, see the Paddle Cancel a Subscription documentation.
Pause a subscription
Pauses a specific subscription in Paddle, temporarily halting billing without canceling the subscription. Use this endpoint to accommodate customers who need a temporary break from their subscription.
Enter the Paddle subscription ID in the Subscription ID field. Subscription IDs follow the format sub_ followed by an alphanumeric string.
Nexla sends the Nexset record data as a JSON body using an HTTP POST request. The request body can include an effective_from field to control when the pause takes effect, and a resume_at field to schedule an automatic resumption date.
A paused subscription will have the status paused. The subscription can be resumed using the Resume a paused subscription endpoint. For complete details, see the Paddle Pause a Subscription documentation.
Resume a paused subscription
Resumes a subscription that has been paused, reinstating billing on the configured schedule. Use this endpoint when a customer is ready to resume their subscription after a pause.
Enter the Paddle subscription ID in the Subscription ID field. The subscription must be in a paused status for this operation to succeed. Subscription IDs can be found in your Paddle dashboard or via the List subscriptions endpoint.
Nexla sends the Nexset record data as a JSON body using an HTTP POST request. The request body can include an effective_from field to control when billing resumes.
Activates a subscription that is currently in a trial period, starting full billing immediately rather than waiting for the trial to end. Use this endpoint when a customer chooses to convert to a paid plan before their trial expires.
Enter the Paddle subscription ID in the Subscription ID field. The subscription must be in trialing status for this operation to succeed. Subscription IDs can be obtained from the List subscriptions endpoint.
Nexla sends the Nexset record data as a JSON body using an HTTP POST request. This endpoint typically does not require a request body beyond the subscription ID included in the URL.
Creates a one-time charge that will be applied to an existing subscription's next invoice. Use this endpoint to bill a customer for ad hoc services, setup fees, or any additional charges outside of the regular subscription price.
Enter the Paddle subscription ID in the Subscription ID field. Subscription IDs follow the format sub_ followed by an alphanumeric string. The subscription must be in an active status.
Nexla sends the Nexset record data as a JSON body using an HTTP POST request. The request body must include:
items: An array of one-time items to charge, each containing a price_id (or inline price details) and a quantity.
effective_from: Controls when the charge is applied. Use immediately to bill at once, or next_billing_period to add it to the next scheduled invoice.
Creates a new product in your Paddle catalog. Use this endpoint to programmatically add products when launching new offerings or synchronizing your product catalog from an external system.
No additional template parameters are required. Nexla sends the Nexset record data as a JSON body to the Paddle /products endpoint using an HTTP POST request.
Each record must include the required fields for a Paddle product object:
name: The name of the product (required).
tax_category: The Paddle tax category for the product, such as standard or saas (required).
description: An optional product description.
image_url: An optional URL for the product image.
Products are the top-level catalog entity in Paddle. After creating a product, you can create associated prices using the Create a price endpoint. For complete field details, see the Paddle Create a Product documentation.
Update a product
Updates the details of an existing product in your Paddle catalog. Use this endpoint to modify product names, descriptions, images, or status when your catalog changes.
Enter the Paddle product ID in the Product ID field. Product IDs follow the format pro_ followed by an alphanumeric string. Product IDs can be found in your Paddle dashboard under Catalog > Products, or by using the List products or Get a product data source endpoints.
Nexla sends the Nexset record data as a JSON body using an HTTP PATCH request. Only the fields included in the request body will be updated.
Previews price calculations for a given pricing configuration without saving any data. Use this endpoint to calculate totals, taxes, and discounts for a set of items and customer details before presenting a pricing summary to a customer or performing a checkout.
No additional template parameters are required. Nexla sends the Nexset record data as a JSON body to the Paddle /pricing-preview endpoint using an HTTP POST request.
The request body should include the items and address information needed to calculate a localized price estimate. Key fields include:
items: An array of items to preview, each with a price_id and quantity.
customer_ip_address or address: Used for localized tax calculations.
currency_code: Optional. The currency in which to display prices.
The API response includes calculated totals, tax amounts, and line-item breakdowns. No data is saved to your Paddle account.
Creates a new price for a product in your Paddle catalog. Prices define how much a customer is charged and on what schedule. Use this endpoint to add pricing options such as monthly, annual, or one-time charges to an existing product.
No additional template parameters are required. Nexla sends the Nexset record data as a JSON body to the Paddle /prices endpoint using an HTTP POST request.
Each record must include the required fields for a Paddle price object:
product_id: The ID of the product this price applies to (format: pro_..., required).
description: A brief description of the price (required).
unit_price: An object with amount (in the smallest currency unit, e.g., cents) and currency_code (required).
billing_cycle: For recurring prices, an object specifying the interval (e.g., month, year) and frequency.
Updates an existing price in your Paddle catalog. Use this endpoint to modify price descriptions, unit amounts, billing intervals, or trial periods when your pricing strategy changes.
Enter the Paddle price ID in the Price ID field. Price IDs follow the format pri_ followed by an alphanumeric string. Price IDs can be found in your Paddle dashboard under Catalog > Prices, or by using the List prices or Get a price data source endpoints.
Nexla sends the Nexset record data as a JSON body using an HTTP PATCH request. Only the fields included in the request body will be updated—all other price fields will remain unchanged.
Deletes a specific saved payment method associated with a customer in Paddle. Use this endpoint to remove outdated or unwanted payment methods from a customer's profile.
Enter the required identifiers in the corresponding fields:
Customer ID: The Paddle customer ID (format: ctm_...). Customer IDs can be found in your Paddle dashboard or via the List customers endpoint.
Payment Method ID: The Paddle payment method ID (format: paymtd_...). Payment method IDs can be obtained using the List payment methods for a customer data source endpoint.
Nexla sends an HTTP DELETE request to the payment method endpoint. No request body is required. A successful response will return an HTTP 204 No Content status.
Deleting a payment method is permanent and cannot be undone. Ensure that the customer has an alternative payment method on file before deleting, particularly if they have active subscriptions. For complete details, see the Paddle Delete a Payment Method documentation.
Create a customer
Creates a new customer record in your Paddle account. Use this endpoint to register customers programmatically when onboarding new users, importing from an external CRM, or creating customers ahead of checkout.
No additional template parameters are required. Nexla sends the Nexset record data as a JSON body to the Paddle /customers endpoint using an HTTP POST request.
Each record must include the required fields for a Paddle customer object:
email: The customer's email address (required).
name: The customer's full name (optional but recommended).
locale: The customer's locale (optional, used for localization of invoices and checkout).
custom_data: An optional JSON object for storing custom key-value metadata associated with the customer.
Updates details for an existing customer in your Paddle account, such as name, email address, locale, or custom metadata. Use this endpoint to keep customer records synchronized with your CRM or user database.
Enter the Paddle customer ID in the Customer ID field. Customer IDs follow the format ctm_ followed by an alphanumeric string. Customer IDs can be found in your Paddle dashboard under Customers, or by using the List customers or Get a customer data source endpoints.
Nexla sends the Nexset record data as a JSON body using an HTTP PATCH request. Only the fields included in the request body will be updated.
Generates a new short-lived authentication token for a customer to enable secure client-side access. Customer authentication tokens are used with Paddle.js to allow authenticated customers to interact with Paddle's client-side APIs (for example, to manage their own subscriptions or payment methods in a customer portal).
Enter the Paddle customer ID in the Customer ID field. Customer IDs follow the format ctm_ followed by an alphanumeric string. Customer IDs can be found in your Paddle dashboard or via the List customers endpoint.
Nexla sends an HTTP POST request to the customer authentication token endpoint. No additional request body fields are required beyond the customer ID included in the URL. The API response will include the generated token and its expiry time.
Customer authentication tokens are short-lived and should be generated immediately before use. They are not the same as API keys—they are intended for use in client-side contexts such as embedded customer portals. For complete details, see the Paddle Generate Customer Auth Token documentation.
Create a client-side token
Creates a new client-side token for use with Paddle.js in your application's frontend. Client-side tokens control which domains can use Paddle.js and which features are available via the client-side API. Use this endpoint to programmatically manage your Paddle.js integration credentials.
No additional template parameters are required. Nexla sends the Nexset record data as a JSON body to the Paddle /client-tokens endpoint using an HTTP POST request.
The request body can include:
description: A descriptive label for the token (optional).
allowed_origins: An array of domain origins that are authorized to use this token with Paddle.js (for example, ["https://yourapp.com"]).
Updates the properties of an existing client-side token, such as its description or allowed origins. Use this endpoint to update your Paddle.js token configuration when your application's domain setup changes.
Enter the client-side token ID in the Client Token ID field. Client-side token IDs can be found in your Paddle dashboard under Developer Tools > Client-side Tokens.
Nexla sends the Nexset record data as a JSON body using an HTTP PATCH request. Only the fields included in the request body will be updated.
Paddle destinations can also be manually configured to send data to any valid Paddle API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
Common Paddle API methods for destination operations include POST (creating transactions, customers, products, prices, and client-side tokens), PATCH (partially updating subscriptions, products, prices, customers, and client-side tokens), and DELETE (removing payment methods). The Paddle API requires JSON for all request bodies.
The base URL depends on the credential's environment—https://sandbox-api.paddle.com for Sandbox, or https://api.paddle.com for Production. For update or patch operations, include the resource ID at the end of the URL—for example, https://api.paddle.com/subscriptions/{'{subscription_id}'} for subscription updates.
You do not need to include the Authorization header—this is automatically handled by Nexla using the API key configured in your Paddle credential. The Paddle API requires a Content-Type: application/json header for requests with a body, which Nexla sets automatically when using JSON data format.
Important
When testing Paddle destination endpoints that create or modify data (such as creating transactions or customers), use your Paddle Sandbox environment to avoid affecting live production data. Ensure your Paddle credential is configured with the Sandbox base URL before sending test payloads.
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Paddle endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the Paddle endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.