Developer documentation · v1
Monellyn API.
One REST API for card deposits, alternative payment methods, payouts, refunds and card verification. Request and response samples cover every endpoint and flow, so you can integrate quickly.
https://{processing-endpoint}Your account manager or the support team gives you the processing endpoint.
application/jsonJSON request and response bodies over HTTPS.
info@monellyn.netAuthentication
Send every request with an Authorization header that contains the word Bearer, a space, and your shop API key.
Authorization: Bearer YOUR_SHOP_API_KEYSome merchant tools also accept Bearer followed by base64(merchant portal login + space + merchant portal password). Keep keys on your server and never expose them in a browser or mobile app.
Quick start
- Get your credentials. Your account manager sends the processing endpoint, shop API key and Merchant Portal access.
- Test in the sandbox. Use the test cards and accounts to try every flow.
- Create a payment. Call Create a payment and redirect the customer to
redirectUrlwhen you get one. - Handle callbacks. Listen on your webhook URL and verify the signature.
- Go live. Switch to the production endpoint and key.
Environments
The Merchant Portal shows processing volumes, reports, transactions and active users. Sign in with the credentials you receive during integration.
| Environment | Merchant Portal URL |
|---|---|
| Sandbox | https://{processing-endpoint}/ |
| Production | https://{processing-endpoint}/ |
Required parameters
The mandatory fields depend on the paymentType. Your account manager confirms the final list for your setup.
| paymentType | Required parameters |
|---|---|
DEPOSIT | paymentType, amount, currency, customer.firstName, customer.lastName, customer.email, customer.phone, billingAddress.addressLine1, billingAddress.city, billingAddress.countryCode, billingAddress.postalCode |
WITHDRAWAL | paymentType, amount, currency, customer.firstName, customer.lastName, customer.email, customer.phone, card.cardholderName, card.expiryMonth, card.expiryYear, billingAddress.addressLine1, billingAddress.city, billingAddress.countryCode, billingAddress.postalCode |
REFUND | paymentType, parentPaymentId, amount, currency |
CARDVERIFY | paymentType, amount, currency |
Transaction statuses
Every transaction moves through these states. Final states never change again.
| State | Final | What it means |
|---|---|---|
COMPLETED | final | The transaction has been processed successfully. |
REFUNDED | final | The transaction has been refunded. |
CHARGEBACK | final | The transaction was marked as a chargeback. The process usually has several stages that depend on the processor or bank. |
DECLINED | final | The transaction was rejected, for example for insufficient funds or security reasons. |
CANCELLED | final | The customer or the system stopped the transaction before completion, or it timed out. |
ERROR | final | The transaction hit an error during processing and needs investigation. |
CHECKOUT | in progress | The customer is completing the payment. |
RECONCILIATION | in progress | The transaction is under review or reconciliation, usually with a checkState request. |
PENDING | in progress | The transaction is waiting for further processing or approval. |
AWAITING_WEBHOOK | in progress | Waiting for a webhook notification. |
AWAITING_REDIRECT | in progress | Waiting for a redirect, for example to another page for extra details. |
AWAITING_APPROVAL | in progress | A withdrawal waiting for extra authorisation. Use Confirm payout. |
AWAITING_RETURN | in progress | Waiting for the customer to return from an external interface. |
CASCADING_CONFIRMATION | in progress | The customer is approving the next provider in the cascade. |
PARTIAL_COMPLETE | in progress | Started by the customer and awaiting final confirmation from the acquiring bank. Funds have left the customer's account but are not yet credited. |
INPUT_REQUIRED | in progress | Waiting for the customer to fill in extra data. |
Callbacks
Set a webhook URL in your website settings in the Merchant Portal, or pass webhookUrl in the create payment request. A URL in the request overrides the one in the portal.
Signature verification
Generate a signing key in your website settings. Callbacks then include a Signature header: the HMAC-SHA256 of the exact raw body, keyed with your signing key, as lowercase hex.
- Use the exact raw JSON body of the HTTP request. Do not pretty-print or reorder it.
- Encode both the key and the body as UTF-8 before hashing.
- Compare your hex string with the
Signatureheader. If they match, the callback is genuine.
import hmac, hashlib
raw_body = '{"id":"..."}' # exact raw body
key = "LtAs7UiLl5UQ"
signature = hmac.new(
key.encode("utf-8"),
raw_body.encode("utf-8"),
hashlib.sha256,
).hexdigest() # lowercase hexconst crypto = require("crypto");
const rawBody = '{"id":"..."}'; // exact raw body
const key = "LtAs7UiLl5UQ";
const signature = crypto
.createHmac("sha256", Buffer.from(key, "utf8"))
.update(Buffer.from(rawBody, "utf8"))
.digest("hex"); // lowercase<?php
$rawBody = '{"id":"..."}'; // exact raw body
$key = "LtAs7UiLl5UQ";
$signature = hash_hmac("sha256", $rawBody, $key); // lowercase heximport org.apache.commons.codec.digest.HmacAlgorithms;
import org.apache.commons.codec.digest.HmacUtils;
String rawBody = "{\"id\":\"...\"}"; // exact raw body
String key = "LtAs7UiLl5UQ";
String signature = new HmacUtils(HmacAlgorithms.HMAC_SHA_256, key)
.hmacHex(rawBody); // lowercaseWorked example
| Input | Value |
|---|---|
| Signing key | LtAs7UiLl5UQ |
| Expected signature | 71724767a6ec1959a71dd128914b1c9fff3373bd0bfac44415d90fcd47a13b1d |
{"id":"6e58947ea2de4fc3bbca5e5169b2eb15","created":"2025-09-01T09:02:22.552859857","paymentType":"DEPOSIT","state":"COMPLETED","internalState":"COMPLETED","description":"Funding the account number 12345","paymentMethod":"BASIC_CARD","paymentMethodDetails":{"customerAccountNumber":"424242***4242","cardholderName":"test test","cardExpiryMonth":"09","cardExpiryYear":"2028","cardBrand":"VISA","cardIssuingCountry":"GB","cardBank":"STRIPE PAYMENTS UK LIMITED"},"amount":15,"currency":"EUR","customerAmount":15,"customerCurrency":"EUR","externalResultCode":null,"customer":{"referenceId":"01K2MFPXZV5J0XR9FXRTNYNA5G","citizenshipCountryCode":"GB","firstName":"John","lastName":"Smith","email":"customer@email.com","phone":"52 2299377223","locale":"en"},"billingAddress":{"countryCode":"US","addressLine1":"211, Victory street","addressLine2":"Office 7B","city":"Berlin","state":"CA","postalCode":"01001"},"terminalName":"test"}The callback body follows the payment object. Its state is always one of the final states: COMPLETED, DECLINED, CANCELLED, CHARGEBACK, ERROR, REFUNDED, or PARTIAL_COMPLETE.
Sandbox
Test every flow in the sandbox. Keep the amount below 10,000,000, and below 10,000 for withdrawals and refunds. Card 4000…0002 emulates 3-D Secure: enter the one-time password to finish.
Test cards
| Card number | Result |
|---|---|
4000 0000 0000 0002 | 3DS enrolled, successful authorisation |
4242 4242 4242 4242 | 3DS enrolled, declined authorisation |
4000 0000 0000 0408 | Not enrolled for 3DS, successful authorisation |
4000 0000 0000 0416 | Not enrolled for 3DS, declined authorisation |
4111 1111 1111 1111 | Emulates PARTIAL_COMPLETE |
Expiry date: any future date. CVV: any. 3-D Secure OTP: 12345.
Payin methods with test accounts
| Method | Username | Password |
|---|---|---|
BANKTRANSFER | banktransfer@emulator.test | banktransfertest |
NETELLER | neteller@emulator.test | netellertest |
SKRILL | skrill@emulator.test | skrilltest |
GIROPAY | giropay@emulator.test | giropaytest |
PAYID | payid@emulator.test | payidtest |
SOFORT | sofort@emulator.test | soforttest |
STRIPE | stripe@emulator.test | stripetest |
BANCONTACT | bancontact@emulator.test | bancontacttest |
BLIK | blik@emulator.test | bliktest |
IDEAL | ideal@emulator.test | idealtest |
APPLEPAY, GOOGLEPAY, MBWAY, MULTIBANCO and OPENBANKING need no test account. Pass the method in the request: an amount above 100 is declined automatically, and 100 or less is approved automatically.
Payout methods
These structures emulate payouts in the sandbox.
"receiver": {
"iban": "HR1723600001101234565"
}"receiver": {
"sortCode": "123456",
"accountNumber": "1234567"
}"receiver": {
"iban": "HR1723600001101234565",
"sortCode": "111111",
"accountNumber": "1234567"
}"additionalParameters": {
"cpf_number": "49123456795",
"pix_key": "49123456795"
}Card verification
Use paymentType: CARDVERIFY to check a card without charging it, then reuse it for future deposits and withdrawals.
amountmust always be0.- Required:
paymentType,paymentMethod(e.g. BASIC_CARD),amount,currencyandcustomer.email. Name and address are optional but improve scoring and fraud prevention. - On success the callback contains a
tokeninpaymentMethodDetails. - Send that token as
cardPanIdto charge or pay out without card data. You get the final status immediately, with no redirect.
{
"id": "200cdb2208c14ecfa7038f50c2277105",
"created": "2025-06-18T13:11:59.982Z",
"paymentType": "CARDVERIFY",
"state": "COMPLETED",
"paymentMethod": "BASIC_CARD",
"amount": 0,
"currency": "EUR",
"paymentMethodDetails": {
"customerAccountNumber": "400000***0002",
"cardholderName": "test test",
"cardExpiryMonth": "08",
"cardExpiryYear": "2026",
"token": 3101,
"cardBrand": "VISA",
"cardIssuingCountry": "US"
},
"customer": {
"referenceId": "VIP_customer_12345",
"email": "customer@email.com"
}
}{
"paymentType": "DEPOSIT",
"paymentMethod": "BASIC_CARD",
"amount": 10,
"currency": "EUR",
"description": "Payment using verified card",
"customer": {
"referenceId": "VIP_customer_12345",
"firstName": "John",
"lastName": "Smith",
"email": "customer@email.com",
"phone": "49 15123456789"
},
"billingAddress": {
"addressLine1": "211, Victory street",
"addressLine2": "Office 7B",
"city": "Berlin",
"countryCode": "DE",
"postalCode": "10115"
},
"webhookUrl": "https://yourwebsite.com/callbacks/monellyn",
"cardPanId": "3101"
}Apple Pay token
With paymentMethod: APPLEPAYTOKEN, pass the raw Apple Pay token in card.networkToken as stringified JSON. Do not modify or restructure it, and escape it properly. If you leave it out, checkout renders the Apple Pay button and collects the token itself.
"card": {
"networkToken": "{\"paymentData\":{\"data\":\"qvjIjsXrJpUf9ugOpiae...\",\"signature\":\"MIAGCSqGSIb3DQEHAqCAMIACAQE...\",\"header\":{\"transactionId\":\"98b0c546fed2...\",\"ephemeralPublicKey\":\"MFkwEwYHKoZIzj0CAQYI...\",\"publicKeyHash\":\"4BFtOuTdX0A+DFbumXho...\"},\"version\":\"EC_v1\"},\"paymentMethod\":{\"displayName\":\"MasterCard 3202\",\"network\":\"MasterCard\",\"type\":\"debit\"},\"transactionIdentifier\":\"98b0c546fed2...\"}"
}Google Pay
Both flows use paymentMethod: GOOGLEPAYTOKEN with the PAYMENT_GATEWAY tokenisation model. Merchants must follow the Google Pay API Acceptable Use Policy and Terms of Service.
Send the request without card.networkToken. Our payment page renders the Google Pay button and collects the token.
Your frontend gets the Google Pay PaymentData and you pass the full object, stringified and unchanged, in card.networkToken.
Tokenisation settings
We issue gateway and gatewayMerchantId during onboarding. They must match exactly.
"tokenizationSpecification": {
"type": "PAYMENT_GATEWAY",
"parameters": {
"gateway": "example_gateway",
"gatewayMerchantId": "merchant_12345"
}
}- Authorisation methods: PAN_ONLY (3-D Secure may be applied by the acquirer) and CRYPTOGRAM_3DS (authentication handled by Google Pay). Declare them in
allowedAuthMethods. - Card networks: declare the networks enabled for you in
allowedCardNetworks, e.g. VISA, MASTERCARD, JCB, INTERAC, DISCOVER, AMEX. - 3-D Secure: we do not run an MPI. When 3-D Secure is required, the provider, acquirer or issuer applies it.
- Send the full
PaymentDataobject, not onlytokenizationData.token. An invalid payload is rejected.
Crypto payments
To use a specific blockchain with paymentMethod: CRYPTO, set it in additionalParameters, for example {"blockchain": "TRX"}. The response contains a redirectUrl and the deposit wallet in paymentMethodDetails.
{
"paymentType": "DEPOSIT",
"paymentMethod": "CRYPTO",
"amount": 5.07,
"currency": "USDT",
"description": "Funding the account number 12345",
"customer": {
"referenceId": "VIP_customer_12345",
"firstName": "John",
"lastName": "Smith",
"email": "customer@email.com",
"phone": "49 15123456789"
},
"billingAddress": {
"addressLine1": "211, Victory street",
"addressLine2": "Office 7B",
"city": "Berlin",
"countryCode": "DE",
"postalCode": "10115"
},
"webhookUrl": "https://yourwebsite.com/callbacks/monellyn",
"additionalParameters": {
"blockchain": "TRX"
}
}{
"timestamp": "2025-06-18T13:11:59.982Z",
"status": 200,
"result": {
"id": "a0981ba1540d4062bc42d4019607sf94",
"created": "2025-06-18T13:11:59.982Z",
"paymentType": "DEPOSIT",
"state": "PENDING",
"paymentMethod": "CRYPTO",
"amount": 5.07,
"currency": "USDT",
"redirectUrl": "https://{processing-endpoint}/crypto/a0981ba1540d4062bc42d4019607sf94",
"paymentMethodDetails": {
"customerAccountNumber": "TRXwallet123abc"
},
"customer": {
"referenceId": "VIP_customer_12345",
"email": "customer@email.com"
}
}
}Routing fields
These customer fields let routing rules treat traffic differently.
| Field | Type | Description |
|---|---|---|
routingGroup | string ≤ 64 | Puts the customer into a routing group so different groups can follow different routing strategies. |
kycStatus | boolean | true if the customer passed KYC verification, false if not. |
paymentInstrumentKycStatus | boolean | true if the payment instrument (e.g. the card) passed KYC verification. |
dateOfFirstDeposit | string · YYYY-MM-DD | Date of the customer's first deposit. |
depositsAmount | integer | Total deposited by the customer, in the base currency (EUR). |
withdrawalsAmount | integer | Total withdrawn by the customer, in the base currency (EUR). |
depositsCnt | integer | Number of deposits made by the customer. |
withdrawalsCnt | integer | Number of withdrawals made by the customer. |
trustLevel | string | ftd for first-time-deposit traffic, redep for redeposit traffic. |
affiliated | string ≤ 3 | yes enables affiliate-based routing, no disables it. |
Customer statistics validation
Routing rulesets support two kinds of usage limits based on the customer's email and shop. Internal stats are tracked automatically across all rulesets in the same shop. External stats are checked against the values you send: depositsAmount, withdrawalsAmount, depositsCnt and withdrawalsCnt. If you send no customer stats, external validation is skipped.
API reference
Endpoints.
getPayments
List payments
/api/v1/paymentsReturns a list of payments sorted by creation date, most recent first.
Bearer authentication with your shop API key
Query parameters
offsetinteger · 0 – 1000000Number of items to skip. Default 0.
limitinteger · 1 – 1000Number of items to return. Default 50.
created.gtestring · ISO 8601Only payments created at or after this time, e.g. 2022-11-10T12:12:21.
created.ltstring · ISO 8601Only payments created strictly before this time.
updated.gtestring · ISO 8601Only payments updated at or after this time.
updated.ltstring · ISO 8601Only payments updated strictly before this time.
Responses
- 200Payment list
- 400Invalid input
- 401Invalid credentials
curl --request GET \
--url 'https://{processing-endpoint}/api/v1/payments?limit=50&created.gte=2022-11-10T12:12:21' \
--header 'Authorization: Bearer YOUR_SHOP_API_KEY'{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 200,
"hasMore": true,
"result": [
{
"id": "a0981ba1540d4062bc42d4019607sf94",
"referenceId": "payment-123",
"paymentType": "DEPOSIT",
"state": "COMPLETED",
"description": "Funding the account",
"paymentMethod": "BASIC_CARD",
"paymentMethodDetails": {
"customerAccountNumber": "400000***0002",
"cardholderName": "John Smith",
"cardExpiryMonth": "07",
"cardExpiryYear": "2028",
"cardBrand": "VISA",
"cardIssuingCountry": "DE"
},
"amount": 11.12,
"currency": "EUR",
"redirectUrl": "https://{processing-endpoint}/checkout/a0981ba1540d4062bc42d4019607sf94",
"externalRefs": {
"orderId": "123456"
},
"customer": {
"referenceId": "VIP_customer_12345",
"email": "customer@email.com"
},
"terminalName": "string",
"created": "2025-02-18T11:35:52",
"updated": "2025-02-18T11:36:07",
"terminalId": 621
}
]
}{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 400,
"error": "Bad Request",
"message": "Validation failed",
"errors": [],
"path": "/api/v1/payments"
}{
"status": 401,
"error": "Unauthorized",
"message": "Invalid token",
"timestamp": "2022-11-06T10:16:11.595+00:00",
"path": "/api/v1/payments"
}createPayment
Create a payment
/api/v1/paymentsStarts a deposit, payout (WITHDRAWAL), refund or card verification. Supports hosted payment page (HPP) and server-to-server (S2S) integrations.
Bearer authentication with your shop API key
Request body · application/json
referenceIdstring ≤ 256Your own reference. Used internally only, never sent to the provider or acquiring bank, and returned unchanged in the response.
parentPaymentIdstring ≤ 32Initial transaction id. Required for refunds.
paymentTypestring · enumrequiredDEPOSIT, WITHDRAWAL, REFUND or CARDVERIFY.
paymentMethodstring · enumOne of the supported payment methods, e.g. BASIC_CARD, APPLEPAY, BLIK, SEPA. See Payment methods.
amountnumberrequiredPayment amount.
currencystring · ISO 4217 / cryptorequiredPayment currency, or a cryptocurrency symbol.
descriptionstring ≤ 512Shown to the customer. May be passed on to the provider or acquiring bank.
cardobjectCard data. Only send it if you are PCI DSS compliant; otherwise leave it out and we collect the card on our payment page. For server-to-server mode, share your latest PCI DSS certificate and AoC with us.
Show 6 fieldscardNumberstring ≤ 23Card primary account number (PAN). All non-numeric characters are ignored, and highlighted when our payment page is used.
cardholderNamestring ≤ 128Cardholder's name as printed or embossed on the card.
cardSecurityCodestring ≤ 4Card security code (CVV2 / CVC2 / CAV2).
expiryMonthstring ≤ 2Card expiration month, 2 digits.
expiryYearstring ≤ 4Card expiration year, 4 digits.
networkTokenstringUsed when paymentMethod is GOOGLEPAYTOKEN or APPLEPAYTOKEN. Contains the raw JSON response from Google Pay or Apple Pay, escaped and passed as a string. If omitted, checkout shows the matching wallet button to obtain the token.
customerobjectCustomer data.
Show 21 fieldsreferenceIdstring ≤ 128Id of the customer assigned by the merchant.
citizenshipCountryCodestring ≤ 2Country of citizenship, ISO 3166-1 alpha-2 (e.g. DE, US).
firstNamestring ≤ 128requiredCustomer first name.
lastNamestring ≤ 128requiredCustomer last name.
accountNumberstringCustomer account number in the provider's system. Used for some withdrawals to identify the wallet or account.
accountNamestringCustomer account name in the provider's system. Used for some withdrawals.
dateOfBirthstring · YYYY-MM-DDCustomer date of birth.
emailstring · email ≤ 256requiredEmail address of the customer.
phonestring ≤ 18requiredInternational phone number without '+'. Separate the country code and local number with a space. Invalid values are recorded as null.
localestring ≤ 2Preferred display language, ISO 639-1 (e.g. en, de, fr).
ipstring ≤ 15IP address of the customer.
routingGroupstring ≤ 64Places the customer in a routing group. See Routing fields.
kycStatusbooleanWhether the customer has passed KYC verification.
paymentInstrumentKycStatusbooleanWhether the payment instrument (usually the card) has passed KYC verification.
dateOfFirstDepositstring · YYYY-MM-DDDate of the customer's first deposit.
depositsAmountintegerTotal amount the customer has deposited, in the base currency.
withdrawalsAmountintegerTotal amount the customer has withdrawn, in the base currency.
depositsCntintegerNumber of deposits made by the customer.
withdrawalsCntintegerNumber of withdrawals made by the customer.
trustLevelstring · ftd | redepSeparates traffic into primary and secondary streams.
affiliatedstring · yes | noEnables routing rules tailored for affiliate traffic.
billingAddressobjectCustomer billing address.
Show 6 fieldsaddressLine1string ≤ 128Line 1 of the address (number, street).
addressLine2string ≤ 128Line 2 of the address (suite, apartment).
citystring ≤ 50City name.
countryCodestring ≤ 2ISO 3166-1 alpha-2 country code.
postalCodestring ≤ 20Postal code.
statestring ≤ 40State code.
receiverobjectRecipient details for bank and P2P payouts.
Show 7 fieldsfirstNamestring ≤ 128Recipient first name.
lastNamestring ≤ 128Recipient last name.
ibanstring ≤ 34Recipient IBAN.
bankCodestring ≤ 64Bank code.
bankNamestring ≤ 64Bank name.
sortCodestring ≤ 64Sort code.
accountNumberstring ≤ 64Account number.
returnUrlstring ≤ 256Where to send the customer after processing.
pendingReturnUrlstring ≤ 256Where to send the customer while processing. Overrides the shop setting.
successReturnUrlstring ≤ 256Where to send the customer after a successful payment.
declineReturnUrlstring ≤ 256Where to send the customer after a decline.
webhookUrlstringURL for payment status callbacks. Overrides the URL set in the Merchant Portal.
websiteUrlstringYour website processing URL.
cardPanIdnumberPay with a verified, tokenised card. See Card verification.
additionalParametersobjectExtra fields some providers or banks require, e.g. bankCode or blockchain. Your account manager confirms which apply.
Responses
- 200Transaction response
- 400Invalid input
- 401Invalid credentials
curl --request POST \
--url 'https://{processing-endpoint}/api/v1/payments' \
--header 'Authorization: Bearer YOUR_SHOP_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"referenceId": "idempotencyId01",
"paymentType": "DEPOSIT",
"paymentMethod": "BASIC_CARD",
"amount": 11.12,
"currency": "EUR",
"description": "Funding the account number 12345",
"card": {
"cardNumber": "4000 0000 0000 0002",
"cardholderName": "John Smith",
"cardSecurityCode": "130",
"expiryMonth": "07",
"expiryYear": "2028"
},
"customer": {
"referenceId": "VIP_customer_12345",
"citizenshipCountryCode": "DE",
"firstName": "John",
"lastName": "Smith",
"dateOfBirth": "1996-01-05",
"email": "customer@email.com",
"phone": "49 15123456789",
"locale": "en",
"ip": "172.16.0.1"
},
"billingAddress": {
"addressLine1": "211, Victory street",
"addressLine2": "Office 7B",
"city": "Berlin",
"countryCode": "DE",
"postalCode": "10115"
},
"returnUrl": "https://yourwebsite.com/{id}/{referenceId}/{state}/{type}",
"successReturnUrl": "https://yourwebsite.com/success",
"declineReturnUrl": "https://yourwebsite.com/decline",
"webhookUrl": "https://yourwebsite.com/callbacks/monellyn",
"websiteUrl": "https://yourwebsite.com"
}'{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 200,
"result": {
"id": "a0981ba1540d4062bc42d4019607sf94",
"referenceId": "payment-123",
"paymentType": "DEPOSIT",
"state": "PENDING",
"description": "Funding the account",
"paymentMethod": "BASIC_CARD",
"paymentMethodDetails": {
"customerAccountNumber": "400000***0002",
"cardholderName": "John Smith",
"cardExpiryMonth": "07",
"cardExpiryYear": "2028",
"cardBrand": "VISA",
"cardIssuingCountry": "DE"
},
"amount": 11.12,
"currency": "EUR",
"redirectUrl": "https://{processing-endpoint}/checkout/a0981ba1540d4062bc42d4019607sf94",
"externalRefs": {
"orderId": "123456"
},
"customer": {
"referenceId": "VIP_customer_12345",
"email": "customer@email.com"
},
"terminalName": "string"
}
}{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 400,
"error": "Bad Request",
"message": "Validation failed",
"errors": [],
"path": "/api/v1/payments"
}{
"status": 401,
"error": "Unauthorized",
"message": "Invalid token",
"timestamp": "2022-11-06T10:16:11.595+00:00",
"path": "/api/v1/payments"
}getPaymentMethod
Available payment methods
/api/v1/payment-methods/availableReturns the payment methods available for the payment type, amount, currency and country you send.
Bearer authentication with your shop API key
Request body · application/json
paymentTypestring · enumrequiredDEPOSIT, WITHDRAWAL or CARDVERIFY.
amountnumber > 0Payment amount.
currencystring · ISO 4217 / cryptorequiredPayment currency.
billingAddressobjectOnly countryCode is used here.
Show 1 fieldscountryCodestring ≤ 2ISO 3166-1 alpha-2 country code.
Responses
- 200Payment methods
- 401Invalid credentials
- 404No methods found
curl --request POST \
--url 'https://{processing-endpoint}/api/v1/payment-methods/available' \
--header 'Authorization: Bearer YOUR_SHOP_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"paymentType": "DEPOSIT",
"amount": 11.12,
"currency": "EUR",
"billingAddress": {
"countryCode": "DE"
}
}'{
"paymentMethods": [
"APPLEPAY",
"GOOGLEPAY",
"BASIC_CARD",
"PAYPAL"
]
}{
"status": 401,
"error": "Unauthorized",
"message": "Invalid token",
"timestamp": "2022-11-06T10:16:11.595+00:00",
"path": "/api/v1/payments"
}{
"timestamp": "2025-08-06T07:26:18.461+00:00",
"status": 404,
"error": "Not Found",
"message": "No available payment methods for given criteria",
"path": "/api/v1/payment-methods/available"
}confirmPayout
Confirm or decline a payout
/api/v1/payments/confirmPayoutApproves or declines a payout waiting for approval (state AWAITING_APPROVAL), so you can apply your own business rules before money leaves.
Bearer authentication with your shop API key
Request body · application/json
idstring · 32 charsrequiredPayment id.
actionstring · PROCESS | DECLINErequiredPROCESS starts the withdrawal, DECLINE rejects it.
Responses
- 200Payout confirmed
- 401Invalid credentials
curl --request POST \
--url 'https://{processing-endpoint}/api/v1/payments/confirmPayout' \
--header 'Authorization: Bearer YOUR_SHOP_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"id": "359de5168cdf473cab766d8d40644b7f",
"action": "PROCESS"
}'{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 200
}{
"status": 401,
"error": "Unauthorized",
"message": "Invalid token",
"timestamp": "2022-11-06T10:16:11.595+00:00",
"path": "/api/v1/payments"
}checkStatus
Get payment status
/api/v1/payments/{id}Returns the current state of one payment: completed, declined, pending or still processing.
Bearer authentication with your shop API key
Path parameters
idstring · 32 charsrequiredPayment id.
Responses
- 200Payment
- 401Invalid credentials
- 404Payment not found
curl --request GET \
--url 'https://{processing-endpoint}/api/v1/payments/a0981ba1540d4062bc42d4019607sf94' \
--header 'Authorization: Bearer YOUR_SHOP_API_KEY'{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 200,
"result": {
"id": "a0981ba1540d4062bc42d4019607sf94",
"referenceId": "payment-123",
"paymentType": "DEPOSIT",
"state": "COMPLETED",
"description": "Funding the account",
"paymentMethod": "BASIC_CARD",
"paymentMethodDetails": {
"customerAccountNumber": "400000***0002",
"cardholderName": "John Smith",
"cardExpiryMonth": "07",
"cardExpiryYear": "2028",
"cardBrand": "VISA",
"cardIssuingCountry": "DE"
},
"amount": 11.12,
"currency": "EUR",
"redirectUrl": "https://{processing-endpoint}/checkout/a0981ba1540d4062bc42d4019607sf94",
"externalRefs": {
"orderId": "123456"
},
"customer": {
"referenceId": "VIP_customer_12345",
"email": "customer@email.com"
},
"terminalName": "string"
}
}{
"status": 401,
"error": "Unauthorized",
"message": "Invalid token",
"timestamp": "2022-11-06T10:16:11.595+00:00",
"path": "/api/v1/payments"
}{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 404,
"error": "Not Found",
"message": "Payment Not Found",
"path": "/api/v1/payments/{id}"
}getOperations
List payment operations
/api/v1/payments/{id}/operationsReturns every operation performed while processing a payment, most recent first. Useful for support and reconciliation.
Bearer authentication with your shop API key
Path parameters
idstring · 32 charsrequiredPayment id.
Responses
- 200Operation list
- 401Invalid credentials
- 404Payment not found
curl --request GET \
--url 'https://{processing-endpoint}/api/v1/payments/a0981ba1540d4062bc42d4019607sf94/operations' \
--header 'Authorization: Bearer YOUR_SHOP_API_KEY'{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 200,
"result": [
{
"id": 1,
"operation": "CREATE_PAYMENT",
"started": "2022-11-08T12:31:41.595+00:00",
"completed": "2022-11-08T12:31:42.120+00:00",
"paymentState": "PENDING"
}
]
}{
"status": 401,
"error": "Unauthorized",
"message": "Invalid token",
"timestamp": "2022-11-06T10:16:11.595+00:00",
"path": "/api/v1/payments"
}{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 404,
"error": "Not Found",
"message": "Payment Not Found",
"path": "/api/v1/payments/{id}"
}getBalance
Get terminal balance
/api/v1/terminals/getBalance/{terminalId}Returns the balance of a terminal for every processing currency, or only one currency if you add ?currency=EUR. An unknown terminal returns 404.
Bearer authentication with your shop API key
Path parameters
terminalIdintegerrequiredTerminal identifier.
Query parameters
currencystringReturn the balance in this currency only.
Responses
- 200Balance list
- 404Terminal not found
curl --request GET \
--url 'https://{processing-endpoint}/api/v1/terminals/getBalance/621?currency=EUR' \
--header 'Authorization: Bearer YOUR_SHOP_API_KEY'{
"timestamp": "2022-10-05T11:23:12.595+00:00",
"status": 200,
"result": [
{
"terminalId": 621,
"balance": {}
}
]
}{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 404,
"error": "Not found",
"path": "/api/v1/terminals/getBalance/62"
}updateBlacklist
Update blacklist
/api/v1/updateBlacklistAdds cards, emails or phone numbers to the merchant blacklist. Send an array of items.
Bearer authentication with your shop API key
Request body · array of items
merchantIdintegerrequiredMerchant id.
cardMaskstringCard number or mask.
customerEmailstringCustomer email.
customerPhonestringCustomer phone.
Responses
- 200Blacklist updated
- 400Invalid input
- 401Invalid credentials
curl --request POST \
--url 'https://{processing-endpoint}/api/v1/updateBlacklist' \
--header 'Authorization: Bearer YOUR_SHOP_API_KEY' \
--header 'Content-Type: application/json' \
--data '[
{
"merchantId": 1,
"cardMask": "4000000000000000",
"customerEmail": "blocked@example.com",
"customerPhone": "345 1234567"
}
]'[
{
"merchantId": 1,
"cardMask": "4000000000000000",
"customerEmail": "blocked@example.com",
"customerPhone": "345 1234567",
"isAtLeastOneFieldProvided": true
}
]{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 400,
"error": "Bad Request",
"message": "Validation failed",
"errors": [],
"path": "/api/v1/payments"
}{
"status": 401,
"error": "Unauthorized",
"message": "Invalid token",
"timestamp": "2022-11-06T10:16:11.595+00:00",
"path": "/api/v1/payments"
}updateTerminalBlacklist
Update terminal blacklist
/api/v1/updateTerminalBlacklistManages blacklist entries for a single terminal. Send an array of items, authorised with your API key.
Bearer authentication with your shop API key
Request body · array of items
merchantIdintegerrequiredMerchant id.
terminalIdintegerrequiredTerminal id.
cardMasksstringCard mask, e.g. 512345***0008.
customerEmailsstringCustomer email.
Responses
- 200Blacklist updated
- 401Invalid credentials
curl --request POST \
--url 'https://{processing-endpoint}/api/v1/updateTerminalBlacklist' \
--header 'Authorization: Bearer YOUR_SHOP_API_KEY' \
--header 'Content-Type: application/json' \
--data '[
{
"merchantId": 1,
"terminalId": 1,
"cardMasks": "512345***0008",
"customerEmails": "blocked@example.com"
}
]'[
{
"merchantId": 1,
"cardMask": "512345***0008",
"customerEmail": "blocked@example.com",
"isAtLeastOneFieldProvided": true
}
]{
"status": 401,
"error": "Unauthorized",
"message": "Invalid token",
"timestamp": "2022-11-06T10:16:11.595+00:00",
"path": "/api/v1/payments"
}updateWhitelist
Update whitelist
/api/v1/updateWhitelistWhitelists a customer, card or email for a terminal.
Bearer authentication with your shop API key
Request body · application/json
merchantIdnumberrequiredMerchant id.
terminalIdnumberrequiredTerminal id.
customerEmailstring · emailCustomer email to whitelist.
customerIdstringCustomer id to whitelist.
cardMaskstringCard mask to whitelist, e.g. 400000***0002.
Responses
- 200Whitelist updated
- 401Invalid credentials
curl --request POST \
--url 'https://{processing-endpoint}/api/v1/updateWhitelist' \
--header 'Authorization: Bearer YOUR_SHOP_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"merchantId": 123,
"terminalId": 123,
"customerEmail": "customer@email.com",
"customerId": "customer_1",
"cardMask": "400000***0002"
}'{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 200
}{
"timestamp": "2022-11-06T10:16:11.595+00:00",
"status": 401,
"error": "Unauthorized",
"path": "/api/v1/updateWhitelist"
}Payment object
Returned in result by Create a payment and Get payment status, and sent in callbacks.
idstring ≤ 32Payment id.
referenceIdstring ≤ 256referenceId from the payment request.
paymentTypestringDEPOSIT, WITHDRAWAL, REFUND or CARDVERIFY.
statePaymentStateCurrent state. See Transaction statuses.
descriptionstring ≤ 512Description of the transaction.
parentPaymentIdstring ≤ 32Initial transaction id. Used for refunds, or to pay out to a card used before.
paymentMethodPaymentMethodPayment method used.
paymentMethodDetailsobjectDetails of the instrument used.
Show 7 fieldscustomerAccountNumberstring ≤ 256Customer account id in the external system, or masked card PAN.
cardholderNamestring ≤ 128Cardholder name. Cards only.
cardExpiryMonthstring ≤ 2Card expiration month. Cards only.
cardExpiryYearstring ≤ 4Card expiration year. Cards only.
cardBrandstring ≤ 16Card brand, e.g. VISA. Cards only.
cardIssuingCountrystring ≤ 2Card issuing country. Cards only.
cardBankstring ≤ 128Card issuing bank name. Cards only.
amountnumberProcessing amount.
currencystring · ISO 4217Processing currency.
customerAmountnumberAmount from the request, when the request currency differs from the processing currency.
customerCurrencystring · ISO 4217Currency from the request, when it differs from the processing currency.
redirectUrlstring ≤ 256URL to redirect the customer to.
errorCodestringSee Response codes.
externalResultCodestringResult code received from the external provider.
externalRefsobjectLinks our record to the record in the external provider's system (orderId).
customerobjectCustomer data.
Show 21 fieldsreferenceIdstring ≤ 128Id of the customer assigned by the merchant.
citizenshipCountryCodestring ≤ 2Country of citizenship, ISO 3166-1 alpha-2 (e.g. DE, US).
firstNamestring ≤ 128requiredCustomer first name.
lastNamestring ≤ 128requiredCustomer last name.
accountNumberstringCustomer account number in the provider's system. Used for some withdrawals to identify the wallet or account.
accountNamestringCustomer account name in the provider's system. Used for some withdrawals.
dateOfBirthstring · YYYY-MM-DDCustomer date of birth.
emailstring · email ≤ 256requiredEmail address of the customer.
phonestring ≤ 18requiredInternational phone number without '+'. Separate the country code and local number with a space. Invalid values are recorded as null.
localestring ≤ 2Preferred display language, ISO 639-1 (e.g. en, de, fr).
ipstring ≤ 15IP address of the customer.
routingGroupstring ≤ 64Places the customer in a routing group. See Routing fields.
kycStatusbooleanWhether the customer has passed KYC verification.
paymentInstrumentKycStatusbooleanWhether the payment instrument (usually the card) has passed KYC verification.
dateOfFirstDepositstring · YYYY-MM-DDDate of the customer's first deposit.
depositsAmountintegerTotal amount the customer has deposited, in the base currency.
withdrawalsAmountintegerTotal amount the customer has withdrawn, in the base currency.
depositsCntintegerNumber of deposits made by the customer.
withdrawalsCntintegerNumber of withdrawals made by the customer.
trustLevelstring · ftd | redepSeparates traffic into primary and secondary streams.
affiliatedstring · yes | noEnables routing rules tailored for affiliate traffic.
billingAddressobjectBilling address.
Show 6 fieldsaddressLine1string ≤ 128Line 1 of the address (number, street).
addressLine2string ≤ 128Line 2 of the address (suite, apartment).
citystring ≤ 50City name.
countryCodestring ≤ 2ISO 3166-1 alpha-2 country code.
postalCodestring ≤ 20Postal code.
statestring ≤ 40State code.
terminalNamestringName of the terminal or payment solution that processed the transaction.
Response codes
errorCode explains why a payment failed. A soft decline can be retried or cascaded, a hard decline should not be retried.
| Code | Message | Decline |
|---|---|---|
1.00 | Illegal Workflow State | soft |
1.01 | Not Found | soft |
1.02 | General Decline | soft |
1.03 | Internal Server Error | soft |
1.04 | Cancelled by Timeout | soft |
1.05 | No suitable provider found | soft |
1.06 | Recurring Token not Found | soft |
1.07 | Payer Unaccepted | soft |
1.08 | Invalid Amount | soft |
1.09 | Invalid Currency | soft |
1.10 | Velocity Limit Reached | soft |
1.11 | Force Stop Cascading | hard |
2.00 | Cancelled by Customer | soft |
3.00 | Declined by Acquirer | soft |
3.01 | Declined by Acquirer: Anti-fraud | hard |
3.02 | Declined by Acquirer: Request Validation | soft |
3.03 | Acquirer Malfunction | soft |
3.04 | Acquirer Timeout | soft |
3.05 | Acquirer Limits Reached | soft |
3.06 | Declined by Acquirer: Card Scheme | soft |
3.07 | Declined by Acquirer: Card Data | soft |
3.08 | Declined by Acquirer: Business Rules | soft |
3.09 | Not Fully 3DS | soft |
3.10 | Unknown Error Code | soft |
3.11 | Payer cannot pay | soft |
4.00 | Declined by Issuer | soft |
4.01 | Insufficient Funds | hard |
4.02 | Stolen Card | hard |
4.03 | Lost Card | hard |
4.04 | Pick up Card | hard |
4.05 | Card Expired | hard |
4.06 | Card Inactive | hard |
4.07 | Card Suspended | hard |
4.08 | Card Deleted | hard |
4.09 | Invalid Card CVC/CVV | hard |
4.10 | Invalid Card or Account Details | hard |
4.11 | Declined by Issuer: Restricted Card | soft |
4.12 | Declined by Issuer: Processing Limits | soft |
4.13 | Declined by Issuer: Blocked or Inactive Account | hard |
4.14 | Declined by Issuer: Invalid Customer Data | soft |
4.15 | Invalid Phone Number | soft |
4.16 | Processing Limits exceeded (deposits) | soft |
4.17 | Processing Limits exceeded (withdrawals) | soft |
4.18 | Processing Limits exceeded (group) | soft |
5.00 | Declined by 3DS | soft |
5.01 | 3DS Timeout | soft |
6.00 | Declined by Internal Anti-fraud | hard |
6.01 | Card PAN Blacklisted | soft |
6.02 | Customer Email Blacklisted | soft |
6.03 | Card Issuing Country Restricted | soft |
6.04 | IP Country Restricted | soft |
6.05 | Restricted Currency | soft |
6.06 | Invalid Amount | soft |
6.07 | IP Country Must Be Equal to Billing Country | soft |
6.08 | IP Country Must Be Equal to Card Issuing Country | soft |
6.09 | Billing Country Must Be Equal to Card Issuing Country | soft |
6.10 | Payment Created Within Closed Period of Day | soft |
6.11 | Card PAN not Whitelisted | soft |
6.12 | Cardholder name is invalid | soft |
6.13 | Card PAN Masked Blacklisted | soft |
6.14 | Customer Phone Blacklisted | soft |
6.15 | Card BIN Blacklisted | soft |
6.16 | Customer email is invalid | soft |
6.21 | Limit exceeded: Number of completed deposits | soft |
6.22 | Limit exceeded: Number of completed deposits for card | soft |
6.23 | Limit exceeded: Number of declined deposits for card | soft |
6.24 | Limit exceeded: Number of cards for IP address | soft |
6.25 | Limit exceeded: Number of IP addresses for card | soft |
6.26 | Limit exceeded: IP country does not match card country | soft |
6.27 | Limit exceeded: Same amount and currency for card | soft |
6.28 | Limit exceeded: Amount of deposits in specified currency | soft |
6.29 | Limit exceeded: Amount of deposits for card and currency | soft |
6.30 | Limit exceeded: Amount of deposits in base currency | soft |
6.31 | Limit exceeded: Amount of deposits for card in base currency | soft |
6.32 | Limit exceeded: Number of IP countries for card | soft |
6.33 | Limit exceeded: Amount of deposits in base currency, for card | soft |
6.34 | Limit exceeded: Number of attempts with all statuses, per card | soft |
6.35 | Limit exceeded: Count of unique cards per customer email | soft |
6.36 | Limit exceeded: Count of successful operations per customer email | soft |
6.37 | Limit exceeded: Number of completed deposits for email | soft |
6.38 | Limit exceeded: Number of declined deposits for email | soft |
6.39 | Limit exceeded: Number of emails for IP address | soft |
6.40 | Limit exceeded: Number of IP addresses for email | soft |
6.41 | Limit exceeded: Number of countries of IP addresses for email | soft |
6.42 | Limit exceeded: Same amount and currency for email | soft |
6.43 | Limit exceeded: Amount of deposits for email in specified currency | soft |
6.44 | Limit exceeded: Amount of deposits for email in base currency, per shop | soft |
6.45 | Limit exceeded: Number of attempts with all statuses, per email | soft |
6.46 | Limit exceeded: Amount of deposits in base currency, for email | soft |
6.47 | Limit exceeded: Number of withdrawals | soft |
6.48 | Limit exceeded: Completed deposits for email in base currency, per shop | soft |
7.00 | Declined by External Anti-fraud | hard |
7.01 | External Anti-fraud Communication Problem | soft |
8.00 | Declined by Merchant | soft |
No codes match.
Payment methods
Values accepted in paymentMethod. Which ones are live for you depends on your setup; Available payment methods returns the current list.
- ABAPAY
- ABN
- ACHDIRECTDEBIT
- ACLEDA
- ACTIV
- ACTIVE
- ADVCASH
- AFRICEL
- AIRTEL
- AIRTELTIGO
- ALBARIDBANK
- ALFABANK_P2P
- ALIPAY
- ALTEL
- ALYCEPAY
- APPLEPAY
- APPLEPAYTOKEN
- ARGENTEX
- ASTROPAY
- ASUPAY
- ATTIJARIWAFABANK
- ATTIJARI_BANK
- B2BINPAY
- BACSDIRECTDEBIT
- BANCONTACT
- BANCOSABADELL
- BANKTRANSFER
- BANKTRANSFER_ARGENTINA
- BANKTRANSFER_CHILE
- BANKTRANSFER_PERU
- BANK_TRANSFER_ARG
- BANK_TRANSFER_IND
- BANK_TRANSFER_JPY
- BANK_TRANSFER_KRW
- BANK_TRANSFER_PHP
- BANK_TRANSFER_PIX
- BANK_TRANSFER_PKR
- BANK_TRANSFER_SEPA
- BANK_TRANSFER_SWIFT
- BANK_TRANSFER_TRY
- BANK_TRANSFER_UK
- BANQUE_POSTALE
- BARIDI
- BARIDPAY
- BASIC_CARD
- BBVA
- BCA
- BEELINE
- BIAT
- BILLLINE
- BILLPLZ
- BINANCEPAY
- BITEXPRO
- BITEXPRO_ADVCARD
- BITEXPRO_ADVWALLET
- BITEXPRO_APPLEPAY
- BITEXPRO_BANCONTACT
- BITEXPRO_BANKTRANSFER
- BITEXPRO_BKASH
- BITEXPRO_BLIK
- BITEXPRO_BPWALLET
- BITEXPRO_CASH
- BITEXPRO_CREDITCARD
- BITEXPRO_CRYPTO
- BITEXPRO_EBANKING
- BITEXPRO_EPS
- BITEXPRO_EUROAPM
- BITEXPRO_EWALLET
- BITEXPRO_EXPAY
- BITEXPRO_FAWRY
- BITEXPRO_GIROPAY
- BITEXPRO_GOOGLEPAY
- BITEXPRO_GPAY
- BITEXPRO_HSP
- BITEXPRO_IDEAL
- BITEXPRO_INTERAC
- BITEXPRO_KAPITAL
- BITEXPRO_KLARNA
- BITEXPRO_M10
- BITEXPRO_MBWAY
- BITEXPRO_MEEZAQR
- BITEXPRO_MEEZAR2P
- BITEXPRO_MOBILEMONEY
- BITEXPRO_MULTIBANCO
- BITEXPRO_MYBANK
- BITEXPRO_NAGAD
- BITEXPRO_NEOSURF
- BITEXPRO_NETBANKING
- BITEXPRO_NETELLER
- BITEXPRO_OPENBANK
- BITEXPRO_OPENBANKING
- BITEXPRO_P24
- BITEXPRO_P2P
- BITEXPRO_PAPARA
- BITEXPRO_PAYCO
- BITEXPRO_PAYCONIQ
- BITEXPRO_PAYEER
- BITEXPRO_PAYFIX
- BITEXPRO_PAYID
- BITEXPRO_PAYSAFECARD
- BITEXPRO_PAYSAFECASH
- BITEXPRO_PAYTM
- BITEXPRO_PAYU
- BITEXPRO_PIS
- BITEXPRO_PIX
- BITEXPRO_QRPAYMENT
- BITEXPRO_QUASICARD
- BITEXPRO_RAPID
- BITEXPRO_RN
- BITEXPRO_ROCKET
- BITEXPRO_SBERPAY
- BITEXPRO_SBP
- BITEXPRO_SKRILL
- BITEXPRO_SOFORT
- BITEXPRO_SPEI
- BITEXPRO_STICPAY
- BITEXPRO_TRUSTLY
- BITEXPRO_TWINT
- BITEXPRO_UNIONPAY
- BITEXPRO_UPI
- BITEXPRO_VODAFONE
- BITEXPRO_WALLET
- BIZUM
- BKASH
- BLACK_RABBIT
- BLIK
- BNC
- BNI
- BNPPARIBAS
- BOLETO
- BOURSORAMA
- BPERBANCA
- BRI
- BSI
- CAIXABANK
- CARD
- CARDS
- CARDSHPP
- CARD_TO_CARD
- CASH
- CASHAPPPAY
- CASHBOX
- CASHPLUS
- CASH_CHILE
- CBCBELGIUM
- CELLPAY
- CFG_BANK
- CHAABIPAY
- CHEK
- CIHBANK
- CIMB
- CLABE
- CLICK
- CLICKQR
- CODI
- COMDIRECT
- COMMERZBANK
- COMMUNITYBANKING
- CRK
- CRYPTO
- CRYPTO2CRYPTO
- CRYPTO2FIAT
- CSGO_SKINS
- CVS
- D17
- DABAPAY
- DAMANEPAY
- DANA
- DANAMON
- DANSKEBANK
- DEBITWAY
- DEUTSCHEBANK
- DEUTSCHE_BANK
- DIALOG
- DIGITALWALLET
- DINO
- DIRECTBILLING
- DKB
- DLG
- DUITNOW
- DUITNOWQR
- EASYPAISA
- ECOM
- EDB
- EFECTY
- EFT
- EMPAYRE
- EPAY
- EPS
- EPS_CV
- EQUITEL
- ESEWA
- ETISALAT
- ETISALAT_CASH
- ETPAY
- EUPAGO
- EUROBANK
- EUTELLER
- EWALLET
- EZPAY
- FAWRY
- FIAT2CRYPTO
- FINRAX
- FLEXEPIN
- FLOUCI
- FONEPAY
- FPS
- FPX
- FYST
- GATE8TRANSACT
- GATEEXPRESS
- GCASH
- GIFT_CARDS
- GIROPAY
- GOOGLEPAY
- GOOGLEPAYTOKEN
- GOPAY
- GRABPAY
- HALOPESA
- HANDELSBANKEN
- HAVALE
- HAYHAY
- HELP2PAY
- HITES
- HUMO
- IBAN
- IBERCAJA
- IDEAL
- IMEPAY
- IMPS
- ING
- INSTANTQR
- INSTAPAY
- INTERAC
- INTERKASSA
- INTESASANPAOLO
- IPAY
- JAZZCASH
- JETON
- JIBI
- KAKAOPAY
- KBC
- KCELL
- KESSPAY
- KHALTI
- KHIPU
- KHIPUBANKTRANSFER
- KHQR
- KLARNA
- LABANQUEPOSTALE
- LATAM_BANKING
- LATAM_CASH
- LBANKALIK
- LINKAJA
- LINK_AJA
- LOCALP2P
- LOCALPAYMENT
- LOCAL_BRAZIL
- LOCAL_CHILE
- LOCAL_MEXICO
- LOCAL_PERU
- LOTÉRICA
- M10
- M10_TO_M10
- MACH
- MACROPAY
- MANDIRI
- MANUAL_OPERATION
- MAYBANK
- MB
- MBWAY
- MEFETE
- MERCADO_PAGO
- MISTERCASH
- MNT
- MOBILE
- MOBILEMONEY
- MOBILEMONEY_AIRTEL
- MOBILEMONEY_BANKTRANSFER
- MOBILEMONEY_MPESA
- MOBILEMONEY_MTN
- MOBILEMONEY_OPAY
- MOBILEMONEY_ORANGE
- MOBILEMONEY_OZOW
- MOBILEMONEY_PALMPAY
- MOBILEMONEY_PAYATTITUDE
- MOBILEMONEY_SNAPSCAN
- MOBILEMONEY_VODAFONE
- MOBILEMONEY_WAVE
- MOBILEMONEY_ZAMTEL
- MOBILEPAY
- MOMO
- MOMOB
- MOMOPAY
- MONETIX
- MONNET
- MOOV
- MPAY
- MPESA
- MTN
- MULTIBANCO
- MULTICA
- MWALLET
- MYBANK
- MYPAY
- N26
- N26_UAB
- NAGAD
- NEFT
- NEOSURF
- NEQUI_PUSH
- NETBANKING
- NETELLER
- NGENIUS
- NORDEA
- NORISBANK
- NUMICARD
- NUMICARD_CARD
- NUMICARD_OPENBANKING
- NUMICARD_PAYPAL
- NUMIPAY_HPP
- NUMIPAY_VOUCHER
- OBK
- ONECLICK
- ONLINEBANKING
- ONLINEBANKINGBTV
- OPAY
- OPAYWALLET
- OPENBANKING
- OPENBANKING_UAB
- OPEN_BANKING
- ORANGE
- ORANGEMONEY
- OVO
- OXXO
- OZOW
- P24
- P2C
- P2P
- PAGO46
- PAGOEFECTIVO
- PAGO_EFECTIVO
- PAGO_MOVIL
- PAG_SMILE
- PALMPAY
- PALMPAYWALLET
- PAPARA
- PAPARAPOOL
- PAPAZULA
- PARAZULA
- PAROLOPARA
- PAYATTITUDE
- PAYBOL
- PAYCELL
- PAYCO
- PAYCONIQ
- PAYCOS
- PAYFIX
- PAYHERE
- PAYID
- PAYLER
- PAYMATRIX
- PAYMAXIS
- PAYMAYA
- PAYME
- PAYMEMOBILE
- PAYMOMENTUM
- PAYPAL
- PAYPAY
- PAYPORT
- PAYRETAILERS
- PAYRIVER
- PAYSAFECARD
- PAYSAFECASH
- PAYSCROW
- PAYTM
- PAYU
- PAY_BY_BANK
- PAY_SHOP
- PAY_U
- PEP
- PERFECTMONEY
- PERMATA
- PESONET
- PGWAY
- PHONEPE
- PICPAY
- PID
- PIRAEUS
- PIX
- PIX_CV
- PLINE
- POLI
- POPY
- POPYPARA
- POSTBANK
- PRISMA_LINK
- PROMPTPAY
- PRZELEWY24
- PSE
- PSEBANKTRANSFER
- PSPARK
- QBIT
- QR
- QRCODE
- QRIS
- QUICKBIT
- RABOBANK
- RAIFFEISEN_P2P
- RAPID
- RAPIDTRANSFER
- RAPID_TRANSFER
- RAPYD
- RARGBANKTRANSFER
- RARGCARD
- RARGWALLET
- RAZORPAY
- REGPBANKTRANSFER
- REGPWALLET
- RETAILCARD
- REVOLUT
- REVOLUTPAY
- REVOLUTPAY_UAB
- RIXOPAY
- ROCKET
- RTGS
- SAFARICOM
- SAFETYPAY
- SAFETYPAY_BANKTRANSFER
- SAFETYPAY_CASH
- SAMSUNGPAY
- SBER
- SBERBANK_P2P
- SBERPAY
- SBP
- SBP_P2P
- SBP_TRANSFER
- SEPA
- SEPAINSTANT
- SEPAP2P
- SERVIFACIL
- SGP
- SHOPEEPAY
- SIRU_MOBILE
- SKRILL
- SKRILL_BLIK
- SKRILL_EPS
- SKRILL_IDEAL
- SKRILL_MYBANK
- SKRILL_PRZELEWY24
- SKRILL_RAPIDTRANSFER
- SLYSE
- SMARTYPAY
- SMILE_PAY
- SNAPSCAN
- SOCIETEGENERALE
- SOFORT
- SOFORTUBER
- SPARKASSE
- SPARKASSEN
- SPEI
- SPELL
- SPOYNT
- SPUSHPAY
- STRIPE
- SWEDBANK
- SWIFT
- SWIPELUX
- SWISH
- TCASH
- TELE2
- TELEGRAM
- TINK
- TODITO
- TOUCHNGO
- TPAGA
- TPAY
- TRANSFER_BCA
- TRANSFIA
- TRUEMONEY
- TRUSTLY
- TRUSTPAYMENTS
- TUNZER
- TWINT
- UBER
- UNICREDIT
- UNIONPAYCARDS
- UNIPAY
- UPAY
- UPI
- UPIINTENT
- UPINEO
- UPIWU
- UZCARD
- VEPUY
- VIETQR
- VIETTELPAY
- VIRTUALACCOUNT
- VODACOM
- VODAFONE
- VODAFONECASH
- VODAFONE_CASH
- VOLKSBANK
- VOLKSBANKEN
- VOLT
- VOUCHERS
- VOUCHSTAR
- WALLET
- WAVE
- WE
- WEBPAY
- WECHATPAY
- WECHATWALLET
- WING
- WIRE
- WISE
- WISE_UAB
- YOUGANDA
- ZALO
- ZIRAAT
API specification licensed under the Apache License 2.0. Questions about your integration: