API integration

 Before you begin

See the complete API documentation.

 

GET /terminals

In the API integration, you can process two types of transactions:

  • purchase (TRT_PURCHASE)
  • refunds (TRT_REFUND)

Learn more about payments.

Calling the GET /terminals endpoint will return the list of all available methods for the requested terminal. 

Note: Applying changes in store settings does not impact the list of payment methods displayed by GET /terminals.

 

Enabling payments

See more in the API documentation.

The get /terminals request returns all available methods.

Applying changes in Store settings does not have an impact on the list of payment methods displayed by get /terminals

 

Payment methods

In the below table, you can find all payment methods available for configuration through API.

Namechannel codesupported currenciestransaction amountmin transaction amountmaxAPI Integration payment type(POST /transactions; paymentSpecificData.type)
ApplePayPCL_APPLEPAYAED, AUD, BGN, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, ILS, JPY, KES, MXN, NOK, NZD, PLN, QAR, RON, SAR, SEK, SGD, THB, TRY, UGX, USD, ZAR0.01 EUR10,000 EURexternal_payment_token
BancontactPCL_BANCONTACTEUR0.01 EUR10,000 EURgeneral
BLIKPCL_BLIK_REDIRECTPLN0.01 PLN50,000 PLNgeneral
 PCL_BLIKPLN0.01 PLN9,999.99 PLNblik
GooglePayPCL_GOOGLEPAYAED, AUD, BGN, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, ILS, JPY, KES, MXN, NOK, NZD, PLN, QAR, RON, SAR, SEK, SGD, THB, TRY, UGX, USD, ZAR0.01 EUR100,000 EURexternal_payment_token
IdealPCL_IDEALEUR0.01 EUR10,000 EURgeneral
MastercardPCL_CARDAED, AUD, BGN, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, ILS, JPY, KES, MXN, NOK, NZD, PLN, QAR, RON, SAR, SEK, SGD, THB, TRY, UGX, USD, ZAR0.01 EUR100,000 EURonetime, oneclick, auth_check, recurring_fulldata, recurring_token, unscheduled
NeosurfPCL_NEOSURFAUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, KRW, MXN, MYR, NOK, NZD, PHP, PLN, RON, RUB, SEK, SGD, THB, TRY, USD, XOF, ZAR1 EUR10,000 EURgeneral
NetellerPCL_NETELLER_WALLETEUR0.01 EUR100,000 EURgeneral
Pay By LinkPCL_PBL_ALIOR
PCL_PBL_BNPPARIBAS
PCL_PBL_BOS
PCL_PBL_BZWBK
PCL_PBL_CITI
PCL_PBL_CREDITAGRICOLE
PCL_PBL_MILLENNIUM
PCL_PBL_NOBLE
PCL_PBL_PEKAO24
PCL_PBL_IPKO
PCL_PBL_GETIN
PCL_PBL_INTELIGO
PCL_PBL_IDEABANK
PCL_PBL_ING
PCL_PBL_MTRANSFER
PCL_PBL_PBS
PCL_PBL_NEST
PCL_PBL_PLUS
PCL_PBL_BS
PLN 1 PLN100,000 PLNgeneral
PayByZenPCL_PBZEUR,GBP,PLN,USD0.01 EUR1,000,000 EURgeneral
PayPalPCL_PAYPALAUD, BRL, CAD, CZK, DKK, EUR, HUF, HKD, ILS, JPY, MYR, MXN, NOK, NZD, PHP, PLN, GBP, RUB, SGD, SEK, CHF, TWD, TRY, THB, USD0.01 EUR100,000 EURgeneral
PaysafecardPCL_PAYSAFECARD_WALLET
PCL_PAYSAFECARD_PINCODE
AUD, CAD, CZK, DKK, EUR, GBP, HUF, NOK, PLN, RON, SEK, USD0.01 EURTabelageneral
PaysafecashPCL_PAYSAFECASHEUR, CAD, BGN, CZK, HUF, GBP, USD, PLN, MXN, RON, SEK, CHF0.01 EUR1000 EURgeneral
SkrillPCL_SKRILL_WALLETEUR0.01 EUR100,000 EURgeneral
DragonPCL_DRAGONEUR15 EUR100,000 EURdragon
TrustlyPCL_TRUSTLYEUR, PLN, DKK, SEK, NOK, CZK0.01 EUR100,000 EURtrustly
Union PayPCL_UPIEUR, BGN, HRK, CZK, HUF, DKK, ISK, CHF, NOK, PLN, RON, SEK, GBP, CNY0.01 MYR/CNY/EURSingle Transaction Limit USD – $300.000
Single Card Limit Per Day USD  – $500.000

100,000 MYR/CNY/EUR
general
VisaPCL_CARDUSD, AUD, GBP, BGN, CAD, CZK, DKK, EUR, HKD, HUF, ILS, JPY, KES, MXN, NZD, NOK, PLN, QAR, CNY, RON, SAR, SGD, ZAR, SEK, CHF, THB, TRY, UGX, AED0.01 EUR100,000 EURonetime, oneclick, auth_check, recurring_fulldata, recurring_token, unscheduled
WebmoneyPCL_WEBMONEYEUR, USD0.01 EUR 100,000 USD; 10,000 EURgeneral
WeChatPCL_WECHATCNY0.01 CNY50,000 CNYgeneral
MultibancoPCL_MULTIBANCOEUR0.01 EUR 100,000 EURgeneral
BoacompraPCL_BOACOMPRA_REDPAGOS
PCL_BOACOMPRA_PSE
PCL_BOACOMPRA_VISA
PCL_BOACOMPRA_REDCOMPRA
PCL_BOACOMPRA_PAYPAL
PCL_BOACOMPRA_PIX
PCL_BOACOMPRA_MC
PCL_BOACOMPRA_BOLETO
PCL_BOACOMPRA_PAGOEFFECTIVO
PCL_BOACOMPRA_EFFECTY
EUR, COP, CLP, MXN, PEN, UYU, USD, BOB, CRC, GTQ, NIO, PYG, BRL0.01 EUR100,000 EURgeneral

Payment links are URL addresses that directly redirect users to the payment page. They can be configured for any selected amount, not necessarily for a specific product or group of products. When a user selects such a link, they are immediately redirected to the payment page, where all the selected products are already added to the cart. All they have to do is make the payment and place the order. This is why payment links are a convenient tool, allowing users to have direct access to the payment process from any page where such a link appears, whether it’s on a store page, blog, or social media.

The key features and benefits of payment links include:

  • Variety of Payment Methods: Payment links offer users the option to use all available payment methods that have been configured in the store.
  • Currency Specification: You can specify the currencies in which users can make payments for each payment link, increasing adaptability to different customers.
  • Validity Period: Each payment link can have a specified validity period, giving you control over when it becomes inactive.
  • Flexibility: Users can open a payment link multiple times and on various devices until they complete the payment. This means they have more time to make their decision.

Creating a payment link is possible through the API interface. However, it’s important to note that these links initiate the payment process, which is handled by ZEN. API integration introduces new endpoints, such as /payment-links POST and GET, as well as /payment-links/{id} PATCH and GET. The authorization process remains unchanged, with only the content of the request needing adjustment to accommodate new queries. More information on this can be found in the API documentation.

 

Fraud collector (fingerPrintId)

Note: This feature is only supported for API Integration.

Note: This feature is mandatory for all API Integrations.

The fingerPrintId is a field in the ZEN API that enhances security by uniquely identifying transactions. To generate and use the fingerPrintId in your transactions, follow these steps to implement the required functionality on your website or app.

Step 1: Include the ZEN Web Collector Script

Add the following script to the header of your website. This script will enable you to collect the necessary data for generating the fingerPrintId.

<script src="https://cdn-secure.zen.com/zen-web-collector.latest.js"></script>

Make sure this script is placed just above the </head> tag in your HTML.

Step 2: Retrieve the FingerPrintId

To retrieve the fingerPrintId, use the JavaScript commands provided below. These commands use the ZEN Web Collector library that you included in the previous step.

JavaScript

function generateData(transactionId) {
    var collectorData = getCollectorData(merchantTransactionId);

    // The fingerPrintId is returned in the 'then' callback function parameter
    collectorData.then((fingerPrintId) => {
        // Use the retrieved fingerPrintId here
        console.log(fingerPrintId);
    });
}

1. transactionId: This is a unique identifier for the transaction you are processing with ZEN.  The transactionId may be up to 128 bytes long and must consist of the following characters only:

  • Upper and lowercase English letters (a-z, A-Z)
  • Digits (0-9)
  • Underscore (_)
  • Hyphen (-)

2. collectorData.then((fingerPrintId) => {…}): This function retrieves the fingerPrintId asynchronously. The fingerPrintId is available for use within the then callback function.

Step 3: Send the FingerPrintId to ZEN

Once you have successfully retrieved the fingerPrintId, include it in your API request to ZEN. Send the fingerPrintId value within the fraudFields.fingerPrintId field in your POST request to the ZEN API Endpoint: POST https://api.zen.com/v1/transactions

Saving and tokenizing cards

Note: This feature is only supported for API Integration.

You can save card data in the form of a token and use it for future transactions instead of asking the user to fill in card details each time they make a transaction.

Create a new transaction using POST /transactionSee more in the API documentation.

In the 'paymentSpecificaData’ object, send all data according to the API documentation and make sure that:

purchase

type – onetime
saveCard – true

authorization (once payment is authorized, ZEN will instantly cancel it and provide money back to the payer)

type – auth_check
saveCard – true

In return, ZEN will generate a unique token associated with this card which will be saved in the store.

Location of the token in response: cardInfo.token

The card data are saved for the user as provided in the POST /transactions request: customer.id. This identifier will be used to manage saved/tokenized card data.

Tokenized cards are saved in 'PAYMENT PROFILES’. Learn more in the API documentation.

You can carry out the following actions with all saved card tokens:

  • Request a list of all saved cards (for provided external-customer-id, as described in the Saving and tokenizing cards section)
  • Request data of a particular saved card (for provided card id, obtained in point 1)
  • Update data of a particular saved card (for provided card id, obtained in point 1)
  • Delete a previously saved card (for provided card if, obtained in point 1)

 

Oneclick payments

Note: This feature is only supported in API Integration.

Oneclick feature allows merchants to initiate card payment without a need for the payer to input card data. Instead, previously saved card tokens are being used.

  • Enable saving and tokenizing cards
  • Initialize payments with a saved tokenized card:
    • First, create a new transaction using POST /transaction. See more in the API documentation.
    • In the 'paymentSpecificaData’ object, send all data according to the API documentation. while making sure that:
      cardToken – contains the token data you’ve received in Step 1
      type – is set to one click

Approval rate

If you want to increase the approval rate on payments, you should fill in information such as the customer’s first and last name, email, phone number, ip address.

Apple Pay

This technical guide describes how to connect Apple Pay with your ZEN API Integration. For more information on Apple Pay please check the Apple Pay documentation.

Before you begin (important)

Before you start the integration process, you must first go through the registration process. For more information, see the following links:

 

Creating certificates

To create a Payment Processing Certificate, please contact us for the Certificate Signing Request with the following information:

  • your Apple Merchant ID
  • email address of your ZEN business account
  • your ZEN Shop ID in the message.

The Certificate Signing Request is used to create a Payment Processing Certificate. The full process is described in the Apple help guide.

Once you have received the Payment Processing Certificate, please provide it back to ZEN. See how to contact us.

See also: Apple Merchant Identity Certificate guidelines

Integration with Apple

To integrate your e-store or iOs app with Apple Pay, please check the below knowledge sources:

IMPORTANT

See also: Offering Apple Pay in your App

When you have followed all of the above instructions, you can POST the payment to ZEN as described in the API documentation.

Make sure to create transactions as:

/createNewTransaction PaymentSpecificData Type:external_payment_token

 

Google Pay™

This technical guide describes how to connect Google PAYwith your ZEN API .

For more information, please check the Google Pay™ documentation.

Before you begin (important)

Before you start the integration process, please see the below knowledge sources:

  • Registrations: Google Pay for web payments documentation: 

https://developers.google.com/pay/api/web/overview?hl=en&authuser=2

https://developers.google.com/pay/api/android/overview?authuser=2

  • Terms, conditions and guidelines:

https://payments.developers.google.com/terms/sellertos

https://payments.developers.google.com/terms/aup

https://developers.google.com/pay/api/web/guides/brand-guidelines?authuser=2

https://developers.google.com/pay/api/android/guides/brand-guidelines?authuser=2

See also: Setup your website and Google Account for Google Pay. 

Integrating your website store with Google Pay

To integrate your website with Google Pay:

IMPORTANT

ZEN only accepts Visa and Mastercard®. Make sure to whitelist only those two networks.

To use the ZEN gateway you need to use the following data:

‘gateway’: ‘zen’
‘gatewayMerchantId’ : ‘your_ZEN_Shop_UUID’

Please contact us for ZEN Shop UUID. Please make sure to provide the email address of your ZEN business account and your ZEN Shop ID in the message.

IMPORTANT: To use ZEN gateway, you need to define the supported card networks:

const allowedCardNetworks = [„”MASTERCARD””, „”VISA””];

IMPORTANT: To use ZEN gateway, you need to define the supported authentication methods to Cryptogram_3DS and/or PAN_ONLY

PAN_ONLY: This authentication method is associated with payment cards stored on file with the user’s Google Account. Returned payment data includes personal account number (PAN) with the expiration month and the expiration year.

CRYPTOGRAM_3DS: This authentication method is associated with cards stored as Android device tokens. Returned payment data includes a 3-D Secure (3DS) cryptogram generated on the device.

const allowedCardAuthMethods = [„PAN_ONLY”, ”CRYPTOGRAM_3DS”];

Offering Google Pay in your Android app

To learn how to offer Google Pay in your store, please see the below steps with linked Google knowledge sources.

IMPORTANT

ZEN only accepts Visa and Mastercard®. Make sure to whitelist only those two networks.

To use the ZEN gateway you need to use the following data:

private static JSONObject getGatewayTokenizationSpecification() throws JSONException {
return new JSONObject() );
}};
}

Please contact us for ZEN Shop UUID. Please make sure to provide the email address of your ZEN business account and your ZEN Shop ID in the message.

IMPORTANT: To use ZEN gateway you need to define the supported card networks:

private static JSONArray getAllowedCardNetworks() {
return new JSONArray()
.put(„”MASTERCARD””)
.put(„”VISA””);
}

IMPORTANT: To use ZEN gateway, you need to define an allowed authentication method:

private static JSONArray getAllowedCardAuthMethods() {
return new JSONArray()
.put(„”CRYPTOGRAM_3DS””);
}

 


Transfer to card

Transfer to Card transaction is a service that involves transferring funds from the Merchant’s account to the card account of the Recipient. This is a one-way operation that allows the transfer of funds from one account to another to fund the card of the owner.

Advantages of Transfer to Card:

  • Speed and Convenience: Transfer to Card enables quick and convenient transfer of funds to payment cards, which is particularly useful for urgent payments such as salaries or insurance claims.
  • Payment Distribution: This service can be used for the distribution of various types of payments, including salaries, investment dividends, merchant rebates, and more.
  • Automation: Processing transactions using an API allows for process automation, which can expedite fund transfers and reduce the risk of human errors.

Description of the Transfer to Card Process is available in the API documentation.

 

Instant Payment Notifications

Instant Payment Notifications (IPN) inform you about transaction status updates, e.g., about changing the status from pending to rejected.

ZEN sends you an Instant Payment Notification (IPN) after each transaction.

IPN with status „ACCEPTED” is confirmation of successful transaction. Once you receive IPN with status „ACCEPTED” you can finalize the order.

There are two ways to provide the IPN URL address to ZEN:

  • In the Credentials tab in the ZEN panel, you can provide the IPN URL address.
  • If you are using the API integration or the Checkout Integration with each request, you can provide customIpnUrl for this request as an optional field. If you leave the field blank, the IPN URL address from pt. 1 will be used.

To verify whether the IPN is sent by ZEN, you should use the IPN API Secret. See where to find your credentials.

You should hash particular values using sha256 and compare results with the hashed values from the received IPN.

Hash is calculated as follows:

sha256({transaction.merchantTransactionId}{transaction.currency}{transaction.amount}{transactionStatus}{merchantIpnSecret})

”type”:”TRT_PURCHASE”,

”transactionId”:” 2d36ff20-017d-4c63-b626-407edb369cc2”,

”merchantTransactionId”:” feb78e88-47bc-428a-8ea4-806535aaf2de”,

”amount”:”100”,

”currency”:”PLN”,

”status”:”PENDING”,

”hash”:”28EE6604A8A40ACC8B8CE0B8DE9AAC87A4E24BBF0388A48ED164E512C8073C7E”,

”signature”:”D3739E5ADCC20E436DEE8F386C81B1C3ACCCE0558FAB65EC924564F998F983EE”,

”paymentMethod”:{

      ”name”:”PME_PBZ”,

      ”channel”:”PCL_PBZ”,

      ”parameters”:{

      }

   },

”customer”:{

     ”firstName”:”John”,

     ”lastName”:”Doe”,

     ”email”:”[email protected]”,

     ”ip”:”172.89.0.1”,

     ”country”:”US”

   },

”securityStatus”:”pending”,

”riskData”:{

   },

”email”:”[email protected]

}

Merchant Secret used for this example

aeb8e7bf-0009-4f30-b521-1136fd336ae6

with

merchantTransactionID = feb78e88-47bc-428a-8ea4-806535aaf2de
currency = PLN
amount = 100
transactionStatus = PENDING
merchantIpnSecret = aeb8e7bf-0009-4f30-b521-1136fd336ae6

We get

sha256(feb78e88-47bc-428a-8ea4-806535aaf2dePLN100PENDINGaeb8e7bf-0009-4f30-b521-1136fd336ae6)

which gives 

hash = 28EE6604A8A40ACC8B8CE0B8DE9AAC87A4E24BBF0388A48ED164E512C8073C7E

Received hash is equal to hash received in IPN. This confirms that IPN was sent by ZEN.

To confirm that the IPN was successfully received, your system must send the following response:

-content type: application/json

Response:

{
    ””status””: ””ok””
}

Note: If you don’t confirm that the IPN has been received, ZEN will continue re-sending this IPN to your URL address.

 

Rejection codes

This feature is only supported only in API Integration.

In the below table, you’ll find an explanation of all the rejection codes available in the system.

NameDescription
E00001Creating new transaction in payment service provider failed.
E00002Transaction was expired on the payment service provider side.
E00003Creating refund transaction in payment service provider failed.
E00004Transaction was rejected by payment service provider.
E00005Checking status of transaction limit was exceeded.
E00006Refund attempts limit was exceeded.
E00007Capturing transaction in payment service provider failed.
S00001Creating new sendout in payment service provider failed.
S00002Capturing sendout in payment service provider failed.
E40001Transaction already exists
E40002Reporting criteria unavailable
E40003Reporting criteria is inactive
E40004MID is inactive
E40005Amount must be greater than 0
E40006The amount exceeds the maximum permitted amount
E40007Currency invalid
E40008Currency invalid
E40009Transaction in a wrong status for this action
E40010Debit attempt after expiry of time window
E40011Transaction does not exist
E40012Authentication failed
E40013General technical error
E40014My paysafecard account not found by provided credentials
E40015Customer account details do not match
E40016The merchant does not have access to this function
E40017The IP address of the merchant has not been added to IP-whitelist
E40018The Amount specified in the call is invalid. The amount must be: 0 with 2 decimals
E40019The signature in the call could not be verified using the merchant’s public key
E40020The MessageID sent in the deposit has been used before
E40021The enduser that initiated the payment is blocked
E40022The Locale-attribute is sent with an incorrect value
E40023This uuid has been used before
E40024The EndUserID or MessageID sent in the request is null
E40025The IP attribute sent is invalid. Only one IP address can be sent
E40026The SuccessURL, FailURL, TemplateURL or NotificationURL sent in the request is malformed. Use valid http(s) address
E40027The URLTarget, MessageID or EndUserID sent in the request is malformed
E40028The merchant does not have enough balance on his/her account to execute the refund
E40029The refund has already been processed
E40030Some value or parameter in the refund call does not match the expected format
E40031The refund call was sent before the money for the original deposit was settled
E40032The OrderID sent in the refund call does not exist
E40033Several refunds have been made on a single deposit, and the amount in the last refund was larger then the amount that is left to refund on that deposit
E40034The refund call was sent before the money for the original deposit was settled or captured
E40035The OrderID sent in the refund call is null
E40036NotificationURL is not secured
E40037Provided market does not exists
E40038Provided store is inactive
E40039SourceCurrency parameter must be set
E40040DestinationCurrency parameter must be set
E40041Payment address is invalid
E40042Withdrawal is not allowed
E40043Operation was already finished
E40044Withdrawal amount is smaller than fee
E40045Fetching currencies error
E40046Provided url is invalid
E40047Invalid parameter was provided
E40049Customs declaration has already been registered
E40050The declared amount exceeds the transaction amount
E40051Missing parameter
E40052Cannot get express payment method
E40053Express payment method unavailable
E40054Unable to fetch user
E40055Invalid request
E40056Invalid XML
E40057Service temporarily unavailable due to maintenance
E40058Specified method is not supported
E40059No method specified
E40060No request received
E40061Internal error
E40062The agent is not correct
E40063The amount is not correct
E40064Dynamic description (Depending on the payment method) Ex. The amount must be higher than 1
E40065The amount must be lower than 999999
E40066The city is not correct
E40067The country is not correct
E40068The currency is not correct
E40069The date of the document is not correct
E40070The date of birth is not correct
E40071The email is not correct
E40072The first name is not correct
E40073The gender is not correct
E40074The hash is not correct
E40075The ip address is not correct
E40076Your ip address is blocked temporarily
E40077The KYC is not correct
E40078The last name is not correct
E40079The latitude is not correct
E40080The longitude is not correct
E40081The merchantId is not correct
E40082The merchantTransactionId is not correct
E40083The prohibitedForMinors parameter is not correct
E40084The street is not correct
E40085The subMerchantId is not correct
E40086The telephone number is not correct
E40087The test parameter is not correct
E40088The zip code is not correct
E40089The merchantId do not exist or is not active
E40090The verion is not correct
E40091The merchantTransactionId already exists
E40092The merchantTransactionId does not exist
E40093The urlCallback is not correct
E40094The urlKo is not correct
E40095The urlOk is not correct
E40096The urlPending is not correct
E40097The Myneosurf email is not correct
E40098The Myneosurf email does not exist
E40099The Myneosurf credentials are not correct
E40100The Myneosurf password is not correct
E40101The last three characters of the Myneosurf PIN are not correct
E40102The Myneosurf corresponding account is not verified
E40103The Myneosurf corresponding account is blocked
E40104The service is under maintenance
E40105Dynamic description (The KYC level 0 is not sufficient). Ex: Account limit:[2500 eur] per year. Available:[1000 eur]
E40106Dynamic description (The KYC level 1 is not sufficient). Ex: Account limit:[1000 eur] per year. Available:[1000 eur]
E40107Dynamic description (KYC level 2 limitation). Ex: Account limit:30000 eur per month. Available:[1000 eur]
E40108Dynamic description (The KYC level 0 or 1 is not sufficient). Ex: Account limit:[1000 eur] per transaction
E40109Dynamic description (KYC level 2 limitation). Ex: Account limit:[1500 eur] per transaction
E40110The transaction was declined
E40111The document type is not correct
E40112Too many document are awaiting approval, thank you try again later
E40113The limit of 10 uploaded documents is attempt for this user
E40114The limit of 2 pending documents is attempt for this user
E40115The limit of 2 validated documents is attempt for this user
E40116No document was selected
E40117Error with upload
E40118The document is empty
E40119The document exceeds the limit of 2 Mb
E40120The document should have an extension
E40121The document can only have one of these extensions: pdf, jpg, jpeg, bmp, gif, tif, tiff, png
E40122Error with upload, the format is unauthorized
E40123The document can’t be visualized
E40124The status of this document has already been previously updated
E40125The pincode is not correct
E40126The email or password are not correct
E40127The product id is not correct
E40128The product is not active
E40129The transaction is not authorized for resellers
E40130The transaction is not authorized because the client is a minor
E40131The merchant account is for test purpose only
E40132The pincode and the test parameter must be the same type
E40133The product can be used only on a limited list of merchants, and this one does not belong to this list
E40134The transaction is not authorized for this merchant and this type of product
E40135The amount to debit is less or equal to zero
E40136The amount to debit is more than the available balance
E40137The amount to credit is more than the maximum balance
E40138The transaction to reverse does not exist
E40139The transaction to reverse is not successful
E40140The transaction to reverse is not refundable
E40141The transaction to reverse have a different currency
E40142The transaction to reverse have already been reversed entirely
E40143The transaction to reverse cannot be reversed with this too high amount
E40144This transaction is not allowed to this merchant
E40145The maximum total amount of payouts is reached
E40146Transaction not found
E40147Service not found
E40148Card not found
E40149Parameter paymentProfileId or amount is invalid: One of them should be set
E40150The amount is insufficiently disposed for the transaction
E40170Wrong code type
E40171CLS Entry creation Error
E40172Wrong transaction amount
E40173Wrong currency
E40174Unable to find active user
E40175Too late for Reversal
E40176Operation not allowed for current transaction status
E40177Request after correction
E40178Commission is already authorized
E40179Commission was rejected
E40180Commission was not authorized
E40181Commission was reversed
E40182Commission is in complaint process
E40183Transaction not found
E40184Transaction ID is already used
E40185Client application is not active
E40186Client application was not found
E40187Status transition is not possible
E40188Appid is already used
E40189Phone hash is already default
E40190Wrong ticket
E40191Ticket wrong format
E40192Ticket was expired
E40193Ticket limit exceeded
E40194PIN code entry is not allowed for given ticket
E40195PIN code entry is required for given ticket
E40196Ticket wrong status
E40197Unable to use provided ticket in this transaction type
E40198Ticket was already used
E40199Wrong transaction type
E40200Transaction <TX_TYPE> in <SVC_LEVEL> mode is not supported
E40201T6 Ticket limit exceeded
E40202V9 Ticket limit exceeded
E40203Active ticket number exceeded
E40204IKO terminal transaction
E40205BLIK general error
E40206Alias not found
E40207Alias was already assigned to specific device
E40208Alias was not assigned to specific device
E40209MSISDN Alias is incorrect
E40210Alias security error
E40211Wrong IBAN number
E40212Client application has invalid status
E40213T6 reversal is disabled for current account
E40214Reversal in TXREF mode is disabled for current account
E40215Invalid original transaction type for reversal
E40216Reversal for transaction was received too late
E40217Wrong Acquirer number
E40218Reversal for given transaction already exists
E40219Reversals amount sum is bigger than original transaction amount
E40220Converted reversal for transaction was received too late
E40221Converted reversal for transaction already exists
E40222Wrong sub-schema subversion
E40223Cashback transaction is not allowed
E40224Wrong KNR number
E40225Wrong alias context
E40226Alias too long
E40227IBAN field is not allowed
E40228Alias limit exceeded for given application
E40229Wrong alias type
E40230Wrong alias scope
E40231Url for alias is not allowed
E40232Alias wrong expiration date
E40233Wrong URL format
E40234Too many aliases with given value
E40235Multibank mode does not allow for OVERWRITE
E40236Missing IBAN field
E40237The publisher does not support aliases
E40238Duplicate alias type
E40239Alias is not unique
E40240Missing alias field
E40241Provided alias type cannot be used for given transaction type
E40242All aliases was filtered out
E40243Missing alias field
E40244Transaction require ON-US mode
E40245Transaction type and sub-type is not supported
E40246Issuer is temporary unavailable
E40247Retrying transactions is not allowed
E40248Retrying transaction was after expiration time
E40249Bad transaction retry sequence
E40250Retrying transaction was too early
E40251Retrying transaction is not allowed for previous retrying status
E40252Wrong retry transaction data
E40253Transaction retry does not exists
E40254PAYID Alias is required for given transaction
E40255Declined by TAS
E40256Declined by user
E40257Declined by SEC
E40258System ERROR
E40259General ERROR
E40260Insufficient funds on user account
E40261TIMEOUT
E40262Transaction limit exceeded
E40263User timeout
E40264Declined by issuer
E40265AM_TIMEOUT
E40266Alias was declined
E40267Unknown error
E40268Unknown network error
E40269Network error of chosen payment system
E40270Access prohibited. Wrong login or not enough permissions for requested information
E40271Incorrect signature of request
E40272Invoice rejected by merchant
E40273Invoice expired
E40274Payment system refusal
E40275Refund is not possible
E40276Refund amount exceeded
E40277Identifier not found
E40278New request with the same nonce
E40279Payment expired
E40280Error simulated via merchant’s request
E40281Refused by payer
E40282Incorrect payment amount
E40283Insufficient funds
E40284Internal error. Refresh the page
E40285Payment system authorization failed
E402863D Secure authorization failed
E40287Invalid card number
E40288Card expired
E40289Card blocked
E40290Amount limit exceeded
E40291Quantity limit exceeded
E40292Invalid operation
E40300Unable to get details about created transaction
E40301Unable to capture transaction
E40302Unable to void created transaction
E40303Unknown transaction status
E40304Unable to create transaction
E40305Unable to create transaction refund
E40306Unauthorized request
E40307Unsupported payment method channel
E40308Unsupported payment method
E40309Invalid payment configuration
E40310Check-status request failed
E40311Transaction cancel feature was not implemented
E40312Unknown transaction status
E40313Transaction check-status limit is exceeded
E40314Callback input data is invalid
E40315Unknown transaction
E40316Pending transaction check-status strategy is missing
E40317Transaction capture feature was not implemented
E40318Identifier of transaction to refund param was missed
E40319Refund transaction request was failed
E40320Refund attempt number is exceeded
E40321Deferred refund input is not valid
E40322Returned transaction data does not match trx data
E40323No customer account found by provided credentials
E40324Customer limit exceeded.
E40325Top-up limit exceeded.
E40326Payout amount is below minimum payout amount of the merchant.
E40327My paysafecard account not found on original transaction
E40328Customer not active.
E40329Customer yearly payout limit exceeded.
CT0001Expired payment. Stuck on verification.
CT0002Expired payment. Stuck on psp transaction created.
CT0003Expired payment. Stuck on rejected authorisation.
C00001Error during psp request
C00002Psp declines payment
C00003Error during mpi enrollment request
C00004Error during mpi authentication request
C00005Mpi enrollment request timeout
C00006Technical error
C00007Error during authorisation
C00008Psp request timeout
C00009Uncategorized error during psp request
C00010Conflict (409) returned by provider
C00011Internal error. Unable to handle psp response. See logs.
C00012Mpi authentication request timeout
CR0001Payment declined by fraud service
C00013Transaction not found on psp
C00014Error during verification server request
C00015Error during versioning request
C00016Error during authentication request
C00017Versioning request timeout
C00018Authentication request timeout
C00019Authentication failed
C00020Authentication failed
C00021Error during processing transaction
C10001Unable to determine provider
C10002Inconsistent configuration
C10003Invalid amount
C10004Unable to determine provider
C10005Unable to determine provider
C10006Unable to determine provider
C20087Card type not supported in 3DS
C40087Update card or cardholder data before reattempt
C40088Try again later
C50001First transaction not found
C50002First transaction invalid state
C50003First transaction service target not matched
C50004First transaction card token not matched
C50005Unable to validate first transaction
C50006First transaction missing data
C50007Technical error
C30M69Technical error
C30M68Authentication process timed out
C30M66Technical error
C30M65Technical error
C30M64Technical error
C30M63Technical error
C30M50An error occurred during the 3D secure process
C30M39Technical error
C30M38The transaction has been denied by the Gateway because 3D secure Authentication failed.
C30M37Technical error
C30M36Technical error
C30M35Technical error
C30M33Technical error
C30M32Technical error
C30M30Transaction Failed due to error in 3D secure process
C30M20Processor authentication error.
C30M17Technical error
C30M16Technical error
C30M15Technical error
C30M13Technical error
C30M12Technical error
C30M11Format Error
C30M10Internal server error.
C30M09The parameter is malformed.
C30M08The Package Signature is malformed.
C30M07Incorrect Gateway Response. Connection is broken.
C30001The transaction has been denied by the Gateway.
C30002Technical error
C30003Technical error
C30004The transaction has been denied by the Gateway due to an interchange timeout.
C30005The transaction has been declined.
C30006Transaction pending cardholder authentication.
C30009Technical error
C30010The transaction has been partially approved.
C30011The queried transaction is currently being processed.
C30013Technical error
C30015Technical error
C40001Refer to card issuer
C40003Technical error
C40004Technical error
C40005Do not honor
C40006General error
C40007Technical error
C40008Honor with identification
C40012Invalid transaction
C40013Invalid transaction amount
C40014Invalid card number
C40015No such issuer
C40030Format error
C40041Merchant should retain card (card reported lost)
C40043Merchant should retain card (card reported stolen)
C40046Closed Card Account
C40051Insufficient funds
C40054Expired card
C40055Incorrect PIN
C40057Transaction not permitted to cardholder
C40058Technical error
C40059Suspected transaction. Contact Your Bank
C40061Exceeds approval amount limit
C40062Restricted Card
C40063Technical error
C40065Exceeds withdrawal frequency limit
C40075Allowable number of PIN-entry tries exceeded
C40078Blocked or card not activated
C40089Account Closed – Do not try again
C40090Cutoff is in process
C40091Issuer unavailable or switch inoperative
C40093Technical error
C40094Duplicate transaction
C40096System malfunction, System malfunction or certain field error conditions
C400N0Unable to authorize / CVV2 failure
C400O5Soft decline (SCA required)
C3PM14At least one of the input parameters is missing. Parameter [X] is missing.
C3PM09Transaction failed due to too many requests.
C3PM18Payment Method not allowed for this merchant.
C3PM20Operation not allowed for this merchant
C3PM21Invalid Payment Method
C3PM22Payment Method missing.
C3PM50Transaction Amount not within pre-defined threshold.
C3PM52Transaction Amount exceeds or does not match the Transaction amount referenced in the request.
C3PM53Amount exceeds the Transaction Amount referenced in the request
C3PM55The grand total amount does not match the item total amount.
C3PM64The operation on the transaction referenced in the request has already been executed successful
C3PM66Referral operation not allowed.
C3PM67Could not find the original transaction. Make sure that it exists and that its details were transmitted correctly
C3PM80Technical error
CR0004Technical error
C20001Card authentication failed
C20002Unknown Device
C20003Unsupported Device
C20004Exceeds authentication frequency limit
C20005Expired card
C20006Invalid card number
C20007Invalid transaction
C20008No Card record
C20009Technical error
C20010Stolen card
C20011Suspected fraud
C20012Transaction not permitted to cardholder
C20013Cardholder not enrolled in service
C20014Transaction timed out / Abandoned transaction
C20015Technical error
C20016Technical error
C20017Technical error
C20018Technical error
C20019Exceeds ACS maximum challenges
C20020Non-Payment transaction not supported
C20021Technical error
C20022ACS technical issue
C20023Decoupled Authentication required by ACS but not requested by 3DS Requestor
C200243DS Requestor Decoupled Max Expiry Time exceeded
C20025Decoupled Authentication was provided insufficient time to authenticate cardholder. ACS will not make attempt
C20026Authentication attempted but not performed by the cardholder
C201013DS Authentication Error
C201023DS Authentication Error
C201033DS Authentication Error
C202013DS Authentication Error
C202023DS Authentication Error
C202033DS Authentication Error – Invalid data
C202043DS Authentication Error – Duplicate Data Element
C203013DS Authentication Error
C203023DS Authentication Error
C203033DS Authentication Error
C203043DS Authentication Error – ISO Code Invalid
C203053DS Authentication Error
C203063DS Authentication Error – Invalid Merchant Category Code (MCC)
C203073DS Authentication Error – Serial Number Not Valid
C204023DS Authentication Error – Time Out
C204033DS Authentication Error
C204043DS Authentication Error
C204053DS Authentication Error
E40330Transaction failed, please refer to issuer
E40331Message format error
E40333Transaction does not exist / Abandoned transaction
E40334Original transaction does not exist or state is incorrect
E40337Invalid card number
E40339Wrong PIN, expiry date or CVN2
E40340Wrong cardholder ID information, mobile phone number or CVN2
E40341You have entered your PIN too many times
E40342Your card does not support this service