Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Gateways in version 3.1+ support the use of a config.json file, that defines basic configuration settings for the gateway.

Note

Due to backwards compatibility with version 3.0, config.json files are not required but are strongly recommended as they may be required in future versions.

Configuration Format

Example

Code Block
languagejavascript
title/components/gateways/merchant/my_gateway/config.json
{
    "version": "1.0.0",
    "name": "My Gateway",
    "description": "A gateway like no other!",
    "authors": [
        {
            "name": "Phillips Data, Inc.",
            "url": "http://www.blesta.com"
        }
    ],
    "currencies": ["EUR", "GBP", "USD"],
    "signup_url": "http://www.url-to-mygateway.com"
}

Definition

OptionDescription
versionThe version of the gateway. This should be a semantic version number.
nameThe name of the gateway. This may also be a language definition.
description

A brief description of the gateway.

Note

Planned for future use.

authors

An array of author objects.

OptionDescription
nameThe name of the author. This may be a language definition
urlThe URL to link to for the author.
logoThe path within the gateway to the logo file. If not set, defaults to views/default/images/logo.png.
currenciesAn array of ISO 4217 currency codes supported by the gateway.
signup_urlThe URL to display for users that wish to open an account with the gateway (i.e. a referral URL).

Using the Configuration

To use the configuration file you must include it within the constructor of your gateway using the loadConfig() method.

Code Block
languagephp
title/components/gateways/merchant/my_gateway/my_gateway.php
linenumberstrue
<?php
class MyGateway extends MerchantGateway implements MerchantCc {
    public function __construct() {
        $this->loadConfig(dirname(__FILE__) . DS . "config.json");
    }

	...

}
?>

If your configuration uses any language definitions, be sure to include those before loading the config.

Code Block
languagephp
title/components/gateways/merchant/my_gateway/my_gateway.php
linenumberstrue
<?php
class MyGateway extends MerchantGateway implements MerchantCc {
    public function __construct() {
		Language::loadLang("my_gateway", null, dirname(__FILE__) . DS . "language" . DS);
		$this->loadConfig(dirname(__FILE__) . DS . "config.json");
    }

	...

}
?>