# Overview

<span style="color: #1c1e3f;">Verestro Card Management System is called ANTACA. The platform provides solutions for creating and managing users' accounts (called "balances"), processing eKYC (user authentication process) and issuing payment cards generated for them. </span>

<span style="color: #1c1e3f;">CMS Antaca provides dedicated services for:</span>

- <span style="color: #1c1e3f;">end-user mobile applications,</span>
- <span style="color: #1c1e3f;">server-to-server connections helpful in integration with existing customer databases,</span>
- <span style="color: #1c1e3f;">administrative panel, necessary from the point of view of financial institutions in the process of issuing cards and managing their clients' funds.</span>

<span style="color: #1c1e3f;">CMS Antaca supports all necessary use cases for various digital and plastic card issuing. It supports integration with multiple issuing processors and can be connected with the one chosen by Verestro partner. </span>

### <span style="color: #1c1e3f;">Introduction to Card Issuing process</span>

<span style="color: #1c1e3f;">With the CMS Antaca you can offer your customers two types of cards:</span>

1. <span style="color: #1c1e3f;">Virtual card - Digital card without any physical components.</span>
2. <span style="color: #1c1e3f;">Physical card – The traditional plastic payment card.</span>

<span style="color: #1c1e3f;">To be able to issue a card for a user, 4 requirements must be met:</span>

1. <span style="color: #1c1e3f;">You have to integrated with Verestro platform using JWE token (described below) or [other integration methods (API, SDK, White Label)](https://developer.verestro.com/books/introduction/page/integration-with-verestro).</span>
2. <span style="color: #1c1e3f;">User must exist in Verestro database called DataCore. Make sure you register user via[ User Lifecycle API &amp; SDK](https://developer.verestro.com/books/user-lifecycle-card-management-api-sdk).</span>
3. <span style="color: #1c1e3f;">User must be strongly verified according to KYC. You can use Verestro KYC (see below) or own KYC process.</span>
4. <span style="color: #1c1e3f;">The user must have a User Balance under which the card will be generated.</span>

<span style="color: #1c1e3f;">After those 4 steps you can issue a card for the User.</span>

<span style="color: #1c1e3f;">Below we describe this process step by step:</span>

- <span style="color: #1c1e3f;">Step 1. Configuration &amp; JWE Security,</span>
- <span style="color: #1c1e3f;">Step 2. User Lifecycle API &amp; SDK,</span>
- <span style="color: #1c1e3f;">Step 3. User registration &amp; KYC,</span>
- <span style="color: #1c1e3f;">Step 4. Create User Balance (account),</span>
- <span style="color: #1c1e3f;">Step 5. Card issuing.</span>


### <span style="color: #1c1e3f;">Terminology</span>

<table border="1" id="bkmrk-name-description-cus" style="border-collapse: collapse; width: 100%; height: 1404.4px;"><tbody><tr style="height: 49.2px;"><td bgcolor="#1C1E3F" style="width: 21.1605%;" width="353"><span style="color: #ecf0f1;">**Name**</span>  
</td><td bgcolor="#1C1E3F" style="width: 78.9383%;" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td></tr><tr style="height: 80px;"><td style="width: 21.1605%; height: 80px;"><span style="color: #1c1e3f;">Customer</span></td><td style="width: 78.9383%; height: 80px;"><span style="color: #1c1e3f;">Institution which is using Verestro products. This institution decides which SDK should be used and how transaction should be processed. Basicly Customer can be called Verestro client.</span></td></tr><tr style="height: 147.2px;"><td style="width: 21.1605%; height: 147.2px;"><span style="color: #1c1e3f;">User</span></td><td style="width: 78.9383%; height: 147.2px;"><span style="color: #1c1e3f;">User which is using Payment Hub Application. It is root of entity tree. User is identified in Wallet Server by some unique identifier which is provided after registration. User can have access to his data and operations based on session. User’s session is created after device pairing is performed. When session expires then user authentication have to be performed. Session is valid 10 minutes, however it is configurable parameter.</span></td></tr><tr style="height: 80px;"><td style="width: 21.1605%; height: 80px;"><span style="color: #1c1e3f;">Card</span></td><td style="width: 78.9383%; height: 80px;"><span style="color: #1c1e3f;">Card belongs to the user. User can have many cards. Card is identified via internal id given after storing card on Wallet Server. Whole PAN is stored on Wallet Server which has PCI DSS certificate.</span></td></tr><tr style="height: 113.6px;"><td style="width: 21.1605%; height: 113.6px;"><span style="color: #1c1e3f;">Device</span></td><td style="width: 78.9383%; height: 113.6px;"><span style="color: #1c1e3f;">Device belongs to user. When user starts using application after installation then device pairing is performed. After pairing device with some unique id, unique device installation id is generated and this installation is assigned to user. It is possible to have one active installation on specific device for specific user.</span></td></tr><tr style="height: 113.6px;"><td style="width: 21.1605%; height: 113.6px;"><span style="color: #1c1e3f;">Session Token</span></td><td style="width: 78.9383%; height: 113.6px;"><span style="color: #1c1e3f;">Token which defines User. It is an authorization way of the User. This entity is created after paring device and this is needed to perform any actions in the application. When session is expired then user authentication needs to be performed. Session is valid 10 minute s, however it is configurable parameter.</span></td></tr><tr style="height: 46.4px;"><td style="width: 21.1605%; height: 46.4px;"><span style="color: #1c1e3f;">Sender</span></td><td style="width: 78.9383%; height: 46.4px;"><span style="color: #1c1e3f;">Verestro Wallet user which triggers transaction to the Receiver (check User description).</span></td></tr><tr style="height: 197.6px;"><td style="width: 21.1605%; height: 197.6px;"><span style="color: #1c1e3f;">Receiver</span></td><td style="width: 78.9383%; height: 197.6px;"><span style="color: #1c1e3f;">Receiver can be identified in Wallet Server (Internal) or may be an entity that does not exist in Wallet Server (External).</span>

<span style="color: #1c1e3f;">◦ Internal – this type of Receiver has his own unique identifier just like sender. It can also act as a Sender in the transaction process,</span>

<span style="color: #1c1e3f;">◦ External – this type of Receiver does not exist in Wallet Server. Transfers that are made to this type of Receiver require the entering of his card data by Sender.</span>

</td></tr><tr style="height: 96.8px;"><td style="width: 21.1605%; height: 96.8px;"><span style="color: #1c1e3f;">Mid</span></td><td style="width: 78.9383%; height: 96.8px;"><span style="color: #1c1e3f;">Merchant identifier. This entity is representing Merchant in Acquirer’s system. Customer have to provide the mid information to enable mid configuration in the Verestro system. Required to process 3DS authentication via Verestro System.</span></td></tr><tr style="height: 96.8px;"><td style="width: 21.1605%; height: 96.8px;"><span style="color: #1c1e3f;">Acquirer</span></td><td style="width: 78.9383%; height: 96.8px;"><span style="color: #1c1e3f;">External institution responsible for processing transaction and 3ds requests ordered by the Verestro Payment Hub App. Acquirer connects with banks / card issuers and returns information whether the ordered action on a given card is possible.</span></td></tr><tr style="height: 63.2px;"><td style="width: 21.1605%; height: 63.2px;"><span style="color: #1c1e3f;">PAN</span></td><td style="width: 78.9383%; height: 63.2px;"><span style="color: #1c1e3f;">(Primary Account Number) It is 14-19 (usually 16) digits number which is a unique identifier of the payment card issued to the customer's account.</span></td></tr><tr style="height: 80px;"><td style="width: 21.1605%; height: 80px;"><span style="color: #1c1e3f;">Wallet Server</span></td><td style="width: 78.9383%; height: 80px;"><span style="color: #1c1e3f;">Provides the backend services to support Mobile Payment Application via Verestro Wallet SDK and is responsible for managing users, devices, cards , device tokens, storing transactions history and communication with Acquirers.</span>  
</td></tr><tr style="height: 96.8px;"><td style="width: 21.1605%; height: 96.8px;"><span style="color: #1c1e3f;">PCI DSS</span></td><td style="width: 78.9383%; height: 96.8px;"><span style="color: #1c1e3f;">PCI DSS (Payment Card Industry Data Security Standard) is a security standard used in environments where the data of payment cardholders is processed. The standard covers meticulous data processing control and protection of users against violations.</span></td></tr><tr style="height: 113.6px;"><td style="width: 21.1605%; height: 113.6px;"><span style="color: #1c1e3f;">IBAN</span></td><td style="width: 78.9383%; height: 113.6px;"><span style="color: #1c1e3f;">IBAN (International Bank Account Number) is an international standard for bank account numbering that allows you to transfer funds to foreign accounts and to receive transfers from foreign entities to domestic bank accounts. One of the assumptions of the IBAN standard is to simplify the system of cross-border transfers.</span></td></tr><tr style="height: 29.6px;"><td style="width: 21.1605%; height: 29.6px;"><span style="color: #1c1e3f;">QR</span></td><td style="width: 78.9383%; height: 29.6px;"><span style="color: #1c1e3f;">A QR code (quick response code) is a two-dimensional barcode. [Check here for more details.](https://en.wikipedia.org/wiki/QR_code)</span>

</td></tr></tbody></table>

## <span style="color: #1c1e3f;">Configuration &amp; JWE Security</span>

<span style="color: #1c1e3f;">To start the implementation, it is necessary to configure the payment processor. If we are using issuing processors already integrated with Verestro the process is simple and after quick information gathering (name of partner, BIN range, currency, remoteURL) a new card program can be setup for our partner. </span>

<span style="color: #1c1e3f;">You can communicate with the CMS Antaca API in three different dedicated channels:</span>

1. <span style="color: #1c1e3f;">Mobile Application - Methods strarting with /Customers : designed for the mobile applications that use a session token sent in the header of each request. More about the possibilities of generating these tokens in the section [White Label Application Overview](https://developer.verestro.com/books/white-label-application/page/overview).</span>
2. <span style="color: #1c1e3f;">Server-to-server - methods starting with /Secure : this communication channel is protected by the x509 certificate. To start an implementation based on this communication channel, it is necessary to generate your own CSR and send it to Verestro. Verestro will sign it and return a valid certification in a response.</span>
3. <span style="color: #1c1e3f;">Administrator and Customer Service (rarely used by partners) - methods starting with /admin : designed for the administration panel provided by Verestro.</span>

### <span style="color: #1c1e3f;">Additional data encryption &amp; integration</span>

<span style="color: #1c1e3f;">Some requests and responses contain sensitive data, to additionally secure the connection we require JSON Web Encryption (JWE).</span>

<div bis_size="{"x":150,"y":2884,"w":840,"h":346,"abs_x":500,"abs_y":3097}" class="table-wrap" id="bkmrk-normal-encrypted-som"><table border="1" class="wrapped confluenceTable tablesorter tablesorter-default stickyTableHeaders" role="grid" style="border-collapse: collapse; width: 100%; border-color: #000000;"><colgroup><col></col><col></col><col></col></colgroup><thead class="tableFloatingHeaderOriginal"><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">  
</th><th aria-disabled="false" aria-label="normal: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div bis_size="{"x":438,"y":2890,"w":263,"h":16,"abs_x":788,"abs_y":3103}" class="tablesorter-header-inner"><span style="color: #1c1e3f;">normal</span></div></th><th aria-disabled="false" aria-label="encrypted: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div bis_size="{"x":717,"y":2890,"w":263,"h":16,"abs_x":1067,"abs_y":3103}" class="tablesorter-header-inner"><span style="color: #1c1e3f;">encrypted</span></div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd"><span style="color: #1c1e3f;">Example of request with sensitive data.</span></td><td class="confluenceTd"><div bis_size="{"x":438,"y":2920,"w":263,"h":101,"abs_x":788,"abs_y":3133}" class="content-wrapper">  
<div bis_size="{"x":438,"y":2941,"w":263,"h":80,"abs_x":788,"abs_y":3154}" class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"><div bis_size="{"x":438,"y":2941,"w":263,"h":80,"abs_x":788,"abs_y":3154}" class="codeContent panelContent pdl"><div bis_size="{"x":438,"y":2941,"w":263,"h":80,"abs_x":788,"abs_y":3154}"><div bis_size="{"x":438,"y":2941,"w":263,"h":80,"abs_x":788,"abs_y":3154}" class="syntaxhighlighter sh-confluence nogutter  js" id="bkmrk-%7B-%C2%A0%C2%A0%22cardno%22%3A%C2%A0%2255554"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div bis_size="{"x":447,"y":2948,"w":245,"h":67,"abs_x":797,"abs_y":3161}" class="container" title="Hint: double-click to select code"><div bis_size="{"x":463,"y":2948,"w":213,"h":16,"abs_x":813,"abs_y":3161}" class="line number1 index0 alt2"><span style="color: #1c1e3f;">`{`</span></div><div bis_size="{"x":463,"y":2964,"w":213,"h":33,"abs_x":813,"abs_y":3177}" class="line number2 index1 alt1"><span style="color: #1c1e3f;">`  ``"cardNo"``: ``"5555444455554444"`</span></div><div bis_size="{"x":463,"y":2998,"w":213,"h":16,"abs_x":813,"abs_y":3211}" class="line number3 index2 alt2"><span style="color: #1c1e3f;">`}`</span></div></div></td></tr></tbody></table>

</div></div></div></div></div></td><td class="confluenceTd"><div bis_size="{"x":718,"y":2924,"w":263,"h":80,"abs_x":1068,"abs_y":3137}" class="content-wrapper"><div bis_size="{"x":718,"y":2924,"w":263,"h":80,"abs_x":1068,"abs_y":3137}" class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"><div bis_size="{"x":718,"y":2924,"w":263,"h":80,"abs_x":1068,"abs_y":3137}" class="codeContent panelContent pdl"><div bis_size="{"x":718,"y":2924,"w":263,"h":80,"abs_x":1068,"abs_y":3137}"><div bis_size="{"x":718,"y":2924,"w":263,"h":80,"abs_x":1068,"abs_y":3137}" class="syntaxhighlighter sh-confluence nogutter  js" id="bkmrk-%7B-%C2%A0%C2%A0%22payload%22%3A%C2%A0%22very"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div bis_size="{"x":726,"y":2931,"w":245,"h":67,"abs_x":1076,"abs_y":3144}" class="container" title="Hint: double-click to select code"><div bis_size="{"x":742,"y":2931,"w":213,"h":16,"abs_x":1092,"abs_y":3144}" class="line number1 index0 alt2"><span style="color: #1c1e3f;">`{`</span></div><div bis_size="{"x":742,"y":2948,"w":213,"h":33,"abs_x":1092,"abs_y":3161}" class="line number2 index1 alt1"><span style="color: #1c1e3f;">`  ``"payload"``: ``"very long JWE token"`</span></div><div bis_size="{"x":742,"y":2981,"w":213,"h":16,"abs_x":1092,"abs_y":3194}" class="line number3 index2 alt2"><span style="color: #1c1e3f;">`}`</span></div></div></td></tr></tbody></table>

</div></div></div></div></div></td></tr><tr role="row"><td class="confluenceTd"><span style="color: #1c1e3f;">Example ofresponse with sensitive data.</span></td><td class="confluenceTd"><div bis_size="{"x":438,"y":3058,"w":263,"h":147,"abs_x":788,"abs_y":3271}" class="content-wrapper"><div bis_size="{"x":438,"y":3058,"w":263,"h":147,"abs_x":788,"abs_y":3271}" class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"><div bis_size="{"x":438,"y":3058,"w":263,"h":147,"abs_x":788,"abs_y":3271}" class="codeContent panelContent pdl"><div bis_size="{"x":438,"y":3058,"w":263,"h":147,"abs_x":788,"abs_y":3271}"><div bis_size="{"x":438,"y":3058,"w":263,"h":147,"abs_x":788,"abs_y":3271}" class="syntaxhighlighter sh-confluence nogutter  js" id="bkmrk-%7B-%C2%A0%C2%A0%22id%22%3A-1125%2C-%C2%A0%C2%A0%22t"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div bis_size="{"x":447,"y":3064,"w":245,"h":134,"abs_x":797,"abs_y":3277}" class="container" title="Hint: double-click to select code"><div bis_size="{"x":463,"y":3064,"w":213,"h":16,"abs_x":813,"abs_y":3277}" class="line number1 index0 alt2"><span style="color: #1c1e3f;">`{`</span></div><div bis_size="{"x":463,"y":3081,"w":213,"h":16,"abs_x":813,"abs_y":3294}" class="line number2 index1 alt1"><span style="color: #1c1e3f;">`  ``"id"``: 1125,`</span></div><div bis_size="{"x":463,"y":3098,"w":213,"h":16,"abs_x":813,"abs_y":3311}" class="line number3 index2 alt2"><span style="color: #1c1e3f;">`  ``"type"``: ``"1125"``,`</span></div><div bis_size="{"x":463,"y":3115,"w":213,"h":16,"abs_x":813,"abs_y":3328}" class="line number4 index3 alt1"><span style="color: #1c1e3f;">`  ``"cvv"``: ``"123"``,`</span></div><div bis_size="{"x":463,"y":3131,"w":213,"h":33,"abs_x":813,"abs_y":3344}" class="line number5 index4 alt2"><span style="color: #1c1e3f;">`  ``"cardNo"``: ``"5555444455554444"``,`</span></div><div bis_size="{"x":463,"y":3165,"w":213,"h":16,"abs_x":813,"abs_y":3378}" class="line number6 index5 alt1"><span style="color: #1c1e3f;">`  ``"exp"``: ``"2026-01-31"`</span></div><div bis_size="{"x":463,"y":3182,"w":213,"h":16,"abs_x":813,"abs_y":3395}" class="line number7 index6 alt2"><span style="color: #1c1e3f;">`}`</span></div></div></td></tr></tbody></table>

</div></div></div></div></div></td><td class="confluenceTd"><div bis_size="{"x":718,"y":3058,"w":263,"h":80,"abs_x":1068,"abs_y":3271}" class="content-wrapper"><div bis_size="{"x":718,"y":3058,"w":263,"h":80,"abs_x":1068,"abs_y":3271}" class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"><div bis_size="{"x":718,"y":3058,"w":263,"h":80,"abs_x":1068,"abs_y":3271}" class="codeContent panelContent pdl"><div bis_size="{"x":718,"y":3058,"w":263,"h":80,"abs_x":1068,"abs_y":3271}"><div bis_size="{"x":718,"y":3058,"w":263,"h":80,"abs_x":1068,"abs_y":3271}" class="syntaxhighlighter sh-confluence nogutter  js" id="bkmrk-%7B-%C2%A0%C2%A0%22payload%22%3A%C2%A0%22very-0"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div bis_size="{"x":726,"y":3064,"w":245,"h":67,"abs_x":1076,"abs_y":3277}" class="container" title="Hint: double-click to select code"><div bis_size="{"x":742,"y":3064,"w":213,"h":16,"abs_x":1092,"abs_y":3277}" class="line number1 index0 alt2"><span style="color: #1c1e3f;">`{`</span></div><div bis_size="{"x":742,"y":3081,"w":213,"h":33,"abs_x":1092,"abs_y":3294}" class="line number2 index1 alt1"><span style="color: #1c1e3f;">`  ``"payload"``: ``"very long JWE token"`</span></div><div bis_size="{"x":742,"y":3115,"w":213,"h":16,"abs_x":1092,"abs_y":3328}" class="line number3 index2 alt2"><span style="color: #1c1e3f;">`}`</span></div></div></td></tr></tbody></table>

</div></div></div></div></div></td></tr></tbody></table>

</div>### <span style="color: #1c1e3f;">JWE configuration</span>

<span style="color: #1c1e3f;">To setup connection we need from you enc and alg from JWE parameters. Acceptable values are:</span>

- <span style="color: #1c1e3f;">Algorithm used by Verestro to encipher content of message (enc) - A256GCM,</span>
- <span style="color: #1c1e3f;">Algorithm used by Verestro to encipher encryption key (alg) - RSA-OAEP-256,</span>
- <span style="color: #1c1e3f;">Algorithm needed from you to encipher content of message (enc) - A256GCM,</span>
- <span style="color: #1c1e3f;">Allowed algorithms for key encryption (alg) - RSA-OAEP-256 or RSA-OAEP.</span>

<span style="color: #1c1e3f;">Recommended JWE libraries for various programming languages:</span>

- <span style="color: #1c1e3f;">[PHP](https://web-token.spomky-labs.com/),</span>
- <span style="color: #1c1e3f;">[JAVA](https://connect2id.com/products/nimbus-jose-jwt).</span>

<span style="color: #1c1e3f;">Request</span>

<span style="color: #1c1e3f;">To process encrypted message you need to perform a few additional steps on top of standard message processing:</span>

- <span style="color: #1c1e3f;">Add headlines:</span>
    - <span style="color: #1c1e3f;">**Public-Key** through which you can transfer to us your public key encoded b64 (more details below),</span>
    - <span style="color: #1c1e3f;">**Encrypted-Request** headline confirming message encryption in both directions or **Encrypt-Response** when you need to get the encrypted response only; value true or false,</span>
- <span style="color: #1c1e3f;">Download Verestro Public Key - see in technical API specs on which endpoint,</span>
- <span style="color: #1c1e3f;">Use Verestro Public Key to create JWE and transfer data table in payload,</span>
- <span style="color: #1c1e3f;">Use token (string) received in Verestro response in point 3 below key encryption key in payload.</span>

<div bis_size="{"x":150,"y":3826,"w":840,"h":22,"abs_x":500,"abs_y":4039}" id="bkmrk-dodatkowe-info"><span style="color: #1c1e3f;">Additional information:</span></div><div bis_size="{"x":150,"y":3853,"w":840,"h":44,"abs_x":500,"abs_y":4066}" id="bkmrk-dla-metod-typu-get-p"><div bis_size="{"x":150,"y":3853,"w":840,"h":44,"abs_x":500,"abs_y":4066}">- <span style="color: #1c1e3f;">for GET methods avoid point 2, 3, 4 above (headlines mentioned in point 1 are still necessary),</span>
- <span style="color: #1c1e3f;">for empty POST methods (without "body") use same rules as for GET message.<s>  
    </s></span>

</div></div><span style="color: #1c1e3f;">Response</span>

<span style="color: #1c1e3f;">After sending to CMS Antaca encrypted request you will receive from us encrypted message:</span>

1. <span style="color: #1c1e3f;">Decipher token, which can be found in response below payload key (use your private key to perform this action),</span>
2. <span style="color: #1c1e3f;">After decipher action you can see response in unencrypted form.</span>

<div bis_size="{"x":150,"y":4064,"w":840,"h":0,"abs_x":500,"abs_y":4277}" id="bkmrk-odszyfruj-token%2C-kt%C3%B3"></div><span style="color: #1c1e3f;">Additional information:</span>

<div bis_size="{"x":150,"y":4106,"w":840,"h":156,"abs_x":500,"abs_y":4319}" id="bkmrk-odpowiedzi-szyfrujem">- <span style="color: #1c1e3f;">Response are encrypted only in case of success - HTTP 20X,</span>
- <span style="color: #1c1e3f;">The only exception from the above mentioned rule is code 204 No content,</span>
- <span style="color: #1c1e3f;">In case of errors (i.e. validation errors) you will receive unencrypted response,</span>  
    
    - <span style="color: #1c1e3f;">ENCRYPTION\_REQUIRED,</span>
    - <span style="color: #1c1e3f;">INVALID\_PUBLIC\_KEY,</span>
    - <span style="color: #1c1e3f;">INVALID\_PAYLOAD,</span>
    - <span style="color: #1c1e3f;">CANT\_DECRYPT\_PAYLOAD.</span>

</div><span style="color: #1c1e3f;">Example request:</span>

<div bis_size="{"x":150,"y":4323,"w":840,"h":562,"abs_x":500,"abs_y":4536}" id="bkmrk-co-mia%C5%82o-zosta%C4%87-wys%C5%82"><div bis_size="{"x":150,"y":4323,"w":840,"h":562,"abs_x":500,"abs_y":4536}"><div bis_size="{"x":150,"y":4323,"w":840,"h":562,"abs_x":500,"abs_y":4536}" class="table-wrap"><table border="1" class="fixed-table wrapped confluenceTable tablesorter tablesorter-default stickyTableHeaders" role="grid" style="border-collapse: collapse; width: 100%; border-color: #000000;"><colgroup><col></col><col></col><col></col></colgroup><thead class="tableFloatingHeaderOriginal"><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Co miało zostać wysłane: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div bis_size="{"x":158,"y":4329,"w":263,"h":16,"abs_x":508,"abs_y":4542}" class="tablesorter-header-inner"><span style="color: #1c1e3f;">Correct request</span></div></th><th aria-disabled="false" aria-label="Co zostało wysłane: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div bis_size="{"x":438,"y":4329,"w":263,"h":16,"abs_x":788,"abs_y":4542}" class="tablesorter-header-inner"><span style="color: #1c1e3f;">Sent request (incorrect)</span></div></th><th aria-disabled="false" aria-label="Co dotarło do naszego api (po odszyfrowaniu kluczem prywatnym): No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div bis_size="{"x":717,"y":4329,"w":263,"h":33,"abs_x":1067,"abs_y":4542}" class="tablesorter-header-inner"><span style="color: #1c1e3f;">Received by CMS Antaca (after decipher action with private key)</span></div></th></tr></thead><thead class="tableFloatingHeader"></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">```
{"card_no" : 1337}
```

</td><td class="confluenceTd"><span style="color: #1c1e3f;">{"payload" : "eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0.rdUrW12XCZQgLFDJ-2zAHWYYnaAanctceE1-Y6yJUplX0B2dLu-bvYOEJ83KxxUs-ZjA41R4PmAVilx1cTF4pv-7CZR0\_ki85XRATBYF2-MvZdcC81fHy2QPU\_ZsAEWAW00a1wKJmuEsgPB2m1aLZ7oK4fC1hciep4PyAtuWQRYHjhNb-UDT41\_gDKTbnSGTwheL7S0mAJ\_HsKfnZFHYUrM77UcxQGZKnH7Mzqvndf9THiMo0-3MWliYFDAm1bqN2\_KTIoBNCprYjFnyIXPCjib73bjWX\_P2ip5Ul84cngbQmFVzc7o91JrpJvYou1INS7zL4XKLFcADN4nZ\_9ePWsm5\_kX5SOMyUyEhOC9gusrLNAJ0MHaIFHni8WqnMAWM3\_MC4OQDYetKax5bnHK6x42\_5eFaf6ZmzmioKny5aGm-4Vo8TEu691FmPxglhyenWlMhvBvf6ZeVsy58Ofr0mi3TXjwYbAyas7m6sncxZu1FhEJ4da6gtNjmjuKdikOOntu8V71QQ07nczNqfGlUv0RcUc9uKJq5je4b9BEbK9WuQcroxmALqC4HTt1xhICHrVUA0d\_t3fglhS2n7wNaKKCFq70ZWIrpdTaBd35kdVQOEjZgCavSjbZOzgOzcEqS6P2Blm7bZ7ZZBmnfk8y8M4m0xWoQNTmLC6nqz9bSbME.UEryKNClDxQZpyWu.6Lw\_5CcZ9HiVxHfi\_XTAFw.pYbQ6tdmQYe1kiPonm1GhA"}</span></td><td class="confluenceTd">```
{"card_no" : 1337}
```

</td></tr></tbody></table>

</div></div></div><span style="color: #1c1e3f;">Example response:</span>

<div bis_size="{"x":150,"y":4947,"w":840,"h":697,"abs_x":500,"abs_y":5160}" id="bkmrk-co-powiniene%C5%9B-otrzym"><div bis_size="{"x":150,"y":4947,"w":840,"h":697,"abs_x":500,"abs_y":5160}" class="table-wrap"><table border="1" class="fixed-table wrapped confluenceTable tablesorter tablesorter-default stickyTableHeaders" role="grid" style="border-collapse: collapse; width: 100%; border-color: #000000;"><colgroup><col></col><col></col><col></col></colgroup><thead class="tableFloatingHeaderOriginal"><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Co powinieneś otrzymać: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div bis_size="{"x":158,"y":4953,"w":263,"h":16,"abs_x":508,"abs_y":5166}" class="tablesorter-header-inner"><span style="color: #1c1e3f;">Correct response</span></div></th><th aria-disabled="false" aria-label="Co wysłaliśmy: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div bis_size="{"x":438,"y":4953,"w":263,"h":16,"abs_x":788,"abs_y":5166}" class="tablesorter-header-inner"><span style="color: #1c1e3f;">Sent response by CMS Antaca</span></div></th><th aria-disabled="false" aria-label="Co otrzymałeś?: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div bis_size="{"x":717,"y":4953,"w":263,"h":16,"abs_x":1067,"abs_y":5166}" class="tablesorter-header-inner"><span style="color: #1c1e3f;">Received by you</span></div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">```
{"card_no" : 1338}
```

</td><td class="confluenceTd"><span style="color: #1c1e3f;">{"payload" : "eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0.iPmvEKtMAMrrEiR89vlwsL77ZfqxXrcMiy-bx3z6\_7HAo\_\_aQzBpMVDtLyj3kTHYWxen8bhPuVyebXyaIHL20sekFzcIFFzvaGoyQYU6zOK8tPv81tgixQe8SDnEr5v9VWBfiHxtPvqlpQIig2is5ynBkyqjdpQWEagR3MpqpATGl7f-omG82Jq0OwZByWI8I6P89hczwgK37F-MUnQDxcRUM3RagbHKNeIcfmPdJpNeqFZHe45y4wUkTWN0uzW72qydkN\_4uM9fy0nrUpgsJNbtJGAVIUVmDz4pIZkiI1zyGbfZX-PT7Wh9UNM06gEUf4i2goZY-m4wPB0n2zXvxzcEdfTH27iPp-aKiJjfJpYb\_ZnHyklk\_\_gZlAy9r7W0594dY-eBJ\_iUa5aeDsFS2TIfsfjMJsL8NRWY2noiTw5lsneD8dwvr6N\_rYcWoFXDyWXHoRitSSd2iYrB80gbeSOBW0wfKtPxNIZrR0uDhkE8FouS5Pk7QBw412kd43GtrEpAijqn3ne7MNUpCtuNfJ8e\_NdGDLTR7CSHhC0jfFlchpIvklF42o216NO-OnyJsjdv1w4\_w1ugs61fTHDl8lgBalOjOxauKwIvJJOyFdWmpjlXuzJhrray7ov25uh2ibvFv3Gfd2iuGUnLIZzYBOTT8ftGWTCGXTDvVOvzGbs.c3qMNb2Bne-7g0Wz.PInghFM6Q8Gn0p4Tlebig32s-ZrpLqTMqQDlpXLLYx0iq-StrKco\_HrjdN4MxondP4CicCgseIjcV8JR29jKYX-nqKdchEYq\_vVIzFHcNI\_Mx7y1el192QbMyx6b0Gbj5L79wpuB7qCUqTBNhJZ2c07PuyPsewcNwglvnc-OrA-2vL6lJnBi5ZGH8gBH1cZCgmbrMpZGNFPG3oFpOn9JPzmnvQxe9tvSFFj5989A8d\_XMHP-ZQ.dJZxnBRxJeMKswDsCA3cXA"}</span></td><td class="confluenceTd"><span style="color: #1c1e3f;">Check yourself by using Private Key included in the response.</span>

</td></tr></tbody></table>

</div></div>## <span style="color: #1c1e3f;">User Lifecycle API &amp; SDK</span>

<span style="color: #1c1e3f;">Once Verestro configured a project for your program and you are ready to authenticate with us using JWE token you will need to register users on our platform.</span>

<span style="color: #1c1e3f;">Please check the following components:</span>

- <span style="color: #1c1e3f;">If you want to integrate directly from mobile appliacations or integrate server-to-server - [User Lifecycle and Card Management API &amp;SDK](https://developer.verestro.com/books/user-lifecycle-card-management-api-sdk).</span>

## <span style="color: #1c1e3f;">User registration &amp; KYC</span>

<span style="color: #1c1e3f;">Once you registered users on our platform and would like to create accounts and issue cards for them you need to perform KYC. There are three alternative scenarios:</span>

- <span style="color: #1c1e3f;">You can use the Verestro KYC API in the verification process of your users.</span>
    - <span style="color: #1c1e3f;">Users can register from the level of the mobile application using the SDK method [/customers/me/register](https://developer.verestro.com/books/card-issuing-and-core-banking/page/technical-documentation).</span>
    - <span style="color: #1c1e3f;">You can also use a dedicated method in the server-to-server connection to initiate the verification of your users [/secure/customers/(customerid)/register](https://developer.verestro.com/books/card-issuing-and-core-banking/page/technical-documentation-4Wl).</span>
- <span style="color: #1c1e3f;">If you already have KYC verification process on your side, just update the KYC flag for the user using User Lifecycle &amp; Card Management API.</span>

<span style="color: #1c1e3f;">Once you registered users and performed KYC you can initiate account (called "balance") creation.</span>

## <span style="color: #1c1e3f;">Create User Balance</span>

<span style="color: #1c1e3f;">It is main account balance that is connected with user account and card. Main User Balance attributes are currency, balance value and balance state. In order to create User Balance make sure user got through KYC process. KYC process can be either manual or automated. It can be performed by partner or Verestro. It is highly recommended that User Balance is hold by Verestro but we can approve projects where partner holds User Balance.</span>

<span style="color: #1c1e3f;">In order to create any payment card at Verestro CMS you have to create User Balance first. Payment card issued for particular User Balance cannot be moved to another balance later.</span>

<span style="color: #1c1e3f;">There is an important rule - one user can have multiply balances and for every balance user can have multiply payment cards. </span>

<span style="color: #1c1e3f;">[![Diagram bez tytułu.jpg](https://developer.verestro.com/uploads/images/gallery/2023-01/scaled-1680-/diagram-bez-tytulu.jpg)](https://developer.verestro.com/uploads/images/gallery/2023-01/diagram-bez-tytulu.jpg)</span>


<span style="color: #1c1e3f;">To create User Balance use the following methods:</span>

- <span style="color: #1c1e3f;">in case of server-to-server connection [/secure/customers/(customerid)/balances](https://developer.verestro.com/books/card-issuing-and-core-banking/page/technical-documentation-4Wl),</span>
- <span style="color: #1c1e3f;">in case of integration through mobile application [/customers/me/balances](https://developer.verestro.com/books/card-issuing-and-core-banking/page/technical-documentation).</span>

<span style="color: #1c1e3f;">For more information about account / balance management please check technical APIs.</span>

## <span style="color: #1c1e3f;">Card issuing</span>

<span style="color: #1c1e3f;">With the Antaca API you can offer your customers three types of cards:</span>

- <span style="color: #1c1e3f;">Virtual card - Digital card without any physical components.</span>
- <span style="color: #1c1e3f;">Physical card – The traditional plastic payment card.</span>

<span style="color: #1c1e3f;">To be able to issue a card for a user, 3 requirements must be met:</span>

- <span style="color: #1c1e3f;">User must exist in a PCI DSS compliant **Data Core** system in Verestro. Make sure you register user via [User Lifecycle API &amp; SDK](https://developer.verestro.com/books/user-lifecycle-card-management-api-sdk).</span>
- <span style="color: #1c1e3f;">User must be strongly verified according to **KYC.** You can use Verestro KYC or own KYC process.</span>
- <span style="color: #1c1e3f;">The user must have a **User Balance** under which the card will be generated.</span>
- <span style="color: #1c1e3f;">After those 3 steps you can issue a card for the user.</span>

### <span style="color: #1c1e3f;">Virtual card</span>

<span style="color: #1c1e3f;">If the API receives the request, it will create a 16-digit PAN (Permanent Account Number), CVC2 (Card Verification Code), and Expiry Date. You can then deliver this information to your customer. </span>

<span style="color: #1c1e3f;">@startuml  
skinparam ParticipantPadding 30  
skinparam BoxPadding 30  
skinparam noteFontColor #FFFFFF  
skinparam noteBackgroundColor #1C1E3F  
skinparam noteBorderColor #1C1E3F  
skinparam noteBorderThickness 1  
skinparam sequence {  
ArrowColor #1C1E3F  
ArrowFontColor #1C1E3F  
ActorBorderColor #1C1E3F  
ActorBackgroundColor #FFFFFF  
ActorFontStyle bold  
ParticipantBorderColor #1C1E3F  
ParticipantBackgroundColor #1C1E3F  
ParticipantFontColor #FFFFFF  
ParticipantFontStyle bold  
LifeLineBackgroundColor #1C1E3F  
LifeLineBorderColor #1C1E3F  
}  
actor user as u  
participant "mobile app" as m  
participant antaca as a  
participant datacore as d  
participant "payment processor" as t  
u-&gt;m: 1. generate card  
m-&gt;a: 2. generate card(userID, SaldoID, configuration ID)  
a-&gt;t: 3. generate card(cardholder, terminal)  
t--&gt;a: 4. card data  
a-&gt;d: 5. store card  
d--&gt;a: 6. status  
a--&gt;m: 7. status  
@enduml</span>

### <span style="color: #1c1e3f;">Physical card</span>

<span style="color: #1c1e3f;">@startuml  
skinparam ParticipantPadding 30  
skinparam BoxPadding 30  
skinparam noteFontColor #FFFFFF  
skinparam noteBackgroundColor #1C1E3F  
skinparam noteBorderColor #1C1E3F  
skinparam noteBorderThickness 1  
skinparam sequence {  
ArrowColor #1C1E3F  
ArrowFontColor #1C1E3F  
ActorBorderColor #1C1E3F  
ActorBackgroundColor #FFFFFF  
ActorFontStyle bold  
ParticipantBorderColor #1C1E3F  
ParticipantBackgroundColor #1C1E3F  
ParticipantFontColor #FFFFFF  
ParticipantFontStyle bold  
LifeLineBackgroundColor #1C1E3F  
LifeLineBorderColor #1C1E3F  
}  
actor user as u  
participant "mobile app" as m  
participant antaca as a  
participant "payment processor" as t  
participant "card personalization institution" as ac  
u-&gt;m: 1. order card  
m-&gt;a: 2. OrderCard(delivery address, userID, SaldoID, configuration ID)  
a-&gt;t: 3. OrderCard(cardholder, delivery address, terminal)  
t--&gt;a: 4. status  
a--&gt;m: 5. status  
t-&gt;t: 6. GeneratePAN and prepare binary file  
t-&gt;ac: 7. order card  
t-&gt;t: 8. Generate orderCardReport  
a-&gt;t: 9. get orderCardReport  
t--&gt;a: 10. orderCardReport  
a-&gt;a: 11. connect card with user and saldo  
a-&gt;t: 12. linkCard(trackingNo, reference)  
t--&gt;a: 13. status  
a-&gt;t: 14. getAllLinkedCards  
t--&gt;a: 15. full card data  
a-&gt;a: 16. store card in DC  
ac--&gt;u: 17. delivery card  
u-&gt;m: 18. activate card  
m-&gt;a: 19. activateCard  
a-&gt;t: 20. activateCard  
t--&gt;a: 21. status  
a-&gt;t: 22. update PIN (wPIN)  
t--&gt;a: 23. status  
a-&gt;a: 24. update status in DC  
@enduml</span>

### <span style="color: #1c1e3f;">Actions</span>

#### <span style="color: #1c1e3f;">Create virtual</span>

<span style="color: #1c1e3f;">This method enables creation of virtual payment card for already created user and balance.</span>

<span style="color: #1c1e3f;">Availability</span>

<table border="1" id="bkmrk-collection-url-authe" style="border-collapse: collapse; width: 100%; border-color: #000000;"><tbody><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Collection</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">URL</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Authentication</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Encryption required</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Available for admin roles</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Customer</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">**POST**<span style="text-decoration: underline;"> </span>[<span style="text-decoration: underline;">/customers<wbr>/me<wbr>/cards<wbr>/virtual</wbr></wbr></wbr></span>](https://cardissuing.upaidtest.pl/api/documentation/#/customerCards/post_customers_me_cards_virtual)</span>

<span style="color: #1c1e3f;">or for an asynchronous process</span>

<span style="color: #1c1e3f;">**POST**<span style="text-decoration: underline;"> </span>[<span style="text-decoration: underline;">/customers<wbr>/me<wbr>/cards<wbr>/virtual<wbr>/async</wbr></wbr></wbr></wbr></span>](https://cardissuing.upaidtest.pl/api/documentation/#/customerCardsAsync/post_customers_me_cards_virtual_async)</span>

</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token </span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">YES\* - JWE </span>

<span style="color: #1c1e3f;">\*for an asynchronous process NO</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Admin</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">**POST** [/admin<wbr>/customers<wbr>/{customerId}<wbr>/cards<wbr>/virtual</wbr></wbr></wbr></wbr>](https://cardissuing.upaidtest.pl/api/documentation/#/Admin%20-%20Cards/post_admin_customers__customerId__cards_virtual)</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">YES\* - JWE </span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Admin, Manager</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">API</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">**POST**<span style="text-decoration: underline;"> </span>[<span style="text-decoration: underline;">/secure<wbr>/customers<wbr>/{customerId}<wbr>/cards<wbr>/virtual</wbr></wbr></wbr></wbr></span>](https://cardissuing.upaidtest.pl/api/documentation/#/customerCards/post_secure_customers__customerId__cards_virtual)</span>

<span style="color: #1c1e3f;">or for an asynchronous process</span>

<span style="color: #1c1e3f;">**POST**<span style="text-decoration: underline;"> </span>[<span style="text-decoration: underline;">/secure<wbr>/customers<wbr>/{customerId}<wbr>/cards<wbr>/virtual<wbr>/async</wbr></wbr></wbr></wbr></wbr></span>](https://cardissuing.upaidtest.pl/api/documentation/#/customerCardsAsync/post_secure_customers__customerId__cards_virtual_async)</span>

</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">x509 certificate</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">YES\* - JWE </span>

<span style="color: #1c1e3f;">\*for an asynchronous process NO</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr></tbody></table>

#### <span style="color: #1c1e3f;">Lock</span>

<span style="color: #1c1e3f;">This functionality enables temporary or fixed blocking of already issued cards. After card being blocked every authorisation request will be rejected. While using this method you need to inform CMS Antaca about reasons of card blocking. List of reasons is described below in the table.</span>

<table border="1" class="confluenceTable" id="bkmrk-code-no-card-stop-re" style="border-collapse: collapse; width: 100%; border-color: #000000;"><colgroup><col style="width: 15.8459%;"></col><col style="width: 46.942%;"></col><col style="width: 37.2915%;"></col></colgroup><tbody><tr style="height: 46.5938px;"><td class="confluenceTd" style="height: 46.5938px;"><span style="color: #1c1e3f;">Code No</span></td><td class="confluenceTd" style="height: 46.5938px;"><span style="color: #1c1e3f;">Card stop reason</span></td><td class="confluenceTd" style="height: 46.5938px;"><span style="color: #1c1e3f;">irreversible</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">1</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Card lost</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">YES</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">2</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Card stolen</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">YES</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">3</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Pending query</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">NO</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">4</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Card consolidation</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">NO</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">5</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Card inactive</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">YES</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">6</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">PIN tries exceeded</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">NO</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">7</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Suspected fraud</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">NO</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">8</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Card replaced</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">YES</span></td></tr><tr><td><span style="color: #1c1e3f;">11</span></td><td><span style="color: #1c1e3f;">Offline PIN attempts exceeded</span></td><td><span style="color: #1c1e3f;">NO</span></td></tr></tbody></table>

<span style="color: #1c1e3f;">Availability</span>

<table border="1" id="bkmrk-collection-url-authe-0" style="border-collapse: collapse; width: 100%; border-color: #000000;"><tbody><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Collection</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">URL</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Authentication</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Encryption required</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Available for admin roles</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Customer</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">**POST** [/customers<wbr>/me<wbr>/cards<wbr>/{cardId}<wbr>/lock</wbr></wbr></wbr></wbr>](https://cardissuing.upaidtest.pl/api/documentation/#/customerCards/post_customers_me_cards__cardId__lock)</span>

</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token </span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">NO</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Admin</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Administrator blocks the card through the core of the administration panel</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">API</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">**POST** [/secure<wbr>/customers<wbr>/{userId}<wbr>/cards<wbr>/{cardId}<wbr>/lock</wbr></wbr></wbr></wbr></wbr>](https://cardissuing.upaidtest.pl/api/documentation/#/Secure%20-%20Customer%20Cards/post_secure_customers__userId__cards__cardId__lock)</span>

</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">x509 certificate</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">NO</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr></tbody></table>

#### <span style="color: #1c1e3f;">Unlock</span>

<span style="color: #1c1e3f;">This functionality enables unblocking previously blocked card. It works in case the card was not blocked with Code No 1, 2, 5 or 8 described in the above table (card lost, card stolen, card inactive or card replaced). CMS Antaca does not need reasons for card unblocking.</span>

<span style="color: #1c1e3f;">Availability</span>

<table border="1" id="bkmrk-collection-url-authe-1" style="border-collapse: collapse; width: 100%; border-color: #000000;"><tbody><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Collection</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">URL</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Authentication</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Encryption required</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Available for admin roles</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Customer</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">**POST** [/customers<wbr>/me<wbr>/cards<wbr>/{cardId}<wbr>/unlock</wbr></wbr></wbr></wbr>](https://cardissuing.upaidtest.pl/api/documentation/#/customerCards/post_customers_me_cards__cardId__unlock)</span>

</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token </span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">NO</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Admin</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Administrator unblocks the card through the core of the administration panel</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">API</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">**POST** [/secure<wbr>/customers<wbr>/{userId}<wbr>/cards<wbr>/{cardId}<wbr>/unlock</wbr></wbr></wbr></wbr></wbr>](https://cardissuing.upaidtest.pl/api/documentation/#/Secure%20-%20Customer%20Cards/post_secure_customers__userId__cards__cardId__unlock)</span>

</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">x509 certificate</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">NO</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr></tbody></table>

#### <span style="color: #1c1e3f;">Remove</span>

<span style="color: #1c1e3f;">This functionality enables card deletion from CMS Antaca. Deleted card cannot be restored. </span>

<span style="color: #1c1e3f;">Availability</span>

<table border="1" id="bkmrk-collection-url-authe-2" style="border-collapse: collapse; width: 100%; border-color: #000000;"><tbody><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Collection</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">URL</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Authentication</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Encryption required</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Available for admin roles</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Customer</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">**DELETE**<span style="text-decoration: underline;"> </span>[/customers<wbr>/me<wbr>/cards<wbr>/{cardId}</wbr></wbr></wbr>](https://cardissuing.upaidtest.pl/api/documentation/#/customerCards/delete_customers_me_cards__cardId_)</span>

</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token </span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">NO</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Admin</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Administrator delete the card through the core of the administration panel</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">API</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Other APIs remove the card via LC or directly in DC</span>

</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr></tbody></table>

#### <span style="color: #1c1e3f;">Get full data</span>

<span style="color: #1c1e3f;">This functionality enables receiving full card data (PAN, Expiry Date, CVC2 or CVV). Access to those data for user should be always connected with additional authorisation by user (fingerprint, application PIN).</span>

<span style="color: #1c1e3f;">Availability</span>

<table border="1" id="bkmrk-collection-url-authe-3" style="border-collapse: collapse; width: 100%; border-color: #000000; height: 191.2px;"><tbody><tr style="height: 46.4px;"><td style="width: 19.9749%; height: 46.4px;"><span style="color: #1c1e3f;">Collection</span></td><td style="width: 19.9749%; height: 46.4px;"><span style="color: #1c1e3f;">URL</span></td><td style="width: 19.9749%; height: 46.4px;"><span style="color: #1c1e3f;">Authentication</span></td><td style="width: 19.9749%; height: 46.4px;"><span style="color: #1c1e3f;">Encryption required</span></td><td style="width: 19.9768%; height: 46.4px;"><span style="color: #1c1e3f;">Available for admin roles</span></td></tr><tr style="height: 57.6px;"><td style="width: 19.9749%; height: 57.6px;"><span style="color: #1c1e3f;">Customer</span></td><td style="width: 19.9749%; height: 57.6px;"><span style="color: #1c1e3f;">**GET** [/customers<wbr>/me<wbr>/cards<wbr>/{id}</wbr></wbr></wbr>](https://cardissuing.upaidtest.pl/api/documentation/#/customerCards/get_customers_me_cards__id_)</span>

</td><td style="width: 19.9749%; height: 57.6px;"><span style="color: #1c1e3f;">Session token </span></td><td style="width: 19.9749%; height: 57.6px;"><span style="color: #1c1e3f;">YES</span>

</td><td style="width: 19.9768%; height: 57.6px;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr style="height: 63.2px;"><td style="width: 19.9749%; height: 63.2px;"><span style="color: #1c1e3f;">Admin</span></td><td style="width: 19.9749%; height: 63.2px;"><span style="color: #1c1e3f;">Administrator cannot view the full details of the cards</span></td><td style="width: 19.9749%; height: 63.2px;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9749%; height: 63.2px;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9768%; height: 63.2px;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr style="height: 24px;"><td style="width: 19.9749%; height: 24px;"><span style="color: #1c1e3f;">API</span></td><td style="width: 19.9749%; height: 24px;"><span style="color: #1c1e3f;">**GET** [/secure<wbr>/customers<wbr>/{customerId}<wbr>/cards<wbr>/{id}</wbr></wbr></wbr></wbr>](https://cardissuing.upaidtest.pl/api/documentation/#/customerCards/get_secure_customers__customerId__cards__id_)</span>

</td><td style="width: 19.9749%; height: 24px;"><span style="color: #1c1e3f;">x509 certificate</span></td><td style="width: 19.9749%; height: 24px;"><span style="color: #1c1e3f;">YES</span>

</td><td style="width: 19.9768%; height: 24px;"><span style="color: #1c1e3f;">N/A</span></td></tr></tbody></table>

#### <span style="color: #1c1e3f;">Reset CVV</span>

<span style="color: #1c1e3f;">This functionality enables generation of new CVC2 or CVV number for virtual.</span>

<span style="color: #1c1e3f;">Availability</span>

<table border="1" id="bkmrk-collection-url-authe-4" style="border-collapse: collapse; width: 100%; border-color: #000000;"><tbody><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Collection</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">URL</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Authentication</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Encryption required</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Available for admin roles</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Customer</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">**POST**[ /customers/me/cards/{cardId}/cvv](https://cardissuing.upaidtest.pl/api/documentation/#/customerCards/post_customers_me_cards__cardId__cvv)</span>

</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token </span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">YES</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Admin</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">**POST** [/admin<wbr>/cards<wbr>/{cardId}<wbr>/cvv</wbr></wbr></wbr>](https://cardissuing.upaidtest.pl/api/documentation/#/Admin%20-%20Cards/post_admin_cards__cardId__cvv)</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">YES</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Admin, Manager, Employee</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">API</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr></tbody></table>

#### <span style="color: #1c1e3f;">Order physical card</span>

<span style="color: #1c1e3f;">This functionality enables ordering plastic card. Process of card personalisation can take up to 48 hours depending on chosen personalisation center. Additionally card will be transferred to user by courier or post office. Physical card ordered by this functionality will be inactive until activation action.</span>

<p class="callout info"><span style="color: #1c1e3f;">The DEV/BETA environment does not support physical card order testing.</span></p>

<span style="color: #1c1e3f;">Availability</span>

<table border="1" id="bkmrk-collection-url-authe-5" style="border-collapse: collapse; width: 100%; border-color: #000000;"><tbody><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Collection</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">URL</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Authentication</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Encryption required</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Available for admin roles</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Customer</span></td><td style="width: 19.9749%;"></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token </span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">YES</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Admin</span></td><td style="width: 19.9749%;">  
</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">YES</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Admin, Manager, Employee</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">API</span></td><td style="width: 19.9749%;">  
</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">x509 certificate</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">YES</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr></tbody></table>


##### <span style="color: #1c1e3f;">Link card</span>

<span style="color: #1c1e3f;">Around 48 hours after card ordering it will be visible in user resources. After Verestro receives confirmation from personalisation center that card was personalised CMS Antaca connects card with user account and balance. From this moment it can be visible for user and can be activated.</span>

#### <span style="color: #1c1e3f;">Set PIN</span>

<span style="color: #1c1e3f;">This functionality is available for physical and virtual cards. It enables setting up PIN that is used for face-to-face transactions (POS and ATM). In the case of virtual cards - for ATM withdrawals.</span>

<table border="1" id="bkmrk-%2A-po-ustawieniu-nowe" style="border-collapse: collapse; width: 100%; border-color: #000000; border-style: solid;"><tbody><tr><td style="width: 99.8765%;"><span style="color: #1c1e3f;">**IMPORTANT:**</span>

- <span style="color: #1c1e3f;">After setting up new PIN it is required to perform standard chip &amp; pin transactions (recommended on ATM) to transfer PIN to chip on the plastic to be able to process off-line PIN transactions.</span>
- <span style="color: #1c1e3f;">Majority of POS terminals verifies offline PIN what can result in message "Incorrect PIN" on terminal. User should be informed about it.</span>
- <span style="color: #1c1e3f;">In case of contactless transactions online PIN will be used in all cases so user will not receive "Incorrect PIN" message on terminal.</span>

</td></tr></tbody></table>

<span style="color: #1c1e3f;">Availability</span>

<table border="1" id="bkmrk-collection-url-authe-7" style="border-collapse: collapse; width: 100%; border-color: #000000;"><tbody><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Collection</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">URL</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Authentication</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Encryption required</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Available for admin roles</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Customer</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">**POST** https://prepaidapi.upaid.pl/customers/me/cards/{cardId}/pin</span>

</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token </span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">YES</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Admin</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">API</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">N/A</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr></tbody></table>

#### <span style="color: #1c1e3f;">Activate card</span>

<span style="color: #1c1e3f;">This functionality enables activation of previously ordered physical card. Card transactions will not work until card is activated. </span>

<span style="color: #1c1e3f;">Availability</span>

<table border="1" id="bkmrk-collection-url-authe-8" style="border-collapse: collapse; width: 100%; border-color: #000000;"><tbody><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Collection</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">URL</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Authentication</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Encryption required</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Available for admin roles</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Customer</span></td><td style="width: 19.9749%;"></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token </span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">NO</span>

</td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Admin</span></td><td style="width: 19.9749%;">  
</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">Session token </span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">NO</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">Admin, Manager, Employee</span></td></tr><tr><td style="width: 19.9749%;"><span style="color: #1c1e3f;">API</span></td><td style="width: 19.9749%;">  
</td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">x509 certificate</span></td><td style="width: 19.9749%;"><span style="color: #1c1e3f;">NO</span></td><td style="width: 19.9768%;"><span style="color: #1c1e3f;">N/A</span></td></tr></tbody></table>

#### <span style="color: #1c1e3f;">Lock outside</span>

<span style="color: #1c1e3f;">This functionality enables blocking of card in CMS Antaca on request of external entities (MC or VISA or acquirers). It can be used in case user entered incorrect PIN 3 times or in other fraud related actions. This lock cannot be removed if card was blocked by Code No 1, 2, 5, 8 (see below). The table below contains all possible reasons of card lock.</span>

<table border="1" class="confluenceTable" id="bkmrk-code-no-card-stop-re-0" style="border-collapse: collapse; width: 100%; border-color: #000000;"><colgroup><col style="width: 9.49165%;"></col><col style="width: 28.127%;"></col><col style="width: 40.0095%;"></col><col style="width: 22.3732%;"></col></colgroup><tbody><tr style="height: 46.5938px;"><td class="confluenceTd" style="height: 46.5938px;"><span style="color: #1c1e3f;">Code No</span></td><td class="confluenceTd" style="height: 46.5938px;"><span style="color: #1c1e3f;">Card lock reason</span></td><td class="confluenceTd" style="height: 46.5938px;"><span style="color: #1c1e3f;">Failure Action Code on POS/ATM</span></td><td class="confluenceTd" colspan="1" style="height: 46.5938px;"><span style="color: #1c1e3f;">Irreversible</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">1</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Card lost</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">2008</span></td><td class="confluenceTd" colspan="1" style="height: 29.7969px;"><span style="color: #1c1e3f;">YES</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">2</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Card stolen</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">2009</span></td><td class="confluenceTd" colspan="1" style="height: 29.7969px;"><span style="color: #1c1e3f;">YES</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">3</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Pending query</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">1000</span></td><td class="confluenceTd" colspan="1" style="height: 29.7969px;"><span style="color: #1c1e3f;">NO</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">4</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Card consolidation</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">1016</span></td><td class="confluenceTd" colspan="1" style="height: 29.7969px;"><span style="color: #1c1e3f;">NO</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">5</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Card inactive</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">1018</span></td><td class="confluenceTd" colspan="1" style="height: 29.7969px;"><span style="color: #1c1e3f;">YES</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">6</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">PIN tries exceeded</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">1006</span></td><td class="confluenceTd" colspan="1" style="height: 29.7969px;"><span style="color: #1c1e3f;">NO</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">7</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Suspected fraud</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">1002</span></td><td class="confluenceTd" colspan="1" style="height: 29.7969px;"><span style="color: #1c1e3f;">NO</span></td></tr><tr style="height: 29.7969px;"><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">8</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">Card replaced</span></td><td class="confluenceTd" style="height: 29.7969px;"><span style="color: #1c1e3f;">1011</span></td><td class="confluenceTd" colspan="1" style="height: 29.7969px;"><span style="color: #1c1e3f;">YES</span></td></tr></tbody></table>

## <span style="color: #1c1e3f;">Corporations</span>

### Corporate Onboarding Process

The entire lifecycle begins with the mandatory submission and approval of corporate documents, followed by the setup of financial tools.

#### Know Your Business (KYB) and Corporate Approval

Before any financial operations can be set up, the corporation must successfully pass a Know Your Business (KYB) verification. This phase is crucial for regulatory compliance and fraud prevention.

1. **Document Submission:** The corporation provides all required legal and ownership documents.
    
    
    - The submitted documents are reviewed by a compliance team to verify the identity and legitimacy of the business.
2. **Approval:** Upon successful verification, the corporation is formally approved and can proceed to the next phase. If the documentation is insufficient or a risk is identified, the corporation will be rejected or placed on hold.

#### Account and Balance Creation

Once the corporate is approved, a new account is created to hold and manage all financial instruments.

1. **Account Creation:** After creating a corporation via API, `dcCorporationId` is returned to use for balance and card creation.
    
    
    - **Endpoint:** `<span class="opblock-summary-method">POST</span><span class="opblock-summary-path" data-path="/lifecycle/v1/corporations"><a class="nostyle">/lifecycle<wbr>/v1<wbr>/corporations</wbr></wbr></a></span>`
2. **Balance:** The balance is created with a starting value of zero. Funds can be loaded into this balance via bank transfer or other approved methods.
    
    
    - **Endpoint:** `<span class="opblock-summary-method">POST</span><span class="opblock-summary-path" data-path="/secure/balances"><a class="nostyle">/secure<wbr>/balances</wbr></a></span>` Endpoint requires the `dcCorporationId` parameter.

#### Card Issuance

With a corporate balance, the company can now issue payment cards to its authorized employees. These cards are linked to the corporate balance and are used for business-related expenses.

1\. **Virtual card**

- - **Endpoint:** `<span class="opblock-summary-method">POST</span><span class="opblock-summary-path" data-path="/secure/cards/virtual"><a class="nostyle">/secure<wbr>/cards<wbr>/virtual</wbr></wbr></a></span>`

Endpoint requires the `dcCorporationId` parameter.

**2. Physical card**.

- - **Endpoint:** `<span class="opblock-summary-method">POST</span><span class="opblock-summary-path" data-path="/secure/cards/physical"><a class="nostyle">/secure<wbr>/cards<wbr>/physical</wbr></wbr></a></span>`
    - **Endpoint:** `<span class="opblock-summary-method">POST</span><span class="opblock-summary-path" data-path="/secure/cards/physical"><a class="nostyle">/secure<wbr>/cards<wbr>/physical_with_pin</wbr></wbr></a></span>`

Endpoints require the `dcCorporationId` parameter.

[![corporation_onboarding.png](https://developer.verestro.com/uploads/images/gallery/2025-08/scaled-1680-/corporation-onboarding.png)](https://developer.verestro.com/uploads/images/gallery/2025-08/corporation-onboarding.png)

## <span style="color: #1c1e3f;">More information on Partner Balances and Deposit Requirements</span>

### <span style="color: #1c1e3f;">Partner Balance</span>

<span style="color: #1c1e3f;">The partner balance is used in Verestro deployments together with the partner and BIN sponsor. The partner balance secures the financial liquidity of the BIN sponsor in the settlement process, while giving the partner the opportunity to manage the balances of its users.</span>

### <span style="color: #1c1e3f;">Partner Credit Balance</span>

<span style="color: #1c1e3f;">Partner Credit Balance is used to process transactions of Partner especially in cases where User Balance is hold by Verestro. Examples of such projects are many standard projects where Partner is not financial institution or e-Wallet and does not hold User Balances on its side.</span>

<span style="color: #1c1e3f;">The main reason to use Partner Credit Balance is limiting transactions performed by Partner's users to funds hold on Partner Credit Balance. Verestro and its BIN sponsors cannot risk processing transactions without having funds available so this deposit needs to be used to enable transactions in such cases.</span>

<span style="color: #1c1e3f;">Partner through Verestro Administration Panel has access to actual level of Partner Credit Balance and can reload it by sending banking transfer to BIN Sponsor cooperating with Verestro. Partner can receive notification via e-email if Partner Credit Balance goes below pre-defined level.</span>

<span style="color: #1c1e3f;">@startuml  
skinparam ParticipantPadding 30  
skinparam BoxPadding 30  
skinparam noteFontColor #FFFFFF  
skinparam noteBackgroundColor #1C1E3F  
skinparam noteBorderColor #1C1E3F  
skinparam noteBorderThickness 1  
skinparam sequence {  
ArrowColor #1C1E3F  
ArrowFontColor #1C1E3F  
ActorBorderColor #1C1E3F  
ActorBackgroundColor #FFFFFF  
ActorFontStyle bold  
ParticipantBorderColor #1C1E3F  
ParticipantBackgroundColor #1C1E3F  
ParticipantFontColor #FFFFFF  
ParticipantFontStyle bold  
LifeLineBackgroundColor #1C1E3F  
LifeLineBorderColor #1C1E3F  
}  
participant Partner as p  
participant "Issuer Bank" as b  
participant "Licensed Issuer" as i  
participant Antaca as a  
actor "End users" as u  
p-&gt;b: 1. bank transfer  
b-&gt;b: 2. accounting of funds  
b--&gt;i: 3. accounting of funds  
i-&gt;a: 4. top up credit balance  
p-&gt;a: 5. top up user balance  
a-&gt;a: 6. charge credit balance  
alt  
a-&gt;a: 7. top up user balance  
a--&gt;p: 8. success  
else insufficient funds  
a--&gt;p: 9. fail (insufficient funds)  
end  
@enduml</span>

### <span style="color: #1c1e3f;">Partner Deposit Balance</span>

<span style="color: #1c1e3f;">Partner Deposit Balance is used alternatively to Partner Credit Balance. Partner Deposit Balance is used to process transactions of Partner especially in cases where User Balance is not hold by Verestro. Examples of such projects are the ones with other wallet providers that already hold user balance or project where Verestro through its partners acts as BIN Sponsor or Principal Member for Affiliate Partner.</span>

<span style="color: #1c1e3f;">The main reason to use Partner Deposit Balance is limiting transactions performed by Partner's users to funds hold on Partner Deposit Balance. Verestro and its BIN sponsors cannot risk processing transactions without having funds available so this deposit needs to be used to enable transactions in such cases.</span>

<span style="color: #1c1e3f;">Partner through Verestro Administration Panel has access to actual level of Partner Deposit Balance and can reload it by sending banking transfer to BIN Sponsor cooperating with Verestro. Partner can receive notification via e-email if Partner Deposit Balance goes below pre-defined level.</span>

<span style="color: #1c1e3f;">@startuml  
skinparam ParticipantPadding 30  
skinparam BoxPadding 30  
skinparam noteFontColor #FFFFFF  
skinparam noteBackgroundColor #1C1E3F  
skinparam noteBorderColor #1C1E3F  
skinparam noteBorderThickness 1  
skinparam sequence {  
ArrowColor #1C1E3F  
ArrowFontColor #1C1E3F  
ActorBorderColor #1C1E3F  
ActorBackgroundColor #FFFFFF  
ActorFontStyle bold  
ParticipantBorderColor #1C1E3F  
ParticipantBackgroundColor #1C1E3F  
ParticipantFontColor #FFFFFF  
ParticipantFontStyle bold  
LifeLineBackgroundColor #1C1E3F  
LifeLineBorderColor #1C1E3F  
}  
participant Partner as p  
participant "Issuer Bank" as b  
participant "Licensed Issuer" as i  
participant Antaca as a  
participant "Payment cloud" as mc  
participant "POS/ATM" as pos  
actor "End users" as u  
p-&gt;b: 1. bank transfer  
b-&gt;b: 2. accounting of funds  
b--&gt;i: 3. accounting of funds  
i-&gt;a: 4. top up deposit balance  
u-&gt;pos: 5. make payment  
pos-&gt;mc: 6. payment authorization  
mc-&gt;a: 7. payment authorization  
a-&gt;a: 8. charge deposit balance  
alt Sufficient deposit funds  
a-&gt;a: 9. lock user funds  
alt Sufficient user funds  
a--&gt;mc: 10. authorization success  
mc--&gt;pos: 11. authorization success  
pos--&gt;u: 12. success  
else Insufficient user funds  
a--&gt;mc: 13. authorization fail  
mc--&gt;pos: 14. authorization fail  
pos--&gt;u: 15. fail  
end  
else Insufficient deposit funds  
a--&gt;mc: 16. authorization fail  
mc--&gt;pos: 17. authorization fail  
pos--&gt;u: 18. fail  
end  
@enduml</span>


### <span style="color: #1c1e3f;">Balance Summary in Administration Panel</span>

<span style="color: #1c1e3f;">Summary Balances are a control tool used for accounting and liquidity verification reasons. They are presented in Administration Panel in every currency used in the project.</span>

#### <span style="color: #1c1e3f;">Users</span>

<span style="color: #1c1e3f;">Presents sum of all User Balances in particular currency.</span>

#### <span style="color: #1c1e3f;">Wallet</span>

<span style="color: #1c1e3f;">Presents sum of all User Balances and all Partner Balances in particular currency.</span>

### <span style="color: #1c1e3f;">Actions</span>

#### <span style="color: #1c1e3f;">Create user balance</span>

<span style="color: #1c1e3f;">This functionality enables creation of user balance in particular currency.</span>

#### <span style="color: #1c1e3f;">Create Partner Deposit Balance or Partner Credit Balance</span>

<span style="color: #1c1e3f;">Not used in standard projects. This functional enables Partner creation of new Partner Deposit Balance or Partner Credit Balance for particular projects.</span>

#### <span style="color: #1c1e3f;">Get User Balance</span>

<span style="color: #1c1e3f;">Enables getting user balance and list of cards connected to this balance (account).</span>

#### <span style="color: #1c1e3f;">Get Partner Deposit Balance or Partner Credit Balance</span>



<span style="color: #1c1e3f;">This functional enables Partner getting information of Partner Deposit Balance or Partner Credit Balance for particular projects.</span>

#### <span style="color: #1c1e3f;">Reload Partner Deposit Balance or Partner Credit Balance</span>


<span style="color: #1c1e3f;">Not used in standard project. This functional enables Verestro to reload Partner Deposit Balance or Partner Credit Balance for particular projects. It is used by Verestro.</span>

#### <span style="color: #1c1e3f;">Reload user balance</span>

<span style="color: #1c1e3f;">This functionality enables reloading User Balance. </span>

## <span style="color: #1c1e3f;">Fee management</span>

<span style="color: #1c1e3f;">Fee Management System documentation: [Fee Management Platform | Verestro Developer Zone.](https://developer.verestro.com/books/fee-management-system)</span>

<span style="color: #1c1e3f;">It is possible to setup various fees charged to users for card issuing and account management activities. Fees can be setup through administration panel by customer or dedicated Verestro customer services. Fees can be managed in two ways:</span>

1. <span style="color: #1c1e3f;">Partner can setup own fee management system and charge users completely outside of Verestro system</span>
2. <span style="color: #1c1e3f;">Partner can use Verestro fee management module available in Administration Panel</span>

<span style="color: #1c1e3f;">There are various fees that can be configured via Administration Panel:</span>

- <span style="color: #1c1e3f;">fee for account creating</span>
- <span style="color: #1c1e3f;">fee for card creating</span>
- <span style="color: #1c1e3f;">monthly / weekly / daily fee per card</span>
- <span style="color: #1c1e3f;">POS transaction fees (fixed and percantage)</span>
- <span style="color: #1c1e3f;">eCom transaction fees</span>
- <span style="color: #1c1e3f;">ATM transaction fees</span>
- <span style="color: #1c1e3f;">Money transfer fee (IBAN Transfer)</span>
- <span style="color: #1c1e3f;">Currency conversion fees</span>
- <span style="color: #1c1e3f;">and others</span>

<span style="color: #1c1e3f;">There is implementation on-going to have conditional fees like - "*if users do 1000 eur transaction monthly we do not charge monthly fee*".</span>

<span style="color: #1c1e3f;">Please consult Verestro sales or Project Manager in case you need more information. </span>

## <span style="color: #1c1e3f;">Other functionalities</span>

<span style="color: #1c1e3f;">You can find additional methods in API descriptions:</span>

- <span style="color: #1c1e3f;">[API used for server-to-server connections](https://developer.verestro.com/books/card-issuing-and-core-banking/page/technical-documentation-4Wl),</span>
- <span style="color: #1c1e3f;">[API used for mobile application-to-server connections](https://developer.verestro.com/books/card-issuing-and-core-banking/page/technical-documentation) (Access to documentation is available after establishing partnership with Verestro),</span>
- <span style="color: #1c1e3f;">[API used for Administration Panel access (rarely used by partners)](https://developer.verestro.com/books/card-issuing-and-core-banking/page/technical-documentation-JQx) (Access to documentation is available after establishing partnership with Verestro).</span>

<span style="color: #1c1e3f;">In case of questions please let us know.</span>