Skip to content

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 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 authentication credentials.
  3. Submit an API request and verify the response.
  4. Test the Advanced Billing integrations.

Next, you can explore authentication methods, basic concepts for interacting with Advanced Billing via the API, and the entire set of application-based documentation to aid in your discovery of the product.

Request Example

The following example uses the curl command-line tool to make an API request.

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.7+. Install the package from PyPi using the following pip command:

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

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

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

ParameterTypeDescription
sitestrThe subdomain for your Advanced Billing site.
Default: "subdomain"
environmentEnvironmentThe API environment.
Default: Environment.US
http_client_instanceUnion[Session, HttpClientProvider]The Http Client passed from the sdk user for making requests
override_http_client_configurationboolThe value which determines to override properties of the passed Http Client from the sdk user
http_call_backHttpCallBackThe callback value that is invoked before and after an HTTP call is made to an endpoint
timeoutfloatThe value to use for connection timeout.
Default: 120
max_retriesintThe number of times to retry an endpoint call if it fails.
Default: 0
backoff_factorfloatA backoff factor to apply between attempts after the second try.
Default: 2
retry_statusesArray of intThe http statuses on which retry is to be done.
Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
retry_methodsArray of stringThe http methods on which retry is to be done.
Default: ["GET", "PUT"]
proxy_settingsProxySettingsOptional proxy configuration to route HTTP requests through a proxy server.
basic_auth_credentialsBasicAuthCredentialsThe credential object for Basic Authentication

The API client can be initialized as follows:

Code-Based Client Initialization

fromadvancedbilling.advanced_billing_clientimportAdvancedBillingClientfromadvancedbilling.configurationimportEnvironmentfromadvancedbilling.http.auth.basic_authimportBasicAuthCredentialsclient=AdvancedBillingClient(
basic_auth_credentials=BasicAuthCredentials(
username='BasicAuthUserName',
password='BasicAuthPassword'
),
environment=Environment.US,
site='subdomain'
)

Environment-Based Client Initialization

fromadvancedbilling.advanced_billing_clientimportAdvancedBillingClient# Specify the path to your .env file if it’s located outside the project’s root directory.client=AdvancedBillingClient.from_environment(dotenv_path='/path/to/.env')

See the Environment-Based Client Initialization section for details.

Environments

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

Fields

NameDescription
USDefault Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
EUAdvanced 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

SDK Infrastructure

Configuration

HTTP

Utilities

About

AdvancedBilling Python SDK

Resources

Stars

3 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages