Skip to main content

Chargify

Chargify (now Maxio Advanced Billing) is a subscription billing and revenue management platform designed for B2B SaaS businesses. It automates the entire subscription lifecycle—including plan creation, subscriber onboarding, recurring invoicing, payment processing, dunning, and revenue recognition. Chargify supports a wide range of billing models such as flat-rate, usage-based, tiered, and component-based pricing, and integrates with major payment gateways including Stripe, Braintree, and Authorize.net. It is widely used by software companies to manage complex subscription relationships, reduce churn through intelligent retry logic, and gain visibility into recurring revenue metrics such as MRR, churn rate, and LTV.

Chargify icon

Power end-to-end data operations for your Chargify API with Nexla. Our bi-directional Chargify connector is purpose-built for Chargify, 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 Chargify or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Chargify 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

Prerequisites

To connect Nexla to Chargify, you need a Chargify account with API access, an API key, and your site's subdomain. Chargify uses HTTP Basic Authentication over HTTPS, where your API key serves as the username and the literal string x serves as the password.

Identify Your Chargify Site Subdomain

Each Chargify site has a unique subdomain that forms the base of all API URLs. Your site subdomain is the prefix used when you access your Chargify dashboard (for example, if you log in at https://mycompany.chargify.com, your subdomain is mycompany).

  1. Sign in to your Chargify account at app.chargify.com.

  2. The subdomain is shown in the browser address bar when you are viewing your site dashboard. Note this value—you will need it when constructing API endpoint URLs in Nexla.

Obtain a Chargify API Key

Chargify API keys grant programmatic access to your site's data. Each site can have up to 10 API v1 keys. API keys should be kept secure and treated like passwords.

  1. Sign in to your Chargify dashboard at app.chargify.com.

  2. Navigate to Config > Integrations in the left-hand navigation menu.

  3. Click the Chargify API tab to view your API keys.

  4. Click Create new API key to generate a new key. Assign a descriptive name (for example, "Nexla Integration") to help identify the key's purpose.

  5. Copy the generated API key and store it securely. You will need this key when creating the Nexla credential.

Only Chargify site owners and users with the appropriate permissions can access the API keys page. Contact your Chargify account administrator if you do not see this option. For complete information about API key management, see the Chargify API Keys documentation.

Important

Chargify does not display the full API key after initial creation. Copy and securely store the key immediately when it is generated, as you will not be able to view it again from the dashboard.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

Chargify uses HTTP Basic Authentication over TLS (HTTPS). Your API key is sent as the username with every API call. This authentication method is the same for all Chargify REST API v1 operations.

  1. Enter your Chargify API key in the API Key field. This is the key you copied from Config > Integrations > Chargify API in your Chargify dashboard. The API key is used as the Basic Auth username.

  2. Enter your Chargify site subdomain in the Site Subdomain field. This is the unique prefix for your Chargify site (for example, if your site URL is https://mycompany.chargify.com, enter mycompany). The subdomain is required to construct the correct base URL for all API requests.

    All Chargify API requests are made to https://{'{subdomain}'}.chargify.com, where {'{subdomain}'} is your site's unique identifier. Every Chargify site has its own subdomain, and API keys are site-specific—an API key from one site cannot be used to access another site's data.

  3. 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.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Chargify connector tile, then select the credential that will be used to connect to the Chargify instance, and click Next; or, create a new Chargify credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Chargify endpoints. 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 Subscriptions

This endpoint retrieves a list of all subscriptions within your Chargify site. Use this endpoint to export subscription records for revenue reporting, churn analysis, lifecycle monitoring, or synchronization with a CRM or data warehouse.

  • This endpoint retrieves all subscriptions for your Chargify site. No additional configuration is required beyond selecting this endpoint template—the connector uses your site subdomain from the credential to construct the correct API URL.

  • Each subscription record includes details such as the subscription state (active, canceled, trialing, past_due, etc.), product information, customer reference, billing dates, current period start and end, balance in cents, and payment collection method.

  • The Chargify API returns subscriptions in pages of up to 200 records. The Nexla connector handles pagination automatically, fetching all available pages to ensure complete data retrieval.

Chargify subscription states include active, canceled, expired, trialing, past_due, pending, and suspended. For complete details about the subscription object structure and available filter parameters, see the Chargify API reference for List Subscriptions.

List Customers

This endpoint retrieves a list of all customers (subscribers) within your Chargify site. Use this endpoint to export customer records for CRM synchronization, contact management, customer success workflows, or reporting.

  • This endpoint retrieves all customers for your Chargify site. No additional configuration is required beyond selecting this endpoint template.

  • Each customer record includes fields such as the customer's first name, last name, email address, organization, reference identifier, billing address details, and the Chargify-assigned customer ID.

  • In Chargify, customers represent billing subscribers and are distinct from site users (admin and staff accounts). A single customer can have multiple subscriptions.

The reference field on a Chargify customer record is a custom identifier you can use to cross-reference customers with records in your own system (for example, a CRM contact ID or internal user ID). For complete details about the customer object, see the Chargify API reference for List Customers.

List Products

This endpoint retrieves all products defined within your Chargify site. Use this endpoint to export product catalog data for pricing analysis, product catalog synchronization, or reporting on which plans your subscribers are enrolled in.

  • This endpoint retrieves all products across all product families in your Chargify site. No additional configuration is required beyond selecting this endpoint template.

  • Each product record includes the product name, handle, description, price point details (price in cents, interval, and interval unit), product family association, and trial and expiration settings.

  • Products in Chargify represent subscription plans that customers can subscribe to. They are organized into product families, which group related plans together.

Chargify prices are stored in cents (integer values). For example, a product priced at $49.00 will appear as 4900 in the API response. Divide by 100 when displaying or using prices in downstream systems. For complete details, see the Chargify API reference for List Products.

List Invoices

This endpoint retrieves a list of invoices from your Chargify site. Use this endpoint to export invoice data for accounts receivable reporting, revenue recognition, audit trails, or financial reconciliation.

  • This endpoint retrieves all invoices across your Chargify site. No additional configuration is required beyond selecting this endpoint template.

  • Each invoice record includes the invoice number, issue date, due date, status (open, paid, voided, canceled), total amount due, amount paid, amount remaining, line items, customer information, and associated subscription reference.

  • Invoice statuses in Chargify include open (awaiting payment), paid, voided, and canceled. Invoices are automatically generated based on subscription billing events.

Invoice amounts in the Chargify API are represented in cents. For complete details about the invoice object structure and available filter parameters (such as filtering by status or date range), see the Chargify API reference for List Invoices.

List Events

This endpoint retrieves a list of events that have occurred within your Chargify site. Use this endpoint to audit activity, build event-driven pipelines, track subscription lifecycle changes, or feed events into a data warehouse for historical analysis.

  • This endpoint retrieves all site-level events from your Chargify account. No additional configuration is required beyond selecting this endpoint template.

  • Each event record includes the event type (such as subscription_state_change, payment_success, payment_failure, signup_success, or renewal_success), a timestamp, the associated subscription or customer ID, and the event-specific data payload.

  • Chargify generates events automatically in response to subscription and billing lifecycle changes. Events provide a full audit trail of all billing activity across your site.

The Chargify Events API returns events in reverse chronological order by default (most recent first). The Nexla connector retrieves events across all available pages. For complete details about event types and the event object structure, see the Chargify API reference for List Events.

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.

Manual configuration

Chargify data sources can also be manually configured to ingest data from any valid Chargify 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.

All Chargify API endpoints use the base URL https://{'{subdomain}'}.chargify.com/, where {'{subdomain}'} is your Chargify site's unique subdomain. The API accepts both .json and .xml suffixes—JSON is the recommended format, and all requests must use HTTPS.

Chargify list responses wrap each record in a key named for the resource type (for example, a subscriptions list returns an array where each element has a subscription key), so the Path to Data must be set accordingly—for example, $[*].subscription for the subscriptions endpoint—to parse the response into individual records. Authorization headers are not needed, since authentication is handled automatically based on your credential; add Accept:application/json only if a specific endpoint requires it.

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 Chargify 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.

Use as a destination

Click the + icon on the Nexset that will be sent to the Chargify destination, and select the Send to Destination option from the menu. Select the Chargify connector from the list of available destination connectors, then select the credential that will be used to connect to the Chargify organization, and click Next; or, create a new Chargify credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Chargify endpoints. 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 Subscription

This endpoint creates a new subscription in Chargify. Use this template when you need to programmatically enroll customers into a subscription plan—for example, as part of a sign-up flow, a data migration, or an integration that provisions subscriptions based on events in another system.

  • The data sent to this endpoint must conform to the Chargify subscription creation schema. At minimum, a valid product_handle or product_id and customer information (either an existing customer_id or new customer details including first_name, last_name, and email) are required.

  • Optionally include additional fields such as payment_profile_id (to use an existing payment method), coupon_code (to apply a discount at signup), components (to add component allocations), or ref (a custom reference identifier for the subscription).

  • A successful request returns the newly created subscription object with its Chargify-assigned id and current state. The subscription state at creation depends on your site's payment collection settings and whether a valid payment method is provided.

Chargify validates subscription creation requests carefully. Ensure that the product handle or ID, customer details, and any payment profile information are correct before sending data. For complete details about required and optional fields, see the Chargify API reference for Create Subscription.

Create Customer

This endpoint creates a new customer record in Chargify. Use this template when you need to provision customer accounts in Chargify from an external source—for example, syncing new signups from a CRM, provisioning billing accounts as part of an onboarding workflow, or migrating customers from another billing platform.

  • The data sent to this endpoint must include at minimum a valid first_name, last_name, and email address for the customer.

  • Optionally include additional fields such as organization (the company name), reference (your internal identifier for the customer, useful for cross-referencing with your own systems), address, city, state, zip, country, and phone.

  • A successful request returns the newly created customer object with its Chargify-assigned id. Use this ID in subsequent API calls to associate subscriptions, payment profiles, or other records with this customer.

The reference field is particularly useful for maintaining a link between Chargify customers and records in your own system. Setting a unique reference value at customer creation makes it easy to look up Chargify customers by your internal ID. For complete details about the customer object, see the Chargify API reference for Create Customer.

Update Subscription

This endpoint updates an existing subscription in Chargify. Use this template to modify subscription details such as the product, payment collection method, custom reference, or other subscription-level attributes as part of a migration, upgrade workflow, or automated subscription management process.

  • The Chargify-assigned subscription ID must be provided as part of the API URL path when updating a subscription. This ID is returned in the subscription object from the List Subscriptions endpoint or Create Subscription endpoint.

  • Include in the request body only the fields you want to update. Common updatable fields include product_handle or product_id (to change the product), payment_collection_method (automatic or invoice), receives_invoice_emails, and ref (custom reference).

  • A successful request returns the updated subscription object with all current field values reflected.

Changing a subscription's product via the Update Subscription endpoint initiates a product migration in Chargify. Depending on your site's migration settings, prorations may be applied. For complete details about updatable fields and migration behavior, see the Chargify API reference for Update Subscription.

Manual configuration

Chargify destinations can also be manually configured to send data to any valid Chargify 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.

All Chargify API endpoints use the base URL https://{'{subdomain}'}.chargify.com/, where {'{subdomain}'} is your Chargify site's unique subdomain. Chargify accepts JSON as the recommended data format, and destination operations commonly use POST to create records (subscriptions, customers, charges, refunds), PUT to replace existing records, and DELETE to cancel subscriptions or remove records. For update and delete operations, include the Chargify-assigned resource ID in the URL path.

Save & activate

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 Chargify endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Chargify endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.