Download OpenAPI specification:
Merchant API
Get a list of payments sorted by creation date (most recent first)
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
| created.gte | string <ISO 8601 (YYYY-MM-DD'T'HH24:MI:SS)> Example: created.gte=2025-10-12T10:26:18 Return only payments created at or after the specified time. Default is beginning of the current day. |
| created.lt | string <ISO 8601 (YYYY-MM-DD'T'HH24:MI:SS)> Example: created.lt=2025-10-13T10:39:34 If passed, return only payments created strictly before the specified time |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": "91d27876e87f4b22b3ecd53924bf973d",
- "created": "2025-10-25T10:11:12",
- "updated": "2025-10-25T10:12:12",
- "state": "PENDING",
- "errorCode": "4.01 Insufficient Funds",
- "type": "DEPOSIT",
- "method": "BASIC_CARD",
- "description": "Deposit via TEST shop",
- "referenceId": "payment-123",
- "parentPaymentId": "91d27876e87f4b22b3ecd53924bf973d",
- "startRecurring": true,
- "recurringToken": "string",
- "preAuth": true,
- "merchantId": 0,
- "merchantName": "string",
- "shopId": 0,
- "shopName": "string",
- "providerId": 0,
- "providerName": "string",
- "terminalId": 0,
- "terminalName": "string",
- "externalId": "string",
- "externalResultCode": "42",
- "amount": 11.12,
- "refundedAmount": 11.12,
- "currency": "EUR",
- "baseAmount": 15,
- "customerAmount": 15,
- "customerCurrency": "USD",
- "shopBaseAmount": 15,
- "shopBaseCurrency": "USD",
- "customerReferenceId": "customer_123",
- "customerAccountNumber": "string",
- "customerBank": "string",
- "customerBankBranch": "string",
- "customerBankCode": "string",
- "customerBankBranchCode": "string",
- "customerCitizenshipCountryCode": "AU",
- "customerFirstName": "John",
- "customerLastName": "Smith",
- "customerDateOfBirth": "2001-12-03",
- "customerPhone": "357 123123123",
- "customerRoutingGroup": "John",
- "customerIp": "127.0.0.1",
- "customerIpCountryCode": "CY",
- "billingCountryCode": "CY",
- "billingPostalCode": "4141",
- "billingCity": "Limassol",
- "billingState": "CA",
- "billingAddressLine1": "7, Sunny street",
- "billingAddressLine2": "Office 3",
- "cardholderName": "John Smith",
- "cardBrand": "VISA",
- "cardType": "CREDIT",
- "cardCountryCode": "CY",
- "cardIssuingOrganization": "BANK OF CYPRUS PUBLIC COMPANY LIMITED"
}
]
}Get a list of payment operations sorted by completion date (most recent first)
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
| completed.gte | string <ISO 8601 (YYYY-MM-DD'T'HH24:MI:SS)> Example: completed.gte=2025-10-12T10:26:18 Return only operations completed at or after the specified time. Default is beginning of the current day. |
| completed.lt | string <ISO 8601 (YYYY-MM-DD'T'HH24:MI:SS)> Example: completed.lt=2025-10-13T10:39:34 If passed, return only operations completed strictly before the specified time |
| operation.in | string Example: operation.in=CREATE_PAYMENT,CHECKOUT,CANCEL Comma-separated list of operations |
| paymentState.in | string Example: paymentState.in=CHECKOUT,COMPLETED,DECLINED Comma-separated list of payment states after operation completion |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": 0,
- "paymentId": "91d27876e87f4b22b3ecd53924bf973d",
- "operation": "CREATE_PAYMENT",
- "paymentState": "PENDING",
- "started": "2025-10-25T10:12:12",
- "completed": "2025-10-25T10:12:13",
- "rawPaymentData": "string",
- "terminalId": 0,
- "terminalName": "string",
- "paymentCreated": "2025-10-25T10:11:12",
- "paymentType": "DEPOSIT",
- "paymentMethod": "BASIC_CARD",
- "paymentDescription": "Deposit via TEST shop",
- "paymentReferenceId": "payment-123",
- "paymentAmount": 11.12,
- "paymentCurrency": "EUR",
- "paymentBaseAmount": 15,
- "parentPaymentId": "91d27876e87f4b22b3ecd53924bf973d",
- "merchantId": 0,
- "merchantName": "string",
- "shopId": 0,
- "shopName": "string",
- "providerId": 0,
- "providerName": "string",
- "errorCode": "4.01 Insufficient Funds",
- "externalResultCode": "42",
- "externalId": "string"
}
]
}Get all counterparties
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "result": [
- {
- "id": 111,
- "name": "Best Counterparty",
- "affiliateId": "d941c1d7805530",
- "affiliateName": "SomeName",
- "uniqueCode": "c1d7",
- "registrationDate": "2025-11-17",
- "createdAt": "2025-11-17T12:12:12",
- "counterpartyTypes": [
- "MERCHANT",
- "PROVIDER"
]
}
]
}Get all merchants shops
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "result": [
- {
- "id": 111,
- "name": "Best Shop",
- "state": "ACTIVE",
- "displayName": "Best Shop",
- "merchantId": 192,
- "merchantName": "Best Merchant",
- "introducerId": 12345,
- "introducerName": "Mr. John",
- "countryCode": "US",
- "baseCurrency": "string",
- "checkoutTimeout": 60,
- "cascadingConfirmationTimeout": 0,
- "resultPageRedirectTimeout": 5,
- "antiFraudProfileId": 100,
- "checkoutThemeCode": "string",
- "postProcessors": [
- 0
], - "preProcessors": [
- 0
], - "routingStrategy": "string",
- "depositRequiredParameters": [
- "customerFirstName",
- "customerLastName",
- "customerEmail",
- "customerPhone",
- "customerDateOfBirth",
- "billingAddress"
], - "shopGroups": [
- "string"
], - "createdAt": "2025-11-17T12:12:12"
}
]
}Get a paginated list of shop groups.
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": 10,
- "name": "My Shop Group",
- "shops": [
- {
- "id": 111,
- "name": "Best Shop"
}
]
}
]
}Get terminal balance by terminal Id
| terminalId required | integer Terminal Id |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "result": {
- "available": [
- {
- "currency": "EUR",
- "amount": 11.12
}
], - "reserved": [
- {
- "currency": "EUR",
- "amount": 11.12
}
]
}
}Get all merchant terminals
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "result": [
- {
- "id": 111,
- "name": "Basic Card Terminal",
- "state": "Basic Card Terminal",
- "merchantId": 2281,
- "merchantName": "Best Merchant",
- "providerId": 345,
- "providerName": "Best Provider",
- "apiCode": "ApiCode",
- "apiName": "ApiName",
- "createdAt": "2025-11-17T12:12:12",
- "apiTypes": [
- "PSP",
- "BANKING",
- "COMPLIANCE",
- "PRE_PROCESSOR",
- "POST_PROCESSOR"
]
}
]
}Get a list of all merchant balances in the Financial Module. For more detailed information, please contact our support team.
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "result": [
- {
- "id": 123,
- "accountType": "PROCESSING",
- "name": "Processing Balance(EUR) of shop \"my-shop\"",
- "currency": "EUR",
- "amount": 1020.12
}
]
}Get balances available for withdrawals via the gateway API. See the "Check Withdrawal Balance" section in the shop settings.
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "result": [
- {
- "shopId": 1381,
- "shopName": "Best Shop",
- "terminalId": 11126,
- "terminalName": "Best Terminal",
- "currency": "EUR",
- "amount": 500.25
}
]
}Get a paginated list of BINs
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "bin": "411111",
- "cardBrand": "VISA",
- "cardType": "CREDIT",
- "issuingCountryCode": "CY",
- "issuingOrganization": "BANK OF CYPRUS PUBLIC COMPANY LIMITED"
}
]
}Get a paginated list of BIN groups
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": 42,
- "merchantId": 192,
- "merchantName": "Best Merchant",
- "groupName": "My BIN Group"
}
]
}Get a paginated list of BINs belonging to the specified BIN group
| groupId required | integer BIN Group Id |
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- "411111",
- "511111"
]
}Get a paginated list of customers.
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": 999,
- "merchantId": 192,
- "merchantName": "Best Merchant",
- "shopId": 111,
- "shopName": "Best Shop",
- "referenceId": "customer_123",
- "firstName": "John",
- "lastName": "Smith",
- "phone": "357 123123123",
- "dateOfBirth": "2001-12-03",
- "paymentInstruments": [
- {
- "paymentMethod": "BASIC_CARD",
- "accountNumber": "411111******1111",
- "numberOfSuccessfulDeposits": 5
}
], - "connectedCards": [
- {
- "cardholderName": "John Smith",
- "pan": "411111******1111",
- "expiryDate": "12/26",
- "updatedAt": "2025-11-17T12:12:12",
- "savedByCustomer": true
}
]
}
]
}Get a paginated list of email groups
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": 10,
- "name": "My Email Group",
- "merchantId": 192,
- "merchantName": "Best Merchant"
}
]
}Get a paginated list of email addresses belonging to the specified email group
| groupId required | integer Email Group Id |
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
}Add one or more email addresses to the specified email group. Requires "Edit Shops" permission.
| groupId required | integer Email Group Id |
| emails required | Array of strings <email> non-empty [ items <email > ] List of email addresses to add to the group |
{
}{- "timestamp": "2025-10-07T13:32:19.444+00:00",
- "status": 400,
- "error": "Bad Request",
- "message": "string",
- "errors": [
- {
- "codes": [
- "string"
], - "arguments": [
- {
- "codes": [
- "string"
], - "defaultMessage": "string"
}
], - "defaultMessage": "string",
- "objectName": "string",
- "field": "string",
- "bindingFailure": true
}
], - "path": "/merchant-api/v1/payments"
}Get a paginated list of card groups
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": 10,
- "name": "My Card Group",
- "merchantId": 192,
- "merchantName": "Best Merchant"
}
]
}Get a paginated list of masked card PANs belonging to the specified card group
| groupId required | integer Card Group Id |
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- "411111******1111",
- "511111******2222"
]
}Add one or more card numbers to the specified card group. Requires "Edit Shops" permission. For masked card groups, card numbers must contain at least the first 6 and last 4 digits.
| groupId required | integer Card Group Id |
| cardNumbers required | Array of strings non-empty List of card numbers to add to the group. For masked card groups, each entry must start with at least 6 digits and end with 4 digits. |
{- "cardNumbers": [
- "411111***1111",
- "550000***5559"
]
}{- "timestamp": "2025-10-07T13:32:19.444+00:00",
- "status": 400,
- "error": "Bad Request",
- "message": "string",
- "errors": [
- {
- "codes": [
- "string"
], - "arguments": [
- {
- "codes": [
- "string"
], - "defaultMessage": "string"
}
], - "defaultMessage": "string",
- "objectName": "string",
- "field": "string",
- "bindingFailure": true
}
], - "path": "/merchant-api/v1/payments"
}Get a paginated list of country groups
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": 10,
- "name": "My Country Group",
- "merchantId": 192,
- "merchantName": "Best Merchant",
- "countries": [
- "CY",
- "US",
- "GB"
]
}
]
}Get a paginated list of shop connectors
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": 0,
- "shopId": 0,
- "state": "ACTIVE",
- "paymentMethod": "BASIC_CARD",
- "terminalId": 0,
- "priority": 0,
- "weight": 0,
- "terminalCurrency": "EUR",
- "dpMinCommission": 0,
- "dpCommissionPercent": 0,
- "dpAmountConfirmation": true,
- "wdMinCommission": 0,
- "wdCommissionPercent": 0,
- "wdCommissionOnTop": true,
- "cascadingErrorCodesWhitelistId": 0,
- "cascadingErrorCodesBlacklistId": 0,
- "filters": {
- "amountOp": "BETWEEN",
- "amountGte": 0,
- "amountLt": 0,
- "paymentType": "DEPOSIT",
- "customerCountry": {
- "code": "CY",
- "op": "IN",
- "groupId": 0
}, - "ipCountry": {
- "code": "CY",
- "op": "IN",
- "groupId": 0
}, - "currency": "EUR",
- "ipVersion": "IPV4",
- "emailBlackListGroupId": 0,
- "emailWhiteListGroupId": 0,
- "routingGroups": [
- "VIP"
]
}, - "cardFilters": {
- "cardBlackListGroupId": 0,
- "cardWhiteListGroupId": 0,
- "binCountry": {
- "code": "CY",
- "groupOp": "IN",
- "groupId": 0
}, - "cardBin": {
- "range": 0,
- "groupOp": "IN",
- "groupId": 0
}, - "binBrands": [
- "VISA",
- "MASTERCARD"
]
}, - "limits": [
- {
- "id": 0,
- "limitCode": "string",
- "timeUnit": "DAY",
- "timePeriod": 0,
- "limitValue": 0,
- "routingGroup": "string"
}
], - "trustedRoutingCriteria": {
- "customerKycStatus": "string",
- "cardKycStatus": "string",
- "daysSinceFirstDeposit": 0,
- "cardHoursSinceFirstDeposit": 0,
- "numberOfDpsForCard": 0,
- "statisticsForThisShop": {
- "depositsAmount": 0,
- "depositsCount": {
- "min": 0,
- "max": 0
}, - "depositsCountForCard": {
- "min": 0,
- "max": 0
}, - "withdrawalsAmount": 0,
- "withdrawalsCount": 0
}, - "statisticsForAllLinkedShops": {
- "depositsAmount": 0,
- "depositsCount": {
- "min": 0,
- "max": 0
}, - "depositsCountForCard": {
- "min": 0,
- "max": 0
}, - "withdrawalsAmount": 0,
- "withdrawalsCount": 0
}, - "statisticsForAtLeastOneLinkedShop": {
- "depositsAmount": 0,
- "depositsCount": {
- "min": 0,
- "max": 0
}, - "depositsCountForCard": {
- "min": 0,
- "max": 0
}, - "withdrawalsAmount": 0,
- "withdrawalsCount": 0
}
}
}
]
}Get a paginated list of anti-fraud profiles
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": 100,
- "name": "Default Profile",
- "timeZoneToCheckLimits": "Europe/Nicosia",
- "paymentDataVerification": [
- {
- "id": 0,
- "ruleCode": "string",
- "countryOp": "string",
- "countryCode": "CY",
- "countryGroupId": 0,
- "currency": "EUR",
- "currencyOp": "string",
- "currencyGroupId": 0,
- "amountOp": "string",
- "amountGte": 0,
- "amountLt": 0,
- "currencies": "string",
- "period": 0,
- "parameters": "string",
- "routingGroup": "string"
}
], - "shopLimits": [
- {
- "id": 0,
- "limitCode": "string",
- "timeUnit": "DAY",
- "timePeriod": 0,
- "currency": "EUR",
- "limitValue": 0
}
], - "offlineChecks": [
- {
- "id": 0,
- "warnCode": "string",
- "timeUnit": "DAY",
- "timePeriod": 0,
- "countryOp": "string",
- "countryCode": "CY",
- "countryGroupId": 0,
- "currency": "EUR",
- "limitValue": 0,
- "period": 0
}
]
}
]
}Get a paginated list of currency exchange rates
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "baseCurrency": "EUR",
- "quoteCurrency": "USD",
- "rate": 1.1,
- "lastUpdate": "2025-11-17T12:12:12",
- "userId": 0,
- "jobTerminalId": 0
}
]
}Get a paginated list of bank codes
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "countryCode": "NG",
- "bankCode": "000001",
- "bankName": "Access Bank"
}
]
}Get a paginated list of bank code mappings
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": 42,
- "countryCode": "NG",
- "bankCode": "000001",
- "apiCode": "FLUTTERWAVE",
- "apiBankCode": "ACCESS"
}
]
}Get a paginated list of error code groups
| offset | integer [ 0 .. 1000000 ] The number of items to skip before starting to collect the result set. Default is 0. |
| limit | integer [ 1 .. 10000 ] The numbers of items to return. Default is 50. |
{- "timestamp": "2025-10-07T13:36:32.595+00:00",
- "status": 200,
- "hasMore": true,
- "result": [
- {
- "id": 10,
- "name": "My Error Code Group",
- "merchantId": 192,
- "merchantName": "Best Merchant",
- "errorCodes": [
- "4.01",
- "3.00"
]
}
]
}