NAV Navbar
javascript php python

Introduction

Welcome to the Montonio Payments Developer Documentation. This docs provides an overview of our payment flow. See the examples, requests & implementations below.

If you have any questions regarding the docs, please contact our developer support team at developers@montonio.com.

To sign up or test our service, please contact our sales team at sales@montonio.com.

There are two ways to integrate Montonio Payments into your checkout:

Credentials

Montonio uses API keys to allow merchants initiate payments. The keys can be acquired for 2 environments: Sandbox and Production.
Sandbox (used for testing and development) - Get the keys from Montonio Sandbox Partner System
Production (used for production with real payments) - Get the keys from Montonio Partner System

When generating new keys, the old ones will be invalidated.

Initiating a Payment

To start the payment initiation flow, a JWT (JSON Web Token) with payment instructions must be generated using your Secret Key. The customer shall then be redirected to our payment gateway with this token as a query parameter.

Generating the Payment Token

The parameters of the token's header and payload are described below. The JWT is signed with your Secret Key using HMAC SHA256 (HS256). The exact implementation of how to generate the JWT varies by programming language and you can see some examples on the code panel. Don't forget to choose your language of choice! 🙂

/**
 * We recommend using the jsonwebtoken package to generate
 * Json Web Tokens. You can install it with npm:
 * > npm install jsonwebtoken
 * More information can be found at
 * https://www.npmjs.com/package/jsonwebtoken
 */
const jwt = require('jsonwebtoken');

const payload = {
    amount: 10,
    currency: 'EUR',
    access_key: 'merchant_access_key',
    merchant_reference: 'SO661123',
    merchant_return_url: 'https://montonio.com/orders/27731773/thank_you',
    merchant_notification_url: 'https://montonio.com/orders/payment_webhook',
    payment_information_unstructured: 'Payment for order SO661123',
    preselected_aspsp: 'LHVBEE22',
    preselected_locale: 'et',
    checkout_email: 'test-customer@montonio.com'
}

const token = jwt.sign(
    payload, 
    'merchant_secret_key',
    { algorithm: 'HS256', expiresIn: '10m' }
);

console.log(token);
// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOjEwLCJjdXJyZW5jeSI6IkVVUiIsImFjY2Vzc19rZXkiOiJtZXJjaGFudF9hY2Nlc3Nfa2V5IiwibWVyY2hhbnRfcmVmZXJlbmNlIjoiU082NjExMjMiLCJtZXJjaGFudF9yZXR1cm5fdXJsIjoiaHR0cHM6Ly9tb250b25pby5jb20vb3JkZXJzLzI3NzMxNzczL3RoYW5rX3lvdSIsIm1lcmNoYW50X25vdGlmaWNhdGlvbl91cmwiOiJodHRwczovL21vbnRvbmlvLmNvbS9vcmRlcnMvcGF5bWVudF93ZWJob29rIiwicGF5bWVudF9pbmZvcm1hdGlvbl91bnN0cnVjdHVyZWQiOiJQYXltZW50IGZvciBvcmRlciBTTzY2MTEyMyIsInByZXNlbGVjdGVkX2FzcHNwIjoiTEhWQkVFMjIiLCJwcmVzZWxlY3RlZF9sb2NhbGUiOiJldCIsImNoZWNrb3V0X2VtYWlsIjoidGVzdC1jdXN0b21lckBtb250b25pby5jb20iLCJpYXQiOjE2MDEwMjA4MjUsImV4cCI6MTYwMTAyMTQyNX0.RfRVHklL7irHGN309AYRTMOXnq6UWYT2Mxb42oMh4JY

<?php
/**
 * We recommend using Firebase's php-jwt package to generate
 * Json Web Tokens. You can install it with composer:
 * > composer require firebase/php-jwt
 * More information can be found at
 * https://github.com/firebase/php-jwt
 */
use \Firebase\JWT\JWT;

$payment_data = array(
    'amount'                           => 10,
    'currency'                         => 'EUR',
    'access_key'                       => 'merchant_access_key',
    'merchant_reference'               => 'SO661123',
    'merchant_return_url'              => 'https://montonio.com/orders/27731773/thank_you',
    'merchant_notification_url'        => 'https://montonio.com/orders/payment_webhook',
    'payment_information_unstructured' => 'Payment for order SO661123',
    'preselected_aspsp'                => 'LHVBEE22',
    'preselected_locale'               => 'et',
    'checkout_email'                   => 'test-customer@montonio.com',
    'exp'                              => time() + (60 * 10), 
);

$payment_token = \Firebase\JWT\JWT::encode($payment_data, 'merchant_secret_key');

echo $payment_token;
// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOjEwLCJjdXJyZW5jeSI6IkVVUiIsImFjY2Vzc19rZXkiOiJtZXJjaGFudF9hY2Nlc3Nfa2V5IiwibWVyY2hhbnRfcmVmZXJlbmNlIjoiU082NjExMjMiLCJtZXJjaGFudF9yZXR1cm5fdXJsIjoiaHR0cHM6Ly9tb250b25pby5jb20vb3JkZXJzLzI3NzMxNzczL3RoYW5rX3lvdSIsIm1lcmNoYW50X25vdGlmaWNhdGlvbl91cmwiOiJodHRwczovL21vbnRvbmlvLmNvbS9vcmRlcnMvcGF5bWVudF93ZWJob29rIiwicGF5bWVudF9pbmZvcm1hdGlvbl91bnN0cnVjdHVyZWQiOiJQYXltZW50IGZvciBvcmRlciBTTzY2MTEyMyIsInByZXNlbGVjdGVkX2FzcHNwIjoiTEhWQkVFMjIiLCJwcmVzZWxlY3RlZF9sb2NhbGUiOiJldCIsImNoZWNrb3V0X2VtYWlsIjoidGVzdC1jdXN0b21lckBtb250b25pby5jb20iLCJpYXQiOjE2MDEwMjA4MjUsImV4cCI6MTYwMTAyMTQyNX0.RfRVHklL7irHGN309AYRTMOXnq6UWYT2Mxb42oMh4JY

?>
'''
We recommend using the PyJWT package to generate
Json Web Tokens. You can install it with pip:
> pip3 install PyJWT 
More information can be found at
https://pyjwt.readthedocs.io/en/latest/
'''
import jwt
from datetime import datetime, timedelta

payment_data = {
    'amount': 10,
    'currency': 'EUR',
    'access_key': 'merchant_access_key',
    'merchant_reference': 'SO661123',
    'merchant_return_url': 'https://montonio.com/orders/27731773/thank_you',
    'merchant_notification_url': 'https://montonio.com/orders/payment_webhook',
    'payment_information_unstructured': 'Payment for order SO661123',
    'preselected_aspsp': 'LHVBEE22',
    'preselected_locale': 'et',
    'checkout_email': 'test-customer@montonio.com',
    'exp': datetime.utcnow() + timedelta(minutes=10)
}

payment_token = jwt.encode(
    payment_data, 
    'merchant_secret_key', 
    algorithm='HS256'
).decode('utf-8')

print(payment_token) 
# eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOjEwLCJjdXJyZW5jeSI6IkVVUiIsImFjY2Vzc19rZXkiOiJtZXJjaGFudF9hY2Nlc3Nfa2V5IiwibWVyY2hhbnRfcmVmZXJlbmNlIjoiU082NjExMjMiLCJtZXJjaGFudF9yZXR1cm5fdXJsIjoiaHR0cHM6Ly9tb250b25pby5jb20vb3JkZXJzLzI3NzMxNzczL3RoYW5rX3lvdSIsIm1lcmNoYW50X25vdGlmaWNhdGlvbl91cmwiOiJodHRwczovL21vbnRvbmlvLmNvbS9vcmRlcnMvcGF5bWVudF93ZWJob29rIiwicGF5bWVudF9pbmZvcm1hdGlvbl91bnN0cnVjdHVyZWQiOiJQYXltZW50IGZvciBvcmRlciBTTzY2MTEyMyIsInByZXNlbGVjdGVkX2FzcHNwIjoiTEhWQkVFMjIiLCJwcmVzZWxlY3RlZF9sb2NhbGUiOiJldCIsImNoZWNrb3V0X2VtYWlsIjoidGVzdC1jdXN0b21lckBtb250b25pby5jb20iLCJpYXQiOjE2MDEwMjA4MjUsImV4cCI6MTYwMTAyMTQyNX0.RfRVHklL7irHGN309AYRTMOXnq6UWYT2Mxb42oMh4JY

Headers

Key Required Type Description
alg yes string Must be set to HS256
typ yes string Must be set to JWT

Payload

Key Required Type Description
amount yes number Payment amount (up to 2 decimal places).
currency yes string Payment currency. Currently only EUR is supported.
access_key yes string Your Access Key obtained from the Partner System.
merchant_reference yes string The order reference in the merchant's system (e.g. the order ID).
exp yes number Expiration time of the token in Unix time. Set that to 10 minutes from the time of issuing the token.
merchant_return_url yes string The URL where the customer will be redirected back to after completing or cancelling a payment. See below for details on payment verification.
merchant_notification_url no string The URL to send a webhook notification when a payment is completed. See below for details on payment verification.
payment_information_unstructured no string Description of the payment that will be relayed to the bank's payment order. If left blank, it will default to the value of merchant_reference.
payment_information_structured no string Structured payment reference number. This is a standardised reference number used for accounting purposes and will be validated by banks. Leave blank if you do not use reference numbers to link payments.
preselected_aspsp no string The bank that the customer chose for this payment if you allow them to select their bank of choice in your checkout. Leave this blank to let the customer choose their bank in our interface. See below for details on how to fetch the list of available banks.
preselected_locale no string The preferred language of the payment gateway. Defaults to the merchant country's official language. Available values are en_US, et, lt, ru.
checkout_email no string The customer's e-mail address. Use this to identify customers more easily in Montonio's Partner System.
checkout_phone_number no string The customer's phone number. Use this to identify customers more easily in Montonio's Partner System.
checkout_first_name no string The customer's first name. Use this to identify customers more easily in Montonio's Partner System.
checkout_last_name no string The customer's last name. Use this to identify customers more easily in Montonio's Partner System.

Redirecting the Customer

Once you have generated the payment token it's time to redirect the customer to Montonio's gateway. Append the payment_token to the gateway URL as a query parameter.

Payment gateway URLs for the two environments are:


Example: https://payments.montonio.com?payment_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOjEwLCJjdXJyZW5jeSI6IkVVUiIsImFjY2Vzc19rZXkiOiJtZXJjaGFudF9hY2Nlc3Nfa2V5IiwibWVyY2hhbnRfcmVmZXJlbmNlIjoiU082NjExMjMiLCJtZXJjaGFudF9yZXR1cm5fdXJsIjoiaHR0cHM6Ly9tb250b25pby5jb20vb3JkZXJzLzI3NzMxNzczL3RoYW5rX3lvdSIsIm1lcmNoYW50X25vdGlmaWNhdGlvbl91cmwiOiJodHRwczovL21vbnRvbmlvLmNvbS9vcmRlcnMvcGF5bWVudF93ZWJob29rIiwicGF5bWVudF9pbmZvcm1hdGlvbl91bnN0cnVjdHVyZWQiOiJQYXltZW50IGZvciBvcmRlciBTTzY2MTEyMyIsInByZXNlbGVjdGVkX2FzcHNwIjoiTEhWQkVFMjIiLCJwcmVzZWxlY3RlZF9sb2NhbGUiOiJldCIsImNoZWNrb3V0X2VtYWlsIjoidGVzdC1jdXN0b21lckBtb250b25pby5jb20iLCJpYXQiOjE2MDEwMjA4MjUsImV4cCI6MTYwMTAyMTQyNX0.RfRVHklL7irHGN309AYRTMOXnq6UWYT2Mxb42oMh4JY

Validating the Payment

Redirect Back to the Merchant

Once the customer completes the payment, they will be redirected back to the merchant_return_url that you set in the original payment token with a new payment_token appended to the URL as a query parameter. Validate the contents and the signature of this token to confirm the order. See below for details on validating the token.


Example return URL: https://montonio.com/orders/27731773/thank_you?payment_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOiIxMC4wMCIsImFjY2Vzc19rZXkiOiJtZXJjaGFudF9hY2Nlc3Nfa2V5IiwibWVyY2hhbnRfcmVmZXJlbmNlIjoiU082NjExMjMiLCJzdGF0dXMiOiJmaW5hbGl6ZWQiLCJpYXQiOjE2MDEwMjQxNzcsImV4cCI6MTYwMTAzODU3N30.bJIPBK6ioiqkqjlQwV4F7YDrfNhhLzdSN4IpHoxXAw0

Webhook Notification

If you set the merchant_notification_url parameter in the original payment token, we will send a POST request to this URL with a new payment_token appended to it as a query parameter. Validate the contents and the signature of this token to confirm the order. See below for details on validating the token.

Validating the Returned Payment Token

/**
 * We recommend using the jsonwebtoken package to verify
 * Json Web Tokens. You can install it with npm:
 * > npm install jsonwebtoken
 * More information can be found at
 * https://www.npmjs.com/package/jsonwebtoken
 */
const jwt = require('jsonwebtoken');

// fetched from the URL
const payment_token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOiIxMC4wMCIsImFjY2Vzc19rZXkiOiJtZXJjaGFudF9hY2Nlc3Nfa2V5IiwibWVyY2hhbnRfcmVmZXJlbmNlIjoiU082NjExMjMiLCJzdGF0dXMiOiJmaW5hbGl6ZWQiLCJpYXQiOjE2MDEwMjQxNzcsImV4cCI6MTYwMTAzODU3N30.bJIPBK6ioiqkqjlQwV4F7YDrfNhhLzdSN4IpHoxXAw0';

// original order ID passed to merchant_reference
const orderID = 'SO661123';

const decoded = jwt.verify(payment_token, 'merchant_secret_key');

if (
    decoded.access_key === 'merchant_access_key' &&
    decoded.merchant_reference === orderID &&
    decoded.status === 'finalized'
) {
    // payment completed
} else {
    // payment not completed
}

<?php
/**
 * We recommend using Firebase's php-jwt package to verify
 * Json Web Tokens. You can install it with composer:
 * > composer require firebase/php-jwt
 * More information can be found at
 * https://github.com/firebase/php-jwt
 */
use \Firebase\JWT\JWT;

// fetched from the URL
$payment_token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOiIxMC4wMCIsImFjY2Vzc19rZXkiOiJtZXJjaGFudF9hY2Nlc3Nfa2V5IiwibWVyY2hhbnRfcmVmZXJlbmNlIjoiU082NjExMjMiLCJzdGF0dXMiOiJmaW5hbGl6ZWQiLCJpYXQiOjE2MDEwMjQxNzcsImV4cCI6MTYwMTAzODU3N30.bJIPBK6ioiqkqjlQwV4F7YDrfNhhLzdSN4IpHoxXAw0';

// original order ID passed to merchant_reference
$orderID = 'SO661123';

$decoded = Firebase\JWT\JWT::decode(
    $payment_token, 
    'merchant_secret_key', 
    array('HS256')
);

if (
    $decoded->access_key === 'merchant_access_key' &&
    $decoded->merchant_reference === $orderID &&
    $decoded->status === 'finalized'
) {
    // payment completed
} else {
    // payment not completed
}

?>
'''
We recommend using the PyJWT package to verify
Json Web Tokens. You can install it with pip:
> pip3 install PyJWT 
More information can be found at
https://pyjwt.readthedocs.io/en/latest/
'''
import jwt

# fetched from the URL
payment_token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOiIxMC4wMCIsImFjY2Vzc19rZXkiOiJtZXJjaGFudF9hY2Nlc3Nfa2V5IiwibWVyY2hhbnRfcmVmZXJlbmNlIjoiU082NjExMjMiLCJzdGF0dXMiOiJmaW5hbGl6ZWQiLCJpYXQiOjE2MDEwMjQxNzcsImV4cCI6MTYwMTAzODU3N30.bJIPBK6ioiqkqjlQwV4F7YDrfNhhLzdSN4IpHoxXAw0'

# original order ID passed to merchant_reference
orderID = 'SO661123';

try:
    decoded = jwt.decode(
        payment_token, 
        'merchant_secret_key', 
        algorithms=['HS256']
    )

except jwt.exceptions.InvalidSignatureError as identifier:
    pass # Token validation failed

if  (
    decoded['access_key'] == 'merchant_access_key'  
    and decoded['merchant_reference'] == orderID  
    and decoded['status'] == 'finalized'
):
    pass # payment completed
else:
    pass # payment not completed

The payment_token that is appended to the merchant_return_url when redirecting back to the merchant or to the merchant_notification_url when sending a webhook notification needs to be validated. The token is signed with your Secret Key. On the code panel you can see examples of validating the token.

Headers

Key Type Description
alg string Always set to HS256
typ string Always set to JWT

Payload

Key Type Description
amount number Payment amount (up to 2 decimal places).
access_key string Your Access Key obtained from the Partner System.
merchant_reference string The order reference number you provided in the initial payment token.
status string Payment status. Only consider finalized as the correct status for a completed payment.
exp number Expiration time of the token in Unix time.
iat number Issuing time of the token in Unix time.

Displaying the List of Available Banks

To allow the customer to choose their bank in your checkout you need to fetch the list of available banks from our API. The selected bank's BIC must then be passed to the preselected_aspsp parameter in the initial payment token as described here.

You can get the list of banks from the API endpoint GET /v2/merchants/aspsps. The endpoint requires a JWT in the Authorization header as a bearer token and returns an array of available banks.

Here are the API base URLs for our environments:

Generating the Token

The endpoint requires a JWT in the Authorization header. The token must contain your Access Key and be signed with your Secret Key using HMAC SHA256 (HS256). The exact implementation of how to generate the JWT varies by programming language and you can see some examples on the code panel.

/**
 * We recommend using the jsonwebtoken package to generate
 * Json Web Tokens. You can install it with npm:
 * > npm install jsonwebtoken
 * More information can be found at
 * https://www.npmjs.com/package/jsonwebtoken
 */
const jwt = require('jsonwebtoken');

const payload = {
    access_key: 'merchant_access_key'
}

const token = jwt.sign(
    payload, 
    'merchant_secret_key',
    { algorithm: 'HS256', expiresIn: '1h' }
);

console.log(token);
// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3Nfa2V5IjoibWVyY2hhbnRfYWNjZXNzX2tleSIsImlhdCI6MTYwMzcxMTQ3NSwiZXhwIjoxNjAzNzE1MDc1fQ.UYwRQXykcIVNzIjni3icf_FBbxSXZ_m-2SsFfz3zjBs

<?php
/**
 * We recommend using Firebase's php-jwt package to generate
 * Json Web Tokens. You can install it with composer:
 * > composer require firebase/php-jwt
 * More information can be found at
 * https://github.com/firebase/php-jwt
 */
use \Firebase\JWT\JWT;

$payment_data = array(
    'access_key' => 'merchant_access_key',
    'iat'        => time(),
    'exp'        => time() + (60 * 60)
);

$payment_token = \Firebase\JWT\JWT::encode($payment_data, 'merchant_secret_key');

echo $payment_token;
// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3Nfa2V5IjoibWVyY2hhbnRfYWNjZXNzX2tleSIsImlhdCI6MTYwMzcxMTQ3NSwiZXhwIjoxNjAzNzE1MDc1fQ.UYwRQXykcIVNzIjni3icf_FBbxSXZ_m-2SsFfz3zjBs

?>
'''
We recommend using the PyJWT package to generate
Json Web Tokens. You can install it with pip:
> pip3 install PyJWT 
More information can be found at
https://pyjwt.readthedocs.io/en/latest/
'''
import jwt
from datetime import datetime, timedelta

payment_data = {
    'access_key': 'merchant_access_key',
    'iat': datetime.utcnow(),
    'exp': datetime.utcnow() + timedelta(hours=1)
}

payment_token = jwt.encode(
    payment_data, 
    'merchant_secret_key', 
    algorithm='HS256'
).decode('utf-8')

print(payment_token) 
# eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3Nfa2V5IjoibWVyY2hhbnRfYWNjZXNzX2tleSIsImlhdCI6MTYwMzcxMTQ3NSwiZXhwIjoxNjAzNzE1MDc1fQ.UYwRQXykcIVNzIjni3icf_FBbxSXZ_m-2SsFfz3zjBs

Headers

Key Required Type Description
alg yes string Must be set to HS256
typ yes string Must be set to JWT

Payload

Key Required Type Description
access_key yes string Your Access Key obtained from the Partner System.
exp yes number Expiration time of the token in Unix time. Set that to 1 hour from the time of issuing the token.

GET /v2/merchants/aspsps

Headers for the request:

  Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3Nfa2V5IjoibWVyY2hhbnRfYWNjZXNzX2tleSIsImlhdCI6MTYwMzcxMTQ3NSwiZXhwIjoxNjAzNzE1MDc1fQ.UYwRQXykcIVNzIjni3icf_FBbxSXZ_m-2SsFfz3zjBs

Example request

curl -X GET \
  '[BASE_URL]/v2/merchants/aspsps' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3Nfa2V5IjoiOTZlNjhlZDEtMDkzOC00NTE0LWFkZDEtYmE1MGE0NmI3YWZkIiwiaWF0IjoxNjAzNzE1MjczLCJleHAiOjE2MDM3MTg4NzN9.LpSPYEtkRd5Ze4RZoeN8rRs6hzNP1cqw_Th8x4oRCXo'

Example response:

{
    "EE": [
        {
            "bic": "HABAEE2X",
            "name": "Swedbank",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/swedbank.png"
        },
        {
            "bic": "EEUHEE2X",
            "name": "SEB",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/seb.png"
        },
        {
            "bic": "LHVBEE22",
            "name": "LHV",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/lhv.png"
        },
        {
            "bic": "EKRDEE22",
            "name": "Coop Pank",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/coop.png"
        },
        {
            "bic": "PARXEE22",
            "name": "Citadele",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/citadele.png"
        }
    ],
    "LV": [
        {
            "bic": "HABALV22",
            "name": "Swedbank",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/swedbank.png"
        },
        {
            "bic": "UNLALV2X",
            "name": "SEB",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/seb.png"
        },
        {
            "bic": "PARXLV22",
            "name": "Citadele",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/citadele.png"
        }
    ],
    "LT": [
        {
            "bic": "HABALT22",
            "name": "Swedbank",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/swedbank.png"
        },
        {
            "bic": "CBVILT2X",
            "name": "SEB",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/seb.png"
        },
        {
            "bic": "CBSBLT26",
            "name": "Šiaulių bankas",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/siauliu.png"
        },
        {
            "bic": "MDBALT22",
            "name": "Medicinos bankas",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/medicinos.png"
        },
        {
            "bic": "INDULT2X",
            "name": "Citadele",
            "logo_url": "https://public.montonio.com/images/aspsps_logos/citadele.png"
        }
    ]
}

The endpoint returns the list of available banks for a merchant grouped by country.

URL

Sandbox: https://api.sandbox-payments.montonio.com/pis/v2/merchants/aspsps
Production: https://api.payments.montonio.com/pis/v2/merchants/aspsps

Headers

Key Required Value
Authorization yes Bearer [your_token]

 

 

  Head back to Montonio