Configuration
The Payment Gateway Manager (PGM) needs some environment variables to work properly.
Generic Environment Variables
- LOG_LEVEL (required): logging level, Defaults to
INFO
- HTTP_LOG_LEVEL:
basic
,body
,headers
ornone
; logs additional info about http requests made towards external systems. Defaults tonone
- HTTP_PORT: the port where the service is exposed. Defaults to 8080
- 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
- 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
- ADAPTIVE_CHECKOUT_CRUD_URL: url to the Adaptive Checkout rules collection. Its use is discouraged in favor of the Adaptive Approval Service
- ADAPTIVE_CHECKOUT_CACHE_EXPIRE_MIN: Duration, in minutes, of Adaptive Checkout rules caching. Defaults to 5
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.