Skip to main content
Version: 12.x (Current)

Configuration

The Payment Gateway Manager (PGM) needs some environment variables to work properly.

Generic Environment Variables

  • LOG_LEVEL
  • HTTP_LOG_LEVEL: basic, body, headers or none; logs additional info about http requests made towards external systems, defaults to none
  • HTTP_PORT
  • ENABLED_PROVIDERS (required): comma separated list of payment providers enabled at runtime
  • PAYMENT_CALLBACK_URL (required): URL used to notify other services about a payment transaction result
  • FLOW_MANAGER_URL: url of the Flow Manager service. If set, Flow Manager related features are enabled
  • SAGA_CRUD_URL (required if FLOW_MANAGER_URL is set): url of the saga CRUD collection
  • DYNAMIC_PAYMENT_METHOD_CONFIG_PATH: path to config map defining available payment methods based on rules
  • EXTERNAL_PROVIDERS_CONFIG: path to config map defining external services for payments
  • SUBSCRIPTION_HANDLER_URL: url to the subscription handler service. Required to handle subscription payment within the Payment Integration Hub

The config map located at DYNAMIC_PAYMENT_METHOD_CONFIG_PATH must comply with the following schema

Config schema
{
"type": "object",
"required": ["default", "rules"],
"properties": {
"default": {
"type": "object",
"required": ["availableMethods"],
"properties": {
"availableMethods": {
"type": "array",
"items": {
"type": "object",
"required": ["paymentMethod", "provider"],
"properties": {
"paymentMethod": {
"type": "string"
},
"provider": {
"type": "string"
}
}
}
}
}
},
"rules": {
"type": "array",
"items": {
"type": "object",
"required": ["ruleId", "matchInValues", "matchInRange", "paymentMethods"],
"properties": {
"ruleId": {
"type": "string"
},
"matchInValues": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"matchInRange": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object",
"required": ["minOrEqual", "max"],
"properties": {
"minOrEqual": {
"type": "string"
},
"max": {
"type": "string"
}
}
}
}
},
"availableMethods": {
"type": "array",
"items": {
"type": "object",
"required": ["paymentMethod", "provider"],
"properties": {
"paymentMethod": {
"type": "string"
},
"provider": {
"type": "string"
}
}
}
}
}
}
}
}
}

The config map located at EXTERNAL_PROVIDERS_CONFIG must comply with the following schema

Config schema
{
"type": "object",
"required": ["externalServices"],
"properties": {
"externalServices": {
"type": "array",
"items": {
"type": "object",
"required": ["externalService, baseUrl"],
"properties": {
"externalService": {
"type": "string"
},
"baseUrl": {
"type": "string"
}
}
}
}
}
}

Provider Specific Environment Variables

Adyen

  • ADYEN_IS_TEST (required): can be "true" or "false". Specifies whether the PGM should point to Adyen Test or Live environment.
  • ADYEN_PRIVATE_KEY (required): API Key header for authentication on Adyen.
  • ADYEN_LIVE_URL (required conditionally): Live URL prefix for Adyen requests, used only in the Live environment.
  • ADYEN_MERCHANT_ACCOUNT (required): the Adyen merchant account to point to.
  • ADYEN_HMAC_KEY (required): HMAC signature to verify the notification authenticity.

Axerve

  • AXERVE_IS_SANDBOX (required): can be "true" or "false". Specifies whether the PGM should point to Axerve Sandbox or Production environment.
  • AXERVE_API_KEY (required)
  • AXERVE_SHOP_LOGIN (required)

Braintree

  • BRAINTREE_MERCHANT_ID (required): string that identifies the used merchant id.
  • BRAINTREE_MERCHANT_ACCOUNT_ID (required): string that identifies the used merchant account id.
  • BRAINTREE_PUBLIC_KEY (required): Braintree API public key.
  • BRAINTREE_PRIVATE_KEY (required): Braintree API private key.
  • BRAINTREE_IS_SANDBOX (required): can be "true" or "false". Specifies whether the PGM should point to Braintree Sandbox or Production environment.

FlowPay

  • FLOWPAY_API_BASE_URL (required): Base URL of the APIs to differentiate between Sandbox and Production.
  • FLOWPAY_CORE_BASE_URL (required): Base URL of the Core functionalities, such as obtain the Access Token, to differentiate between Sandbox and Production.
  • FLOWPAY_CHECKOUT_BASE_URL (required): Base URL of the Checkout page, it is used to redirect the user to complete the payment.
  • FLOWPAY_CLIENT_ID (required): Client ID of the FlowPay application.
  • FLOWPAY_CLIENT_SECRET (required): Client Secret of the FlowPay application.
  • FLOWPAY_PUBLIC_KEY (required): Public Key to verify the [Webhooks signature](https://docs.flowpay.it/#section/Webhooks/Signature.
  • FLOWPAY_CALLBACK_URL (required): Address to which Flowpay will send webhooks.

Nexi

  • NEXI_BASE_URL (required): address to Nexi API base url. Currently, there are 2 environment, staging and production.
  • NEXI_API_KEY (required): api key for authenticating Nexi requests.
  • NEXI_CALLBACK_URL (required): address to which Nexi will send webhooks.

Satispay

  • SATISPAY_IS_SANDBOX (required): can be "true" or "false". Specifies whether the PGM should point to Satispay Staging or Production environment.
  • SATISPAY_KEY_ID (required)
  • SATISPAY_PRIVATE_KEY (required): private key copied from the .pem file, must use single spaces instead of \n
  • SATISPAY_WAITING_SECONDS (required): x-satispay-response-wait-time header described in Satispay's documentation, max value is 60
  • SATISPAY_AFTER_BUY_WEB_REDIRECT_URL (required): URL to which the user will be redirected after completing a payment via web page. (Overridable via request body)
  • SATISPAY_AFTER_BUY_MOBILE_REDIRECT_URL (required): url-scheme that will be used by iOS/Android to redirect the user after completing a payment via the Satispay mobile app
  • SATISPAY_CALLBACK_URL (required): URL for transaction status verification of satispay

Scalapay

  • SCALAPAY_BASE_PATH (required): Address to Scalapay base path. Scalapay has three different environments, integration, staging and production.
  • SCALAPAY_API_KEY (required)
  • SCALAPAY_SUCCESS_REDIRECT_URL (required): address to which the buyer will be directed at the end of a successful transaction. (Overridable via request body)
  • SCALAPAY_FAILURE_REDIRECT_URL (required): address to which the buyer will be directed at the end of a failed transaction. (Overridable via request body)
  • PGM_PUBLIC_URL: URL where this service is exposed (e.g. https://my-domain/payment-gateway-manager)

Soisy

  • SOISY_SHOP_ID (required)
  • SOISY_PARTNER_KEY (required): X-Auth-Token header for authentication on Soisy.
  • SOISY_BASE_URL (required): Base URL of the Soisy provider.
  • PGM_PUBLIC_URL: URL where this service is exposed (e.g. https://my-domain/payment-gateway-manager)

Stripe

  • STRIPE_BASE_URL (required): Base URL of the Stripe provider.
  • STRIPE_PRIVATE_KEY (required): Stripe API private key.

External service

To enable an external service to process a payment the EXTERNAL_PROVIDERS_CONFIG variable must be set with its config map.