2.0.0 • Published 2 months ago

@maxio-com/advanced-billing-sdk v2.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

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:

ParameterTypeDescription
subdomainstringThe subdomain for your Chargify site.Default: 'subdomain'
domainstringThe Chargify server domain.Default: 'chargify.com'
environmentEnvironmentThe API environment. Default: Environment.Production
timeoutnumberTimeout for API calls.Default: 30000
httpClientOptionsPartial<HttpClientOptions>Stable configurable http client options.
unstableHttpClientOptionsanyUnstable configurable http client options.
basicAuthCredentialsBasicAuthCredentialsThe credential object for basicAuth

HttpClientOptions

ParameterTypeDescription
timeoutnumberTimeout in milliseconds.
httpAgentanyCustom http agent to be used when performing http requests.
httpsAgentanyCustom https agent to be used when performing http requests.
retryConfigPartial<RetryConfiguration>Configurations to retry requests.

RetryConfiguration

ParameterTypeDescription
maxNumberOfRetriesnumberMaximum number of retries. Default: 0
retryOnTimeoutbooleanWhether to retry on request timeout. Default: true
retryIntervalnumberInterval before next retry. Used in calculation of wait time for next request in case of failure. Default: 1
maximumRetryWaitTimenumberOverall wait time for the requests getting retried. Default: 0
backoffFactornumberUsed in calculation of wait time for next request in case of failure. Default: 2
httpStatusCodesToRetrynumber[]Http status codes to retry against. Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
httpMethodsToRetryHttpMethod[]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

NameDescription
productionDefault Production server
environment2Production server

Authorization

This API uses the following authentication schemes.

List of APIs

Classes Documentation