Skip to content

maxio-com/ab-python-sdk

Repository files navigation

Getting Started with Maxio Advanced Billing

Introduction

Maxio Advanced Billing (formerly Chargify) provides an HTTP-based API that conforms to the principles of REST. One of the many reasons to use Advanced Billing is the immense feature set and surrounding community client libraries. The Maxio API returns JSON responses as the primary and recommended format, but XML is also provided as a backwards compatible option for Merchants who require it.

Steps to make your first Maxio Advanced Billing API call

  1. Sign-up or log-in to your test site account.
  2. Setup and configure authentication credentials.
  3. Submit your API request and try it out.
  4. Verify results through response.
  5. Test our integrations.

We strongly suggest exploring the developer portal, our integrations and the API guide, as well as the entire set of application-based documentation to aid in your discovery of the product.

Example

The following example uses the curl command-line tool to execute API requests.

Request

curl -u <api_key>:x -H Accept:application/json -H Content-Type:application/json https://acme.chargify.com/subscriptions.json

Install the Package

The package is compatible with Python versions 3 >=3.7, <= 3.11. Install the package from PyPi using the following pip command:

pip install maxio-advanced-billing-sdk==6.0.0

You can also view the package at: https://pypi.python.org/pypi/maxio-advanced-billing-sdk/6.0.0

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

Parameter Type Description
site str The subdomain for your Advanced Billing site.
Default: 'subdomain'
environment Environment The API environment.
Default: Environment.US
http_client_instance HttpClient The Http Client passed from the sdk user for making requests
override_http_client_configuration bool The value which determines to override properties of the passed Http Client from the sdk user
http_call_back HttpCallBack The callback value that is invoked before and after an HTTP call is made to an endpoint
timeout float The value to use for connection timeout.
Default: 120
max_retries int The number of times to retry an endpoint call if it fails.
Default: 0
backoff_factor float A backoff factor to apply between attempts after the second try.
Default: 2
retry_statuses Array of int The http statuses on which retry is to be done.
Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
retry_methods Array of string The http methods on which retry is to be done.
Default: ['GET', 'PUT']
basic_auth_credentials BasicAuthCredentials The credential object for Basic Authentication

The API client can be initialized as follows:

client = AdvancedBillingClient(
    basic_auth_credentials=BasicAuthCredentials(
        username='BasicAuthUserName',
        password='BasicAuthPassword'
    ),
    environment=Environment.US,
    site='subdomain'
)

Environments

The SDK can be configured to use a different environment for making API calls. Available environments are:

Fields

Name Description
US Default Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
EU Advanced Billing environment hosted in EU. Use only when you requested EU hosting for your AB account.

Authorization

This API uses the following authentication schemes.

List of APIs

Classes Documentation