Skip to content

maxio-com/ab-typescript-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

Run the following command from your project directory to install the package from npm:

npm install @maxio-com/[email protected]

For additional package details, see the Npm page for the @maxio-com/[email protected] npm.

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 string The subdomain for your Advanced Billing site.
Default: 'subdomain'
environment Environment The API environment.
Default: Environment.US
timeout number Timeout for API calls.
Default: 120000
httpClientOptions Partial<HttpClientOptions> Stable configurable http client options.
unstableHttpClientOptions any Unstable configurable http client options.
basicAuthCredentials BasicAuthCredentials The credential object for basicAuth

HttpClientOptions

Parameter Type Description
timeout number Timeout in milliseconds.
httpAgent any Custom http agent to be used when performing http requests.
httpsAgent any Custom https agent to be used when performing http requests.
retryConfig Partial<RetryConfiguration> Configurations to retry requests.

RetryConfiguration

Parameter Type Description
maxNumberOfRetries number Maximum number of retries.
Default: 0
retryOnTimeout boolean Whether to retry on request timeout.
Default: true
retryInterval number Interval before next retry. Used in calculation of wait time for next request in case of failure.
Default: 1
maximumRetryWaitTime number Overall wait time for the requests getting retried.
Default: 0
backoffFactor number Used in calculation of wait time for next request in case of failure.
Default: 2
httpStatusCodesToRetry number[] Http status codes to retry against.
Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
httpMethodsToRetry HttpMethod[] Http methods to retry against.
Default: ['GET', 'PUT']

The API client can be initialized as follows:

const client = new Client({
  basicAuthCredentials: {
    username: 'BasicAuthUserName',
    password: 'BasicAuthPassword'
  },
  timeout: 120000,
  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