@maxio-com/advanced-billing-sdk
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

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/advanced-billing-sdk@2.0.0

For additional package details, see the Npm page for the @maxio-com/advanced-billing-sdk@2.0.0 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
subdomain string The subdomain for your Chargify site.
Default: 'subdomain'
domain string The Chargify server domain.
Default: 'chargify.com'
environment Environment The API environment.
Default: Environment.Production
timeout number Timeout for API calls.
Default: 30000
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: 30000,
  environment: Environment.Production,
});

Environments

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

Fields

Name Description
production Default Production server
environment2 Production server

Authorization

This API uses the following authentication schemes.

List of APIs

Classes Documentation

Package Sidebar

Install

npm i @maxio-com/advanced-billing-sdk

Weekly Downloads

771

Version

2.0.0

License

MIT

Unpacked Size

6.7 MB

Total Files

4371

Last publish

Collaborators

  • maxio-publisher