API integration
On this page
Before you begin
- First, prepare all the credentials for this integration. See how to get the credentials.
- Next, get a list of all available payment methods. See the list of payment methods.
- Keep in mind that each purchase and refund are followed by an IPN. Learn more about IPN.
- For security reasons, you must have a fraud collector installed on your checkout page. See how to install a fraud collector.
See the complete API documentation.
GET /terminals
In the API integration, you can process two types of transactions:
- purchase (TRT_PURCHASE)
- refunds (TRT_REFUND)
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.
Name | channel code | supported currencies | transaction amountmin | transaction amountmax | API Integration payment type(POST /transactions; paymentSpecificData.type) |
ApplePay | PCL_APPLEPAY | AED, 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, ZAR | 0.01 EUR | 10,000 EUR | external_payment_token |
Bancontact | PCL_BANCONTACT | EUR | 0.01 EUR | 10,000 EUR | general |
BLIK | PCL_BLIK_REDIRECT | PLN | 0.01 PLN | 50,000 PLN | general |
PCL_BLIK | PLN | 0.01 PLN | 9,999.99 PLN | blik | |
GooglePay | PCL_GOOGLEPAY | AED, 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, ZAR | 0.01 EUR | 100,000 EUR | external_payment_token |
Ideal | PCL_IDEAL | EUR | 0.01 EUR | 10,000 EUR | general |
Mastercard | PCL_CARD | AED, 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, ZAR | 0.01 EUR | 100,000 EUR | onetime, oneclick, auth_check, recurring_fulldata, recurring_token, unscheduled |
Neosurf | PCL_NEOSURF | AUD, 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, ZAR | 1 EUR | 10,000 EUR | general |
Neteller | PCL_NETELLER_WALLET | EUR | 0.01 EUR | 100,000 EUR | general |
Pay By Link | PCL_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 PLN | 100,000 PLN | general |
PayByZen | PCL_PBZ | EUR,GBP,PLN,USD | 0.01 EUR | 1,000,000 EUR | general |
PayPal | PCL_PAYPAL | AUD, BRL, CAD, CZK, DKK, EUR, HUF, HKD, ILS, JPY, MYR, MXN, NOK, NZD, PHP, PLN, GBP, RUB, SGD, SEK, CHF, TWD, TRY, THB, USD | 0.01 EUR | 100,000 EUR | general |
Paysafecard | PCL_PAYSAFECARD_WALLET PCL_PAYSAFECARD_PINCODE | AUD, CAD, CZK, DKK, EUR, GBP, HUF, NOK, PLN, RON, SEK, USD | 0.01 EUR | Tabela | general |
Paysafecash | PCL_PAYSAFECASH | EUR, CAD, BGN, CZK, HUF, GBP, USD, PLN, MXN, RON, SEK, CHF | 0.01 EUR | 1000 EUR | general |
Skrill | PCL_SKRILL_WALLET | EUR | 0.01 EUR | 100,000 EUR | general |
Dragon | PCL_DRAGON | EUR | 15 EUR | 100,000 EUR | dragon |
Trustly | PCL_TRUSTLY | EUR, PLN, DKK, SEK, NOK, CZK | 0.01 EUR | 100,000 EUR | trustly |
Union Pay | PCL_UPI | EUR, BGN, HRK, CZK, HUF, DKK, ISK, CHF, NOK, PLN, RON, SEK, GBP, CNY | 0.01 MYR/CNY/EUR | Single Transaction Limit USD – $300.000 Single Card Limit Per Day USD – $500.000 100,000 MYR/CNY/EUR | general |
Visa | PCL_CARD | USD, 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, AED | 0.01 EUR | 100,000 EUR | onetime, oneclick, auth_check, recurring_fulldata, recurring_token, unscheduled |
Webmoney | PCL_WEBMONEY | EUR, USD | 0.01 EUR | 100,000 USD; 10,000 EUR | general |
PCL_WECHAT | CNY | 0.01 CNY | 50,000 CNY | general | |
Multibanco | PCL_MULTIBANCO | EUR | 0.01 EUR | 100,000 EUR | general |
Boacompra | PCL_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, BRL | 0.01 EUR | 100,000 EUR | general |
Payment Link
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 /transaction. See 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:
- Relevant Guidelines
- Regional Regulations guidelines
- Apple Developer Program Account registration
- Apple Merchant ID creation
- Domain validation
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:
- For important information, see the Apple guide on implementing Apple Pay on websites.
- Check whether the device or browser supports Apple Pay in the Apple Pay availability guide.
- Learn more about Apple payment requests.
IMPORTANT
- ZEN only accepts Visa and Mastercard®. Make sure to whitelist only those two networks in the Supported networks section:
supportedNetworks=””<?=[CardForm::CARD_ORGANISATION_MASTERCARD, CardForm::CARD_ORGANISATION_VISA]?>”” - Display the payment button and payment sheet.
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:
- Follow the tutorial described in Google Pay documentation.
- Review your integration and fill Google Pay integration checklist.
- Request production access.
- Setup your website and launch your integration.
- Test Google Pay with ZEN on your website.
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.
- Follow Google’s Overview of Google Pay.
- Set up your app and Google Account for Google Pay
- Review your integration and fill Google Pay integration checklist
- Request production access.
- Ensure that your Android device has Google Play services version 18.0.0 or higher.
- Test Google Pay with ZEN in your app.
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.
Name | Description |
---|---|
E00001 | Creating new transaction in payment service provider failed. |
E00002 | Transaction was expired on the payment service provider side. |
E00003 | Creating refund transaction in payment service provider failed. |
E00004 | Transaction was rejected by payment service provider. |
E00005 | Checking status of transaction limit was exceeded. |
E00006 | Refund attempts limit was exceeded. |
E00007 | Capturing transaction in payment service provider failed. |
S00001 | Creating new sendout in payment service provider failed. |
S00002 | Capturing sendout in payment service provider failed. |
E40001 | Transaction already exists |
E40002 | Reporting criteria unavailable |
E40003 | Reporting criteria is inactive |
E40004 | MID is inactive |
E40005 | Amount must be greater than 0 |
E40006 | The amount exceeds the maximum permitted amount |
E40007 | Currency invalid |
E40008 | Currency invalid |
E40009 | Transaction in a wrong status for this action |
E40010 | Debit attempt after expiry of time window |
E40011 | Transaction does not exist |
E40012 | Authentication failed |
E40013 | General technical error |
E40014 | My paysafecard account not found by provided credentials |
E40015 | Customer account details do not match |
E40016 | The merchant does not have access to this function |
E40017 | The IP address of the merchant has not been added to IP-whitelist |
E40018 | The Amount specified in the call is invalid. The amount must be: 0 with 2 decimals |
E40019 | The signature in the call could not be verified using the merchant’s public key |
E40020 | The MessageID sent in the deposit has been used before |
E40021 | The enduser that initiated the payment is blocked |
E40022 | The Locale-attribute is sent with an incorrect value |
E40023 | This uuid has been used before |
E40024 | The EndUserID or MessageID sent in the request is null |
E40025 | The IP attribute sent is invalid. Only one IP address can be sent |
E40026 | The SuccessURL, FailURL, TemplateURL or NotificationURL sent in the request is malformed. Use valid http(s) address |
E40027 | The URLTarget, MessageID or EndUserID sent in the request is malformed |
E40028 | The merchant does not have enough balance on his/her account to execute the refund |
E40029 | The refund has already been processed |
E40030 | Some value or parameter in the refund call does not match the expected format |
E40031 | The refund call was sent before the money for the original deposit was settled |
E40032 | The OrderID sent in the refund call does not exist |
E40033 | Several 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 |
E40034 | The refund call was sent before the money for the original deposit was settled or captured |
E40035 | The OrderID sent in the refund call is null |
E40036 | NotificationURL is not secured |
E40037 | Provided market does not exists |
E40038 | Provided store is inactive |
E40039 | SourceCurrency parameter must be set |
E40040 | DestinationCurrency parameter must be set |
E40041 | Payment address is invalid |
E40042 | Withdrawal is not allowed |
E40043 | Operation was already finished |
E40044 | Withdrawal amount is smaller than fee |
E40045 | Fetching currencies error |
E40046 | Provided url is invalid |
E40047 | Invalid parameter was provided |
E40049 | Customs declaration has already been registered |
E40050 | The declared amount exceeds the transaction amount |
E40051 | Missing parameter |
E40052 | Cannot get express payment method |
E40053 | Express payment method unavailable |
E40054 | Unable to fetch user |
E40055 | Invalid request |
E40056 | Invalid XML |
E40057 | Service temporarily unavailable due to maintenance |
E40058 | Specified method is not supported |
E40059 | No method specified |
E40060 | No request received |
E40061 | Internal error |
E40062 | The agent is not correct |
E40063 | The amount is not correct |
E40064 | Dynamic description (Depending on the payment method) Ex. The amount must be higher than 1 |
E40065 | The amount must be lower than 999999 |
E40066 | The city is not correct |
E40067 | The country is not correct |
E40068 | The currency is not correct |
E40069 | The date of the document is not correct |
E40070 | The date of birth is not correct |
E40071 | The email is not correct |
E40072 | The first name is not correct |
E40073 | The gender is not correct |
E40074 | The hash is not correct |
E40075 | The ip address is not correct |
E40076 | Your ip address is blocked temporarily |
E40077 | The KYC is not correct |
E40078 | The last name is not correct |
E40079 | The latitude is not correct |
E40080 | The longitude is not correct |
E40081 | The merchantId is not correct |
E40082 | The merchantTransactionId is not correct |
E40083 | The prohibitedForMinors parameter is not correct |
E40084 | The street is not correct |
E40085 | The subMerchantId is not correct |
E40086 | The telephone number is not correct |
E40087 | The test parameter is not correct |
E40088 | The zip code is not correct |
E40089 | The merchantId do not exist or is not active |
E40090 | The verion is not correct |
E40091 | The merchantTransactionId already exists |
E40092 | The merchantTransactionId does not exist |
E40093 | The urlCallback is not correct |
E40094 | The urlKo is not correct |
E40095 | The urlOk is not correct |
E40096 | The urlPending is not correct |
E40097 | The Myneosurf email is not correct |
E40098 | The Myneosurf email does not exist |
E40099 | The Myneosurf credentials are not correct |
E40100 | The Myneosurf password is not correct |
E40101 | The last three characters of the Myneosurf PIN are not correct |
E40102 | The Myneosurf corresponding account is not verified |
E40103 | The Myneosurf corresponding account is blocked |
E40104 | The service is under maintenance |
E40105 | Dynamic description (The KYC level 0 is not sufficient). Ex: Account limit:[2500 eur] per year. Available:[1000 eur] |
E40106 | Dynamic description (The KYC level 1 is not sufficient). Ex: Account limit:[1000 eur] per year. Available:[1000 eur] |
E40107 | Dynamic description (KYC level 2 limitation). Ex: Account limit:30000 eur per month. Available:[1000 eur] |
E40108 | Dynamic description (The KYC level 0 or 1 is not sufficient). Ex: Account limit:[1000 eur] per transaction |
E40109 | Dynamic description (KYC level 2 limitation). Ex: Account limit:[1500 eur] per transaction |
E40110 | The transaction was declined |
E40111 | The document type is not correct |
E40112 | Too many document are awaiting approval, thank you try again later |
E40113 | The limit of 10 uploaded documents is attempt for this user |
E40114 | The limit of 2 pending documents is attempt for this user |
E40115 | The limit of 2 validated documents is attempt for this user |
E40116 | No document was selected |
E40117 | Error with upload |
E40118 | The document is empty |
E40119 | The document exceeds the limit of 2 Mb |
E40120 | The document should have an extension |
E40121 | The document can only have one of these extensions: pdf, jpg, jpeg, bmp, gif, tif, tiff, png |
E40122 | Error with upload, the format is unauthorized |
E40123 | The document can’t be visualized |
E40124 | The status of this document has already been previously updated |
E40125 | The pincode is not correct |
E40126 | The email or password are not correct |
E40127 | The product id is not correct |
E40128 | The product is not active |
E40129 | The transaction is not authorized for resellers |
E40130 | The transaction is not authorized because the client is a minor |
E40131 | The merchant account is for test purpose only |
E40132 | The pincode and the test parameter must be the same type |
E40133 | The product can be used only on a limited list of merchants, and this one does not belong to this list |
E40134 | The transaction is not authorized for this merchant and this type of product |
E40135 | The amount to debit is less or equal to zero |
E40136 | The amount to debit is more than the available balance |
E40137 | The amount to credit is more than the maximum balance |
E40138 | The transaction to reverse does not exist |
E40139 | The transaction to reverse is not successful |
E40140 | The transaction to reverse is not refundable |
E40141 | The transaction to reverse have a different currency |
E40142 | The transaction to reverse have already been reversed entirely |
E40143 | The transaction to reverse cannot be reversed with this too high amount |
E40144 | This transaction is not allowed to this merchant |
E40145 | The maximum total amount of payouts is reached |
E40146 | Transaction not found |
E40147 | Service not found |
E40148 | Card not found |
E40149 | Parameter paymentProfileId or amount is invalid: One of them should be set |
E40150 | The amount is insufficiently disposed for the transaction |
E40170 | Wrong code type |
E40171 | CLS Entry creation Error |
E40172 | Wrong transaction amount |
E40173 | Wrong currency |
E40174 | Unable to find active user |
E40175 | Too late for Reversal |
E40176 | Operation not allowed for current transaction status |
E40177 | Request after correction |
E40178 | Commission is already authorized |
E40179 | Commission was rejected |
E40180 | Commission was not authorized |
E40181 | Commission was reversed |
E40182 | Commission is in complaint process |
E40183 | Transaction not found |
E40184 | Transaction ID is already used |
E40185 | Client application is not active |
E40186 | Client application was not found |
E40187 | Status transition is not possible |
E40188 | Appid is already used |
E40189 | Phone hash is already default |
E40190 | Wrong ticket |
E40191 | Ticket wrong format |
E40192 | Ticket was expired |
E40193 | Ticket limit exceeded |
E40194 | PIN code entry is not allowed for given ticket |
E40195 | PIN code entry is required for given ticket |
E40196 | Ticket wrong status |
E40197 | Unable to use provided ticket in this transaction type |
E40198 | Ticket was already used |
E40199 | Wrong transaction type |
E40200 | Transaction <TX_TYPE> in <SVC_LEVEL> mode is not supported |
E40201 | T6 Ticket limit exceeded |
E40202 | V9 Ticket limit exceeded |
E40203 | Active ticket number exceeded |
E40204 | IKO terminal transaction |
E40205 | BLIK general error |
E40206 | Alias not found |
E40207 | Alias was already assigned to specific device |
E40208 | Alias was not assigned to specific device |
E40209 | MSISDN Alias is incorrect |
E40210 | Alias security error |
E40211 | Wrong IBAN number |
E40212 | Client application has invalid status |
E40213 | T6 reversal is disabled for current account |
E40214 | Reversal in TXREF mode is disabled for current account |
E40215 | Invalid original transaction type for reversal |
E40216 | Reversal for transaction was received too late |
E40217 | Wrong Acquirer number |
E40218 | Reversal for given transaction already exists |
E40219 | Reversals amount sum is bigger than original transaction amount |
E40220 | Converted reversal for transaction was received too late |
E40221 | Converted reversal for transaction already exists |
E40222 | Wrong sub-schema subversion |
E40223 | Cashback transaction is not allowed |
E40224 | Wrong KNR number |
E40225 | Wrong alias context |
E40226 | Alias too long |
E40227 | IBAN field is not allowed |
E40228 | Alias limit exceeded for given application |
E40229 | Wrong alias type |
E40230 | Wrong alias scope |
E40231 | Url for alias is not allowed |
E40232 | Alias wrong expiration date |
E40233 | Wrong URL format |
E40234 | Too many aliases with given value |
E40235 | Multibank mode does not allow for OVERWRITE |
E40236 | Missing IBAN field |
E40237 | The publisher does not support aliases |
E40238 | Duplicate alias type |
E40239 | Alias is not unique |
E40240 | Missing alias field |
E40241 | Provided alias type cannot be used for given transaction type |
E40242 | All aliases was filtered out |
E40243 | Missing alias field |
E40244 | Transaction require ON-US mode |
E40245 | Transaction type and sub-type is not supported |
E40246 | Issuer is temporary unavailable |
E40247 | Retrying transactions is not allowed |
E40248 | Retrying transaction was after expiration time |
E40249 | Bad transaction retry sequence |
E40250 | Retrying transaction was too early |
E40251 | Retrying transaction is not allowed for previous retrying status |
E40252 | Wrong retry transaction data |
E40253 | Transaction retry does not exists |
E40254 | PAYID Alias is required for given transaction |
E40255 | Declined by TAS |
E40256 | Declined by user |
E40257 | Declined by SEC |
E40258 | System ERROR |
E40259 | General ERROR |
E40260 | Insufficient funds on user account |
E40261 | TIMEOUT |
E40262 | Transaction limit exceeded |
E40263 | User timeout |
E40264 | Declined by issuer |
E40265 | AM_TIMEOUT |
E40266 | Alias was declined |
E40267 | Unknown error |
E40268 | Unknown network error |
E40269 | Network error of chosen payment system |
E40270 | Access prohibited. Wrong login or not enough permissions for requested information |
E40271 | Incorrect signature of request |
E40272 | Invoice rejected by merchant |
E40273 | Invoice expired |
E40274 | Payment system refusal |
E40275 | Refund is not possible |
E40276 | Refund amount exceeded |
E40277 | Identifier not found |
E40278 | New request with the same nonce |
E40279 | Payment expired |
E40280 | Error simulated via merchant’s request |
E40281 | Refused by payer |
E40282 | Incorrect payment amount |
E40283 | Insufficient funds |
E40284 | Internal error. Refresh the page |
E40285 | Payment system authorization failed |
E40286 | 3D Secure authorization failed |
E40287 | Invalid card number |
E40288 | Card expired |
E40289 | Card blocked |
E40290 | Amount limit exceeded |
E40291 | Quantity limit exceeded |
E40292 | Invalid operation |
E40300 | Unable to get details about created transaction |
E40301 | Unable to capture transaction |
E40302 | Unable to void created transaction |
E40303 | Unknown transaction status |
E40304 | Unable to create transaction |
E40305 | Unable to create transaction refund |
E40306 | Unauthorized request |
E40307 | Unsupported payment method channel |
E40308 | Unsupported payment method |
E40309 | Invalid payment configuration |
E40310 | Check-status request failed |
E40311 | Transaction cancel feature was not implemented |
E40312 | Unknown transaction status |
E40313 | Transaction check-status limit is exceeded |
E40314 | Callback input data is invalid |
E40315 | Unknown transaction |
E40316 | Pending transaction check-status strategy is missing |
E40317 | Transaction capture feature was not implemented |
E40318 | Identifier of transaction to refund param was missed |
E40319 | Refund transaction request was failed |
E40320 | Refund attempt number is exceeded |
E40321 | Deferred refund input is not valid |
E40322 | Returned transaction data does not match trx data |
E40323 | No customer account found by provided credentials |
E40324 | Customer limit exceeded. |
E40325 | Top-up limit exceeded. |
E40326 | Payout amount is below minimum payout amount of the merchant. |
E40327 | My paysafecard account not found on original transaction |
E40328 | Customer not active. |
E40329 | Customer yearly payout limit exceeded. |
CT0001 | Expired payment. Stuck on verification. |
CT0002 | Expired payment. Stuck on psp transaction created. |
CT0003 | Expired payment. Stuck on rejected authorisation. |
C00001 | Error during psp request |
C00002 | Psp declines payment |
C00003 | Error during mpi enrollment request |
C00004 | Error during mpi authentication request |
C00005 | Mpi enrollment request timeout |
C00006 | Technical error |
C00007 | Error during authorisation |
C00008 | Psp request timeout |
C00009 | Uncategorized error during psp request |
C00010 | Conflict (409) returned by provider |
C00011 | Internal error. Unable to handle psp response. See logs. |
C00012 | Mpi authentication request timeout |
CR0001 | Payment declined by fraud service |
C00013 | Transaction not found on psp |
C00014 | Error during verification server request |
C00015 | Error during versioning request |
C00016 | Error during authentication request |
C00017 | Versioning request timeout |
C00018 | Authentication request timeout |
C00019 | Authentication failed |
C00020 | Authentication failed |
C00021 | Error during processing transaction |
C10001 | Unable to determine provider |
C10002 | Inconsistent configuration |
C10003 | Invalid amount |
C10004 | Unable to determine provider |
C10005 | Unable to determine provider |
C10006 | Unable to determine provider |
C20087 | Card type not supported in 3DS |
C40087 | Update card or cardholder data before reattempt |
C40088 | Try again later |
C50001 | First transaction not found |
C50002 | First transaction invalid state |
C50003 | First transaction service target not matched |
C50004 | First transaction card token not matched |
C50005 | Unable to validate first transaction |
C50006 | First transaction missing data |
C50007 | Technical error |
C30M69 | Technical error |
C30M68 | Authentication process timed out |
C30M66 | Technical error |
C30M65 | Technical error |
C30M64 | Technical error |
C30M63 | Technical error |
C30M50 | An error occurred during the 3D secure process |
C30M39 | Technical error |
C30M38 | The transaction has been denied by the Gateway because 3D secure Authentication failed. |
C30M37 | Technical error |
C30M36 | Technical error |
C30M35 | Technical error |
C30M33 | Technical error |
C30M32 | Technical error |
C30M30 | Transaction Failed due to error in 3D secure process |
C30M20 | Processor authentication error. |
C30M17 | Technical error |
C30M16 | Technical error |
C30M15 | Technical error |
C30M13 | Technical error |
C30M12 | Technical error |
C30M11 | Format Error |
C30M10 | Internal server error. |
C30M09 | The parameter is malformed. |
C30M08 | The Package Signature is malformed. |
C30M07 | Incorrect Gateway Response. Connection is broken. |
C30001 | The transaction has been denied by the Gateway. |
C30002 | Technical error |
C30003 | Technical error |
C30004 | The transaction has been denied by the Gateway due to an interchange timeout. |
C30005 | The transaction has been declined. |
C30006 | Transaction pending cardholder authentication. |
C30009 | Technical error |
C30010 | The transaction has been partially approved. |
C30011 | The queried transaction is currently being processed. |
C30013 | Technical error |
C30015 | Technical error |
C40001 | Refer to card issuer |
C40003 | Technical error |
C40004 | Technical error |
C40005 | Do not honor |
C40006 | General error |
C40007 | Technical error |
C40008 | Honor with identification |
C40012 | Invalid transaction |
C40013 | Invalid transaction amount |
C40014 | Invalid card number |
C40015 | No such issuer |
C40030 | Format error |
C40041 | Merchant should retain card (card reported lost) |
C40043 | Merchant should retain card (card reported stolen) |
C40046 | Closed Card Account |
C40051 | Insufficient funds |
C40054 | Expired card |
C40055 | Incorrect PIN |
C40057 | Transaction not permitted to cardholder |
C40058 | Technical error |
C40059 | Suspected transaction. Contact Your Bank |
C40061 | Exceeds approval amount limit |
C40062 | Restricted Card |
C40063 | Technical error |
C40065 | Exceeds withdrawal frequency limit |
C40075 | Allowable number of PIN-entry tries exceeded |
C40078 | Blocked or card not activated |
C40089 | Account Closed – Do not try again |
C40090 | Cutoff is in process |
C40091 | Issuer unavailable or switch inoperative |
C40093 | Technical error |
C40094 | Duplicate transaction |
C40096 | System malfunction, System malfunction or certain field error conditions |
C400N0 | Unable to authorize / CVV2 failure |
C400O5 | Soft decline (SCA required) |
C3PM14 | At least one of the input parameters is missing. Parameter [X] is missing. |
C3PM09 | Transaction failed due to too many requests. |
C3PM18 | Payment Method not allowed for this merchant. |
C3PM20 | Operation not allowed for this merchant |
C3PM21 | Invalid Payment Method |
C3PM22 | Payment Method missing. |
C3PM50 | Transaction Amount not within pre-defined threshold. |
C3PM52 | Transaction Amount exceeds or does not match the Transaction amount referenced in the request. |
C3PM53 | Amount exceeds the Transaction Amount referenced in the request |
C3PM55 | The grand total amount does not match the item total amount. |
C3PM64 | The operation on the transaction referenced in the request has already been executed successful |
C3PM66 | Referral operation not allowed. |
C3PM67 | Could not find the original transaction. Make sure that it exists and that its details were transmitted correctly |
C3PM80 | Technical error |
CR0004 | Technical error |
C20001 | Card authentication failed |
C20002 | Unknown Device |
C20003 | Unsupported Device |
C20004 | Exceeds authentication frequency limit |
C20005 | Expired card |
C20006 | Invalid card number |
C20007 | Invalid transaction |
C20008 | No Card record |
C20009 | Technical error |
C20010 | Stolen card |
C20011 | Suspected fraud |
C20012 | Transaction not permitted to cardholder |
C20013 | Cardholder not enrolled in service |
C20014 | Transaction timed out / Abandoned transaction |
C20015 | Technical error |
C20016 | Technical error |
C20017 | Technical error |
C20018 | Technical error |
C20019 | Exceeds ACS maximum challenges |
C20020 | Non-Payment transaction not supported |
C20021 | Technical error |
C20022 | ACS technical issue |
C20023 | Decoupled Authentication required by ACS but not requested by 3DS Requestor |
C20024 | 3DS Requestor Decoupled Max Expiry Time exceeded |
C20025 | Decoupled Authentication was provided insufficient time to authenticate cardholder. ACS will not make attempt |
C20026 | Authentication attempted but not performed by the cardholder |
C20101 | 3DS Authentication Error |
C20102 | 3DS Authentication Error |
C20103 | 3DS Authentication Error |
C20201 | 3DS Authentication Error |
C20202 | 3DS Authentication Error |
C20203 | 3DS Authentication Error – Invalid data |
C20204 | 3DS Authentication Error – Duplicate Data Element |
C20301 | 3DS Authentication Error |
C20302 | 3DS Authentication Error |
C20303 | 3DS Authentication Error |
C20304 | 3DS Authentication Error – ISO Code Invalid |
C20305 | 3DS Authentication Error |
C20306 | 3DS Authentication Error – Invalid Merchant Category Code (MCC) |
C20307 | 3DS Authentication Error – Serial Number Not Valid |
C20402 | 3DS Authentication Error – Time Out |
C20403 | 3DS Authentication Error |
C20404 | 3DS Authentication Error |
C20405 | 3DS Authentication Error |
E40330 | Transaction failed, please refer to issuer |
E40331 | Message format error |
E40333 | Transaction does not exist / Abandoned transaction |
E40334 | Original transaction does not exist or state is incorrect |
E40337 | Invalid card number |
E40339 | Wrong PIN, expiry date or CVN2 |
E40340 | Wrong cardholder ID information, mobile phone number or CVN2 |
E40341 | You have entered your PIN too many times |
E40342 | Your card does not support this service |