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

Install the gem from the command line:

gem install maxio-advanced-billing-sdk -v 10.0.0

Or add the gem to your Gemfile and run bundle:

gem'maxio-advanced-billing-sdk','10.0.0'

For additional gem details, see the RubyGems page for the maxio-advanced-billing-sdk gem.

IRB Console Usage

You can explore the SDK interactively using IRB in two ways

1. Use IRB with Installed Gem

Open your system terminal (Command Prompt, Git Bash or macOS Terminal) and type the following command to start the irb console.

irb

Now you can load the SDK in the IRB

require'advanced_billing'includeAdvancedBilling

2. Use IRB within SDK

Open your system terminal (Command Prompt, Git Bash or macOS Terminal) and navigate to the root folder of SDK.

cd path/to/advanced_billing

Now you can start the preconfigured irb console by running the following command

ruby bin/console

Note: This automatically loads the SDK from lib/

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

ParameterTypeDescription
siteStringThe subdomain for your Advanced Billing site.
Default: 'subdomain'
environmentEnvironmentThe API environment.
Default: Environment.US
connectionFaraday::ConnectionThe Faraday connection object passed by the SDK user for making requests
adapterFaraday::AdapterThe Faraday adapter object passed by the SDK user for performing http requests
timeoutFloatThe value to use for connection timeout.
Default: 120
max_retriesIntegerThe number of times to retry an endpoint call if it fails.
Default: 0
retry_intervalFloatPause in seconds between retries.
Default: 1
backoff_factorFloatThe amount to multiply each successive retry's interval amount by in order to provide backoff.
Default: 2
retry_statusesArrayA list of HTTP statuses to retry.
Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
retry_methodsArrayA list of HTTP methods to retry.
Default: %i[get put]
http_callbackHttpCallBackThe Http CallBack allows defining callables for pre and post API calls.
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

require'advanced_billing'includeAdvancedBillingclient=Client.new(basic_auth_credentials: BasicAuthCredentials.new(username: 'BasicAuthUserName',password: 'BasicAuthPassword'),environment: Environment::US,site: 'subdomain')

Environment-Based Client Initialization

require'advanced_billing'includeAdvancedBilling# Create client from environmentclient=Client.from_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 Ruby SDK

Resources

Stars

3 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages