diff --git a/waas-api.json b/waas-api.json index 4cb806f..5357534 100644 --- a/waas-api.json +++ b/waas-api.json @@ -1,2764 +1 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Profee WaaS integration API", - "description": "

Welcome to the Profee wallet-as-a-service API documentation.

\n

Our API allow you to embed financial services into your product: enable your users to hold funds, manage cash flow,\n issue virtual card and make payments.

\n

\n This documentation provides you with the following information divided into sections:\n

\n\n

\n list of tokenized cards issued in other banks available for user to make transfers.\n

\n

\n This is a living document to be updated regularly with new functionality. To access our sandbox or address questions\n to our developers please contact: waasteam@profeelab.net\n

", - "license": { - "name": "Profee", - "url": "http://profee.com" - }, - "version": "v0.0.1" - }, - "servers": [ - { - "url": "http://localhost:8080", - "description": "Generated server url" - } - ], - "tags": [ - { - "name": "Payments", - "description": "We provide the list of payments methods for registered users. For each payment method, we give you a unique `methodId`.\n\nPayment methods are divided by types, provided in `methodType`.\n\n### Method types:\n\n- `Wallet to wallet` - a payment between users and their wallets.\n- `Wallet to partner` - a payment from user's wallet to partner.\n- `Paysafecash to wallet` - a topping up user’s wallet via Paysafecash. Give the opportunity to up user’s wallet with cash.\n- `Shift to card`- a payment from user's wallet to card issued via Profee.\n- `Shift to wallet` - a payment from card issued via Profee to user's wallet.\n\n![WAAS API - payment methods](img/WAAS_API_-_Payment_methods.jpg)\n\nOverview of steps:\n\n![WAAS API - payments steps](img/WAAS_API_-_Payment_steps.jpg)" - }, - { - "name": "Wallets", - "description": "We create a wallet for each User of our partner, which is the registration of users.\nIt is the starting point for interacting with our service\n\nWe have several critical restrictions for registering clients creating wallets:\n\n- The User must be over 18 years old\n- Unique phone number\n- Unique email\n\nOverview of steps:\n\n![WAAS API - Wallet steps](img/WAAS_API_-_Wallet_steps.jpg)" - }, - { - "name": "Cards", - "description": "Our service allows you to issue bank cards for users. We can issue virtual and plastic cards. We also have a partner who will deliver plastic cards. Check the list of countries supported for cards delivery.\n\nWe will provide you different `productId` in order to issue plastic and virtual card on stage and product environments.\n\n> 💡 Сard issuing is available only for verified users and users with level PLUS or PREMIUM. You can check it via request `/get-wallet`\n\nOverview of steps:\n\n![WAAS API - card](img/WAAS_API_-_Card.jpg)" - } - ], - "paths": { - "/wallet/get-wallet": { - "post": { - "tags": [ - "Wallets" - ], - "summary": "Get wallet", - "description": "Get current limit and wallet status.", - "operationId": "getWallet", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerGetWalletRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerWalletDto" - } - } - } - } - } - } - }, - "/wallet/get-documents-status": { - "post": { - "tags": [ - "Wallets" - ], - "summary": "Getting the status of added documents", - "description": "Get the status of added documents.\nWith a single request, you can get verification information for each uploaded document. \nThe status will be indicated for each document. The document can be accepted and successfully verified. \nIf the document is rejected, it will be indicated whether it is a final rejection (e.g., the person is a fraud) \nor whether it can be corrected (e.g., by uploading a better quality photo).\n", - "operationId": "getDocumentsStatus", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerDocumentsStatusRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerDocumentsStatusDto" - } - } - } - } - } - } - }, - "/wallet/create-wallet": { - "post": { - "tags": [ - "Wallets" - ], - "summary": "Create wallet", - "description": "Create a wallet to register your users in our system. Specify all the necessary data for new wallet registration.", - "operationId": "createWallet", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerCreateWalletRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerWalletDto" - } - } - } - } - } - } - }, - "/wallet/add-document": { - "post": { - "tags": [ - "Wallets" - ], - "summary": "Add verification document", - "description": "To verify a User’s identity with Profee, we need to receive documentation:\n\n- A document to confirm the User’s identity.\n- A separate document to confirm the User’s place of residence\n- A selfie holding the document provided in the previous point", - "operationId": "addDocument", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerAddDocumentDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerAddDocumentDto" - } - } - } - } - } - } - }, - "/payment/get-payment": { - "post": { - "tags": [ - "Payments" - ], - "summary": "Get payment", - "description": "Get current information about payment and status.", - "operationId": "getPayment", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerGetPaymentRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerBasePaymentResponseDto" - } - } - } - } - } - } - }, - "/payment/create-payment": { - "post": { - "tags": [ - "Payments" - ], - "summary": "Create payment", - "description": "Create a payment on a pre-placed payment order. ", - "operationId": "createPayment", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerCreatePaymentRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerBasePaymentResponseDto" - } - } - } - } - } - } - }, - "/payment/create-payment-order": { - "post": { - "tags": [ - "Payments" - ], - "summary": "Create payment order", - "description": "Create an order to make a payment for registered users.\n\nIt is the first step of making payment. Here we check the possibility to process a payment and calculate fees.\n\nWhen checking the possibility of making payments, we check:\n\n- balance of payment sender\n- daily and monthly limits of wallet\n- availability of another wallet for `Wallet to wallet` payment type\n\n> 💡 You can set up`/to/amount` for many payment methods and `/from/amount`. You should use only one of them: `/to/amount` OR `/from/amount.` This functionality makes it possible to calculate the missing amount by direct or reverse calculation, and we will do it ourselves.\n", - "operationId": "createPaymentOrder", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerBasePaymentOrderRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerBasePaymentOrderResponseDto" - } - } - } - } - } - } - }, - "/card/get-card": { - "post": { - "tags": [ - "Cards" - ], - "summary": "Get Profee card information", - "description": "Get general information about the issued card and its current status.", - "operationId": "getCard", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerGetCardRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerCardDto" - } - } - } - } - } - } - }, - "/card/get-card-tokens": { - "post": { - "tags": [ - "Cards" - ], - "summary": "Get card tokens", - "description": "After funding a Profee wallet with a bank card, the card data is saved in the form of a token.
The token can be used for subsequent transactions to top up the wallet and withdrawals to the card.
The request allows you to get all tokens linked to the wallet", - "operationId": "getCardTokens", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerCardTokensRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerCardTokensDto" - } - } - } - } - } - } - }, - "/card/get-card-operations": { - "post": { - "tags": [ - "Cards" - ], - "summary": "Get Profee card operation history", - "description": "UNDER CONSTRUCTION: Get data on the latest card transactions", - "operationId": "getCardOperations", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerCardOperationsRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerCardOperationsDto" - } - } - } - } - } - } - }, - "/card/get-card-details": { - "post": { - "tags": [ - "Cards" - ], - "summary": "Get Profee card details", - "description": "Get sensitive card details. We use the RSA algorithm to encrypt sensitive data in response. To operate request `/get-card-details`, you need to generate for us a public RSA key with 4096-bit size. Better to prepare at once two keys, one for stage and one for production.\n\nWe encrypt a few fields in response to the request: pan, CVV, expiry date. For decryption, you will need your private keys.", - "operationId": "getCardDetails", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerGetCardDetailsRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerCardSecureDto" - } - } - } - } - } - } - }, - "/card/get-card-balance": { - "post": { - "tags": [ - "Cards" - ], - "summary": "Get Profee card balance", - "description": "Get the current balance of the card and the amount of active holds.\n\n- For details:\n\n> balance - available balance\n> \n> authorizedBalance - total amount of active holds", - "operationId": "getCardBalance", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerGetCardBalanceRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerCardBalanceDto" - } - } - } - } - } - } - }, - "/card/create-card": { - "post": { - "tags": [ - "Cards" - ], - "summary": "Create Profee card", - "description": "Issue new Profee card.", - "operationId": "createCard", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerCreateCardRequestDto" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerCardDto" - } - } - } - } - } - } - }, - "/card/activate-plastic-card": { - "post": { - "tags": [ - "Cards" - ], - "summary": "Plactic Profee card activation", - "description": "In the case of issuing the plastic card, we deliver a postal envelope to the customer with plastic card and approval code. Customer need to activate the card with an approval code.", - "operationId": "activatePlasticCard", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiRequestContainerPlastic Profee Card Activation Request" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiResponseContainerCardDto" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "ApiRequestContainerGetWalletRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/GetWalletRequestDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "GetWalletRequestDto": { - "required": [ - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - } - }, - "description": "Request model to Get Wallet" - }, - "ApiResponseContainerWalletDto": { - "required": [ - "signature", - "status" - ], - "type": "object", - "properties": { - "response": { - "$ref": "#/components/schemas/WalletDto" - }, - "status": { - "$ref": "#/components/schemas/ResponseStatus" - }, - "signature": { - "type": "string", - "description": "Signature of response content" - } - }, - "description": "Response wrapper" - }, - "BalanceDto": { - "required": [ - "money" - ], - "type": "object", - "properties": { - "money": { - "$ref": "#/components/schemas/MoneyDto" - } - }, - "description": "Balance" - }, - "LimitDto": { - "required": [ - "sum", - "type" - ], - "type": "object", - "properties": { - "sum": { - "$ref": "#/components/schemas/MoneyDto" - }, - "type": { - "type": "string", - "description": "Limit type", - "enum": [ - "DAILY_TO", - "DAILY_FROM", - "MONTHLY_TO", - "MONTHLY_FROM", - "YEARLY_TO", - "YEARLY_FROM", - "GAMBLE" - ] - } - }, - "description": "Limit information" - }, - "MoneyDto": { - "required": [ - "currency" - ], - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "Amount of money. Can be null." - }, - "currency": { - "type": "string", - "description": "Currency represented in alpha codes ISO 4217" - } - }, - "description": "Amount and currency" - }, - "ResponseStatus": { - "required": [ - "code", - "message" - ], - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Response code (for machine)", - "enum": [ - "OK", - "CREATED", - "BAD_REQUEST", - "UNEXPECTED_ERROR", - "CONFLICT", - "EMAIL_IS_NOT_VERIFIED", - "PRODUCT_NOT_FOUND", - "WRONG_PRODUCT", - "CARD_NOT_FOUND", - "WALLET_NOT_FOUND", - "MAX_CARD_COUNT_REACHED", - "WAAS_PARTNER_NOT_CONFIGURED", - "VERIFICATION_LEVEL_NOT_ENOUGH", - "WRONG_CARD_STATUS", - "FAILED_TO_ACTIVATE_PLASTIC_CARD", - "WRONG_WALLET_IDENT_STATUS", - "INVALID_DAYS_COUNT" - ] - }, - "message": { - "type": "string", - "description": "Response message (for developer)" - } - }, - "description": "Response status" - }, - "WalletDto": { - "required": [ - "balances", - "externalId", - "limits", - "status", - "verificationLevel", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "balances": { - "type": "array", - "description": "Balances in all available currencies", - "items": { - "$ref": "#/components/schemas/BalanceDto" - } - }, - "limits": { - "type": "array", - "description": "Limits information in all available currencies", - "items": { - "$ref": "#/components/schemas/LimitDto" - } - }, - "verificationLevel": { - "type": "string", - "description": "User's Wallet verification level (KYC)", - "enum": [ - "UNVERIFIED", - "BASIC", - "PLUS", - "PREMIUM" - ] - }, - "status": { - "type": "string", - "description": "Wallet Status", - "enum": [ - "ACTIVE", - "LOCKED", - "BLOCKED" - ] - }, - "externalId": { - "type": "string", - "description": "External ID - Wallet ID in Merchant system" - } - }, - "description": "Wallet information" - }, - "ApiRequestContainerDocumentsStatusRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/DocumentsStatusRequestDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "DocumentsStatusRequestDto": { - "required": [ - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - } - }, - "description": "Request to get the status of added user documents" - }, - "ApiResponseContainerDocumentsStatusDto": { - "required": [ - "signature", - "status" - ], - "type": "object", - "properties": { - "response": { - "$ref": "#/components/schemas/DocumentsStatusDto" - }, - "status": { - "$ref": "#/components/schemas/ResponseStatus" - }, - "signature": { - "type": "string", - "description": "Signature of response content" - } - }, - "description": "Response wrapper" - }, - "DocumentStatusDto": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Document ID, generated when adding a document" - }, - "documentType": { - "type": "string", - "description": "Document type", - "enum": [ - "ID_CARD", - "PASSPORT", - "DRIVERS", - "BANK_CARD", - "UTILITY_BILL", - "BANK_STATEMENT", - "SELFIE", - "VIDEO_SELFIE", - "PROFILE_IMAGE", - "ID_DOC_PHOTO", - "AGREEMENT", - "CONTRACT", - "RESIDENCE_PERMIT", - "EMPLOYMENT_CERTIFICATE", - "DRIVERS_TRANSLATION", - "INVESTOR_DOC", - "VEHICLE_REGISTRATION_CERTIFICATE", - "INCOME_SOURCE", - "PAYMENT_METHOD", - "OTHER" - ] - }, - "documentSubType": { - "type": "string", - "description": "Document sub type", - "enum": [ - "FRONT_SIDE", - "BACK_SIDE" - ] - }, - "proofSubject": { - "type": "string", - "description": "Proof subject of document. Can be proof of residence, proof of identity or selfie", - "enum": [ - "POI", - "SELFIE", - "POR" - ] - }, - "errors": { - "type": "array", - "description": "List of errors when checking a document", - "items": { - "type": "string", - "description": "List of errors when checking a document" - } - }, - "warnings": { - "type": "array", - "description": "List of warnings when checking a document", - "items": { - "type": "string", - "description": "List of warnings when checking a document" - } - }, - "reviewResult": { - "$ref": "#/components/schemas/ReviewResult" - } - }, - "description": "Status of added document" - }, - "DocumentsStatusDto": { - "required": [ - "documentsStatus", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "documentsStatus": { - "type": "array", - "description": "Added documents status", - "items": { - "$ref": "#/components/schemas/DocumentStatusDto" - } - } - }, - "description": "Added documents status" - }, - "ReviewResult": { - "type": "object", - "properties": { - "moderationComment": { - "type": "string", - "description": "Moderation comment" - }, - "clientComment": { - "type": "string", - "description": "Client comment" - }, - "reviewAnswer": { - "type": "string", - "description": "The overall result of the test. Green means the document was successfully verified, red - violations detected.", - "enum": [ - "GREEN", - "RED" - ] - }, - "rejectLabels": { - "type": "array", - "description": "A list of violation codes found during document verification.\n\n|Value|Default| reviewRejectTypeDescription|\n|-----|--------|-------------------------------|\n|FORGERY|FINAL|Forgery attempt has been made|\n|DOCUMENT_TEMPLATE|FINAL|Documents supplied are templates, downloaded from internet|\n|LOW_QUALITY|RETRY|Documents have low-quality that does not allow definitive conclusions to be made|\n|SPAM|FINAL|An applicant has been created by mistake or is just a spam user (irrelevant images were supplied)|\n|NOT_DOCUMENT|RETRY|Documents supplied are not relevant for the verification procedure|\n|SELFIE_MISMATCH|FINAL|A user photo (profile image) does not match a photo on the provided documents|\n|ID_INVALID|RETRY|A document that identifies a person (like a passport or an ID card) is not valid|\n|FOREIGNER|FINAL|When a client does not accept applicants from a different country or e.g. without a residence permit|\n|DUPLICATE|FINAL|This applicant was already created for this client, and duplicates are not allowed by the regulations|\n|BAD_AVATAR|RETRY|When avatar does not meet the client's requirements|\n|WRONG_USER_REGION|FINAL|When applicants from certain regions/countries are not allowed to be registered|\n|INCOMPLETE_DOCUMENT|RETRY|Some information is missing from the document, or it's partially visible|\n|BLACKLIST|FINAL|User is blacklisted|\n|UNSATISFACTORY_PHOTOS|RETRY|There were problems with the photos, like poor quality or masked information|\n|DOCUMENT_PAGE_MISSING|RETRY|Some pages of a document are missing (if applicable)|\n|DOCUMENT_DAMAGED|RETRY|Document is damaged|\n|REGULATIONS_VIOLATIONS|FINAL|Regulations violations|\n|INCONSISTENT_PROFILE|FINAL|Data or documents of different persons were uploaded to one applicant|\n|PROBLEMATIC_APPLICANT_DATA|RETRY|Applicant data does not match the data in the documents|\n|ADDITIONAL_DOCUMENT_REQUIRED|RETRY|Additional documents required to pass the check|\n|AGE_REQUIREMENT_MISMATCH|FINAL|Age requirement is not met (e.g. cannot rent a car to a person below 25yo)|\n|EXPERIENCE_REQUIREMENT_MISMATCH|FINAL|Not enough experience (e.g. driving experience is not enough)|\n|CRIMINAL|FINAL|The user is involved in illegal actions|\n|WRONG_ADDRESS|RETRY|The address from the documents doesn't match the address that the user entered|\n|GRAPHIC_EDITOR|RETRY|The document has been edited by a graphical editor|\n|DOCUMENT_DEPRIVED|RETRY|The user has been deprived of the document|\n|COMPROMISED_PERSONS|FINAL|The user does not correspond to Compromised Person Politics|\n|PEP|FINAL|The user belongs to the PEP category|\n|ADVERSE_MEDIA|FINAL|The user was found in the adverse media|\n|FRAUDULENT_PATTERNS|FINAL|Fraudulent behavior was detected|\n|SANCTIONS|FINAL|The user was found on sanction lists|\n|NOT_ALL_CHECKS_COMPLETED|RETRY|All checks were not completed|\n|FRONT_SIDE_MISSING|RETRY|Front side of the document is missing|\n|BACK_SIDE_MISSING|RETRY|Back side of the document is missing|\n|SCREENSHOTS|RETRY|The user uploaded screenshots|\n|BLACK_AND_WHITE|RETRY|The user uploaded black and white photos of documents|\n|INCOMPATIBLE_LANGUAGE|RETRY|The user should upload translation of his document|\n|EXPIRATION_DATE|RETRY|The user uploaded expired document|\n|UNFILLED_ID|RETRY|The user uploaded the document without signatures and stamps|\n|BAD_SELFIE|RETRY|The user uploaded a bad selfie|\n|BAD_VIDEO_SELFIE|RETRY|The user uploaded a bad video selfie|\n|BAD_FACE_MATCHING|RETRY|Face check between document and selfie failed|\n|BAD_PROOF_OF_IDENTITY|RETRY|The user uploaded a bad ID document|\n|BAD_PROOF_OF_ADDRESS|RETRY|The user uploaded a bad proof of address|\n|BAD_PROOF_OF_PAYMENT|RETRY|The user uploaded a bad proof of payment|\n|SELFIE_WITH_PAPER|RETRY|The user should upload a special selfie (e.g. selfie with paper and date on it)|\n|FRAUDULENT_LIVENESS|FINAL|There was an attempt to bypass liveness check|\n|OTHER|RETRY|Some unclassified reason|\n|REQUESTED_DATA_MISMATCH|RETRY|Provided info doesn't match with recognized from document data|\n|OK|RETRY|Custom reject label|\n|COMPANY_NOT_DEFINED_STRUCTURE|RETRY|Could not establish the entity's control structure|\n|COMPANY_NOT_DEFINED_BENEFICIARIES|RETRY|Could not identify and duly verify the entity's beneficial owners|\n|COMPANY_NOT_VALIDATED_BENEFICIARIES|RETRY|Beneficiaries are not validated|\n|COMPANY_NOT_DEFINED_REPRESENTATIVES|RETRY|Representatives are not defined|\n|COMPANY_NOT_VALIDATED_REPRESENTATIVES|RETRY|Representatives are not validated|\n", - "items": { - "type": "string", - "description": "A list of violation codes found during document verification.\n\n|Value|Default| reviewRejectTypeDescription|\n|-----|--------|-------------------------------|\n|FORGERY|FINAL|Forgery attempt has been made|\n|DOCUMENT_TEMPLATE|FINAL|Documents supplied are templates, downloaded from internet|\n|LOW_QUALITY|RETRY|Documents have low-quality that does not allow definitive conclusions to be made|\n|SPAM|FINAL|An applicant has been created by mistake or is just a spam user (irrelevant images were supplied)|\n|NOT_DOCUMENT|RETRY|Documents supplied are not relevant for the verification procedure|\n|SELFIE_MISMATCH|FINAL|A user photo (profile image) does not match a photo on the provided documents|\n|ID_INVALID|RETRY|A document that identifies a person (like a passport or an ID card) is not valid|\n|FOREIGNER|FINAL|When a client does not accept applicants from a different country or e.g. without a residence permit|\n|DUPLICATE|FINAL|This applicant was already created for this client, and duplicates are not allowed by the regulations|\n|BAD_AVATAR|RETRY|When avatar does not meet the client's requirements|\n|WRONG_USER_REGION|FINAL|When applicants from certain regions/countries are not allowed to be registered|\n|INCOMPLETE_DOCUMENT|RETRY|Some information is missing from the document, or it's partially visible|\n|BLACKLIST|FINAL|User is blacklisted|\n|UNSATISFACTORY_PHOTOS|RETRY|There were problems with the photos, like poor quality or masked information|\n|DOCUMENT_PAGE_MISSING|RETRY|Some pages of a document are missing (if applicable)|\n|DOCUMENT_DAMAGED|RETRY|Document is damaged|\n|REGULATIONS_VIOLATIONS|FINAL|Regulations violations|\n|INCONSISTENT_PROFILE|FINAL|Data or documents of different persons were uploaded to one applicant|\n|PROBLEMATIC_APPLICANT_DATA|RETRY|Applicant data does not match the data in the documents|\n|ADDITIONAL_DOCUMENT_REQUIRED|RETRY|Additional documents required to pass the check|\n|AGE_REQUIREMENT_MISMATCH|FINAL|Age requirement is not met (e.g. cannot rent a car to a person below 25yo)|\n|EXPERIENCE_REQUIREMENT_MISMATCH|FINAL|Not enough experience (e.g. driving experience is not enough)|\n|CRIMINAL|FINAL|The user is involved in illegal actions|\n|WRONG_ADDRESS|RETRY|The address from the documents doesn't match the address that the user entered|\n|GRAPHIC_EDITOR|RETRY|The document has been edited by a graphical editor|\n|DOCUMENT_DEPRIVED|RETRY|The user has been deprived of the document|\n|COMPROMISED_PERSONS|FINAL|The user does not correspond to Compromised Person Politics|\n|PEP|FINAL|The user belongs to the PEP category|\n|ADVERSE_MEDIA|FINAL|The user was found in the adverse media|\n|FRAUDULENT_PATTERNS|FINAL|Fraudulent behavior was detected|\n|SANCTIONS|FINAL|The user was found on sanction lists|\n|NOT_ALL_CHECKS_COMPLETED|RETRY|All checks were not completed|\n|FRONT_SIDE_MISSING|RETRY|Front side of the document is missing|\n|BACK_SIDE_MISSING|RETRY|Back side of the document is missing|\n|SCREENSHOTS|RETRY|The user uploaded screenshots|\n|BLACK_AND_WHITE|RETRY|The user uploaded black and white photos of documents|\n|INCOMPATIBLE_LANGUAGE|RETRY|The user should upload translation of his document|\n|EXPIRATION_DATE|RETRY|The user uploaded expired document|\n|UNFILLED_ID|RETRY|The user uploaded the document without signatures and stamps|\n|BAD_SELFIE|RETRY|The user uploaded a bad selfie|\n|BAD_VIDEO_SELFIE|RETRY|The user uploaded a bad video selfie|\n|BAD_FACE_MATCHING|RETRY|Face check between document and selfie failed|\n|BAD_PROOF_OF_IDENTITY|RETRY|The user uploaded a bad ID document|\n|BAD_PROOF_OF_ADDRESS|RETRY|The user uploaded a bad proof of address|\n|BAD_PROOF_OF_PAYMENT|RETRY|The user uploaded a bad proof of payment|\n|SELFIE_WITH_PAPER|RETRY|The user should upload a special selfie (e.g. selfie with paper and date on it)|\n|FRAUDULENT_LIVENESS|FINAL|There was an attempt to bypass liveness check|\n|OTHER|RETRY|Some unclassified reason|\n|REQUESTED_DATA_MISMATCH|RETRY|Provided info doesn't match with recognized from document data|\n|OK|RETRY|Custom reject label|\n|COMPANY_NOT_DEFINED_STRUCTURE|RETRY|Could not establish the entity's control structure|\n|COMPANY_NOT_DEFINED_BENEFICIARIES|RETRY|Could not identify and duly verify the entity's beneficial owners|\n|COMPANY_NOT_VALIDATED_BENEFICIARIES|RETRY|Beneficiaries are not validated|\n|COMPANY_NOT_DEFINED_REPRESENTATIVES|RETRY|Representatives are not defined|\n|COMPANY_NOT_VALIDATED_REPRESENTATIVES|RETRY|Representatives are not validated|\n", - "enum": [ - "FORGERY", - "DOCUMENT_TEMPLATE", - "LOW_QUALITY", - "SPAM", - "NOT_DOCUMENT", - "SELFIE_MISMATCH", - "ID_INVALID", - "FOREIGNER", - "DUPLICATE", - "BAD_AVATAR", - "WRONG_USER_REGION", - "INCOMPLETE_DOCUMENT", - "BLACKLIST", - "UNSATISFACTORY_PHOTOS", - "DOCUMENT_PAGE_MISSING", - "DOCUMENT_DAMAGED", - "REGULATIONS_VIOLATIONS", - "INCONSISTENT_PROFILE", - "PROBLEMATIC_APPLICANT_DATA", - "ADDITIONAL_DOCUMENT_REQUIRED", - "AGE_REQUIREMENT_MISMATCH", - "EXPERIENCE_REQUIREMENT_MISMATCH", - "CRIMINAL", - "WRONG_ADDRESS", - "GRAPHIC_EDITOR", - "DOCUMENT_DEPRIVED", - "COMPROMISED_PERSONS", - "PEP", - "ADVERSE_MEDIA", - "FRAUDULENT_PATTERNS", - "SANCTIONS", - "NOT_ALL_CHECKS_COMPLETED", - "FRONT_SIDE_MISSING", - "BACK_SIDE_MISSING", - "SCREENSHOTS", - "BLACK_AND_WHITE", - "INCOMPATIBLE_LANGUAGE", - "EXPIRATION_DATE", - "UNFILLED_ID", - "BAD_SELFIE", - "BAD_VIDEO_SELFIE", - "BAD_FACE_MATCHING", - "BAD_PROOF_OF_IDENTITY", - "BAD_PROOF_OF_ADDRESS", - "BAD_PROOF_OF_PAYMENT", - "SELFIE_WITH_PAPER", - "OTHER" - ] - } - }, - "reviewRejectType": { - "type": "string", - "description": "Whether the rejection is final. The \"retry\" rejection can be corrected, for example, by uploading a better quality image (more information in the rejection labels)", - "enum": [ - "FINAL", - "RETRY", - "EXTERNAL" - ] - } - }, - "description": "The results of the document verification" - }, - "AddressDto": { - "required": [ - "buildingName", - "city", - "flatNumber", - "postalCode", - "streetName" - ], - "type": "object", - "properties": { - "city": { - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "streetName": { - "type": "string" - }, - "buildingName": { - "type": "string" - }, - "flatNumber": { - "type": "string" - } - }, - "description": "User's residential address" - }, - "ApiRequestContainerCreateWalletRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/CreateWalletRequestDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "CreateWalletRequestDto": { - "required": [ - "citizenship", - "dateOfBirth", - "email", - "externalId", - "firstName", - "lastName", - "residence", - "residentialAddress" - ], - "type": "object", - "properties": { - "phone": { - "type": "integer", - "description": "User's phone number (must be verified before performing request)", - "format": "int64" - }, - "email": { - "type": "string", - "description": "User's email" - }, - "firstName": { - "type": "string", - "description": "User's first name" - }, - "lastName": { - "type": "string", - "description": "User's last name" - }, - "dateOfBirth": { - "pattern": "yyyy-MM-dd", - "type": "string", - "description": "User's date of birth", - "format": "date" - }, - "citizenship": { - "maxLength": 3, - "minLength": 3, - "pattern": "[a-zA-Z]{3}", - "type": "string", - "description": "User's citizenship Alpha-3 code" - }, - "residence": { - "maxLength": 3, - "minLength": 3, - "pattern": "[a-zA-Z]{3}", - "type": "string", - "description": "User's residence Alpha-3 code" - }, - "residentialAddress": { - "$ref": "#/components/schemas/AddressDto" - }, - "externalId": { - "type": "string", - "description": "External ID - Wallet ID in Merchant system" - } - }, - "description": "Request model to Create Wallet" - }, - "AddDocumentDto": { - "required": [ - "countryCode", - "documentContent", - "documentType", - "proofSubject", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "documentType": { - "type": "string", - "description": "Personal document type", - "enum": [ - "ID_CARD", - "PASSPORT", - "DRIVERS", - "BANK_CARD", - "UTILITY_BILL", - "BANK_STATEMENT", - "SELFIE", - "VIDEO_SELFIE", - "PROFILE_IMAGE", - "ID_DOC_PHOTO", - "AGREEMENT", - "CONTRACT", - "RESIDENCE_PERMIT", - "EMPLOYMENT_CERTIFICATE", - "DRIVERS_TRANSLATION", - "INVESTOR_DOC", - "VEHICLE_REGISTRATION_CERTIFICATE", - "INCOME_SOURCE", - "PAYMENT_METHOD", - "OTHER" - ] - }, - "documentSubType": { - "type": "string", - "description": "Personal document sub-type", - "enum": [ - "FRONT_SIDE", - "BACK_SIDE" - ] - }, - "proofSubject": { - "type": "string", - "description": "Proof subject of document. Can be proof of residence, proof of identity or selfie", - "enum": [ - "POI", - "SELFIE", - "POR" - ] - }, - "countryCode": { - "maxLength": 3, - "minLength": 0, - "type": "string", - "description": "3-letter country code" - }, - "firstName": { - "type": "string", - "description": "First name" - }, - "middleName": { - "type": "string", - "description": "Middle name" - }, - "lastName": { - "type": "string", - "description": "Last name" - }, - "issuedDate": { - "type": "string", - "description": "Issued date (format YYYY-mm-dd, e.g. 2001-09-25)", - "format": "date" - }, - "validUntil": { - "type": "string", - "description": "Valid until date (format YYYY-mm-dd, e.g. 2001-09-26)", - "format": "date" - }, - "number": { - "type": "string", - "description": "Document number" - }, - "dateOfBirth": { - "type": "string", - "description": "Date of birth (format YYYY-mm-dd, e.g. 2001-09-27)", - "format": "date" - }, - "placeOfBirth": { - "type": "string", - "description": "Place of birth" - }, - "documentContent": { - "type": "string", - "description": "Personal document content (Base64 encoded file image content)" - } - }, - "description": "Request model to Upgrade User's wallet" - }, - "ApiRequestContainerAddDocumentDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/AddDocumentDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "ApiResponseContainerAddDocumentDto": { - "required": [ - "signature", - "status" - ], - "type": "object", - "properties": { - "response": { - "$ref": "#/components/schemas/AddDocumentDto" - }, - "status": { - "$ref": "#/components/schemas/ResponseStatus" - }, - "signature": { - "type": "string", - "description": "Signature of response content" - } - }, - "description": "Response wrapper" - }, - "ApiRequestContainerGetPaymentRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/GetPaymentRequestDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "GetPaymentRequestDto": { - "required": [ - "paymentId" - ], - "type": "object", - "properties": { - "paymentId": { - "type": "string", - "description": "Payment ID obtained from Create payment request" - } - }, - "description": "Request model to get payment information and status" - }, - "ApiResponseContainerBasePaymentResponseDto": { - "required": [ - "signature", - "status" - ], - "type": "object", - "properties": { - "response": { - "$ref": "#/components/schemas/BasePaymentResponseDto" - }, - "status": { - "$ref": "#/components/schemas/ResponseStatus" - }, - "signature": { - "type": "string", - "description": "Signature of response content" - } - }, - "description": "Response wrapper" - }, - "BasePaymentResponseDto": { - "required": [ - "creatorWalletId", - "datetime", - "feeSum", - "fromSum", - "id", - "lifetimeMinutes", - "methodId", - "methodType", - "paymentOrderId", - "state", - "toSum" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Payment id" - }, - "paymentOrderId": { - "type": "string", - "description": "Payment order id" - }, - "methodId": { - "type": "string", - "description": "Payment method id" - }, - "methodType": { - "type": "string", - "description": "Payment method type", - "enum": [ - "WALLET_TO_WALLET", - "WALLET_TO_PARTNER", - "PARTNER_TO_WALLET", - "PAYSAFECASH_TO_WALLET", - "WAAS_SHIFT_TO_CARD", - "WAAS_SHIFT_TO_WALLET", - "WALLET_TO_CARD", - "WAAS_CARD_ISSUING" - ] - }, - "creatorWalletId": { - "type": "string", - "description": "Wallet id of user, initiated payment" - }, - "datetime": { - "type": "string", - "description": "Date and time of payment", - "format": "date-time" - }, - "state": { - "$ref": "#/components/schemas/PaymentStateDto" - }, - "lifetimeMinutes": { - "type": "integer", - "description": "Payment lifetime. If lifetime is passed and payment is not complete, it will failed", - "format": "int32" - }, - "fromSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "toSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "feeSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "comment": { - "type": "string", - "description": "Comment by a user" - } - }, - "description": "Model of payment", - "oneOf": [ - { - "$ref": "#/components/schemas/WalletToWalletPaymentResponseDto" - }, - { - "$ref": "#/components/schemas/WalletToPartnerPaymentResponseDto" - }, - { - "$ref": "#/components/schemas/PaySafeCashToWalletPaymentResponseDto" - }, - { - "$ref": "#/components/schemas/ShiftToCardPaymentResponseDto" - }, - { - "$ref": "#/components/schemas/ShiftToWalletPaymentResponseDto" - } - ] - }, - "MinorUnitMoneyDto": { - "required": [ - "currency" - ], - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "Amount of money in minor units. Can be null." - }, - "currency": { - "type": "string", - "description": "Currency represented in alpha codes ISO 4217" - } - }, - "description": "Amount in minor units and currency" - }, - "PaySafeCashToWalletPaymentResponseDto": { - "required": [ - "creatorWalletId", - "datetime", - "feeSum", - "fromSum", - "id", - "lifetimeMinutes", - "methodId", - "methodType", - "paymentOrderId", - "state", - "toSum" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Payment id" - }, - "paymentOrderId": { - "type": "string", - "description": "Payment order id" - }, - "methodId": { - "type": "string", - "description": "Payment method id" - }, - "methodType": { - "type": "string", - "description": "Payment method type", - "enum": [ - "WALLET_TO_WALLET", - "WALLET_TO_PARTNER", - "PARTNER_TO_WALLET", - "PAYSAFECASH_TO_WALLET", - "WAAS_SHIFT_TO_CARD", - "WAAS_SHIFT_TO_WALLET", - "WALLET_TO_CARD", - "WAAS_CARD_ISSUING" - ] - }, - "creatorWalletId": { - "type": "string", - "description": "Wallet id of user, initiated payment" - }, - "datetime": { - "type": "string", - "description": "Date and time of payment", - "format": "date-time" - }, - "state": { - "$ref": "#/components/schemas/PaymentStateDto" - }, - "lifetimeMinutes": { - "type": "integer", - "description": "Payment lifetime. If lifetime is passed and payment is not complete, it will failed", - "format": "int32" - }, - "fromSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "toSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "feeSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "comment": { - "type": "string", - "description": "Comment by a user" - }, - "redirectUrl": { - "type": "string", - "description": "Redirect url to the Paysafecash payment panel" - } - }, - "description": "Top up wallet from PaySafeCash system" - }, - "PaymentStateDto": { - "type": "object", - "properties": { - "code": { - "type": "string", - "enum": [ - "CONFIRMATION_REQUIRED", - "ACS_CHECK_REQUIRED", - "PAYMENT_IN_PROGRESS", - "EXTERNAL_PAYMENT", - "PAID_WAIT_NEXT_PAYMENT", - "PAID", - "ERROR_GENERAL" - ] - }, - "isFinal": { - "type": "boolean" - } - }, - "description": "Payment actual state" - }, - "ShiftToCardPaymentResponseDto": { - "required": [ - "creatorWalletId", - "datetime", - "feeSum", - "fromSum", - "id", - "lifetimeMinutes", - "methodId", - "methodType", - "paymentOrderId", - "state", - "toSum" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Payment id" - }, - "paymentOrderId": { - "type": "string", - "description": "Payment order id" - }, - "methodId": { - "type": "string", - "description": "Payment method id" - }, - "methodType": { - "type": "string", - "description": "Payment method type", - "enum": [ - "WALLET_TO_WALLET", - "WALLET_TO_PARTNER", - "PARTNER_TO_WALLET", - "PAYSAFECASH_TO_WALLET", - "WAAS_SHIFT_TO_CARD", - "WAAS_SHIFT_TO_WALLET", - "WALLET_TO_CARD", - "WAAS_CARD_ISSUING" - ] - }, - "creatorWalletId": { - "type": "string", - "description": "Wallet id of user, initiated payment" - }, - "datetime": { - "type": "string", - "description": "Date and time of payment", - "format": "date-time" - }, - "state": { - "$ref": "#/components/schemas/PaymentStateDto" - }, - "lifetimeMinutes": { - "type": "integer", - "description": "Payment lifetime. If lifetime is passed and payment is not complete, it will failed", - "format": "int32" - }, - "fromSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "toSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "feeSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "comment": { - "type": "string", - "description": "Comment by a user" - } - } - }, - "ShiftToWalletPaymentResponseDto": { - "required": [ - "creatorWalletId", - "datetime", - "feeSum", - "fromSum", - "id", - "lifetimeMinutes", - "methodId", - "methodType", - "paymentOrderId", - "state", - "toSum" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Payment id" - }, - "paymentOrderId": { - "type": "string", - "description": "Payment order id" - }, - "methodId": { - "type": "string", - "description": "Payment method id" - }, - "methodType": { - "type": "string", - "description": "Payment method type", - "enum": [ - "WALLET_TO_WALLET", - "WALLET_TO_PARTNER", - "PARTNER_TO_WALLET", - "PAYSAFECASH_TO_WALLET", - "WAAS_SHIFT_TO_CARD", - "WAAS_SHIFT_TO_WALLET", - "WALLET_TO_CARD", - "WAAS_CARD_ISSUING" - ] - }, - "creatorWalletId": { - "type": "string", - "description": "Wallet id of user, initiated payment" - }, - "datetime": { - "type": "string", - "description": "Date and time of payment", - "format": "date-time" - }, - "state": { - "$ref": "#/components/schemas/PaymentStateDto" - }, - "lifetimeMinutes": { - "type": "integer", - "description": "Payment lifetime. If lifetime is passed and payment is not complete, it will failed", - "format": "int32" - }, - "fromSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "toSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "feeSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "comment": { - "type": "string", - "description": "Comment by a user" - } - } - }, - "WalletToPartnerPaymentResponseDto": { - "required": [ - "creatorWalletId", - "datetime", - "feeSum", - "fromSum", - "id", - "lifetimeMinutes", - "methodId", - "methodType", - "paymentOrderId", - "state", - "toSum" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Payment id" - }, - "paymentOrderId": { - "type": "string", - "description": "Payment order id" - }, - "methodId": { - "type": "string", - "description": "Payment method id" - }, - "methodType": { - "type": "string", - "description": "Payment method type", - "enum": [ - "WALLET_TO_WALLET", - "WALLET_TO_PARTNER", - "PARTNER_TO_WALLET", - "PAYSAFECASH_TO_WALLET", - "WAAS_SHIFT_TO_CARD", - "WAAS_SHIFT_TO_WALLET", - "WALLET_TO_CARD", - "WAAS_CARD_ISSUING" - ] - }, - "creatorWalletId": { - "type": "string", - "description": "Wallet id of user, initiated payment" - }, - "datetime": { - "type": "string", - "description": "Date and time of payment", - "format": "date-time" - }, - "state": { - "$ref": "#/components/schemas/PaymentStateDto" - }, - "lifetimeMinutes": { - "type": "integer", - "description": "Payment lifetime. If lifetime is passed and payment is not complete, it will failed", - "format": "int32" - }, - "fromSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "toSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "feeSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "comment": { - "type": "string", - "description": "Comment by a user" - } - } - }, - "WalletToWalletPaymentResponseDto": { - "required": [ - "creatorWalletId", - "datetime", - "feeSum", - "fromSum", - "id", - "lifetimeMinutes", - "methodId", - "methodType", - "paymentOrderId", - "state", - "toSum" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Payment id" - }, - "paymentOrderId": { - "type": "string", - "description": "Payment order id" - }, - "methodId": { - "type": "string", - "description": "Payment method id" - }, - "creatorWalletId": { - "type": "string", - "description": "Wallet id of user, initiated payment" - }, - "methodType": { - "type": "string", - "description": "Payment method type", - "enum": [ - "WALLET_TO_WALLET", - "WALLET_TO_PARTNER", - "PARTNER_TO_WALLET", - "PAYSAFECASH_TO_WALLET", - "WAAS_SHIFT_TO_CARD", - "WAAS_SHIFT_TO_WALLET", - "WALLET_TO_CARD", - "WAAS_CARD_ISSUING" - ] - }, - "datetime": { - "type": "string", - "description": "Date and time of payment", - "format": "date-time" - }, - "state": { - "$ref": "#/components/schemas/PaymentStateDto" - }, - "lifetimeMinutes": { - "type": "integer", - "description": "Payment lifetime. If lifetime is passed and payment is not complete, it will failed", - "format": "int32" - }, - "fromSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "toSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "feeSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "from": { - "type": "string", - "writeOnly": true - }, - "to": { - "type": "string", - "writeOnly": true - }, - "comment": { - "type": "string", - "description": "Comment by a user" - }, - "toWalletId": { - "type": "string" - } - } - }, - "ApiRequestContainerCreatePaymentRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/CreatePaymentRequestDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "CreatePaymentRequestDto": { - "required": [ - "externalId", - "paymentOrderId" - ], - "type": "object", - "properties": { - "paymentOrderId": { - "type": "string", - "description": "Payment order ID obtained from Create payment order request" - }, - "externalId": { - "type": "string", - "description": "External ID - Payment ID in Merchant system" - }, - "comment": { - "type": "string", - "description": "User comment for a payment" - } - }, - "description": "Request model to Create payment" - }, - "ApiRequestContainerBasePaymentOrderRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "oneOf": [ - { - "$ref": "#/components/schemas/CardIssuingPaymentOrderRequestDto" - }, - { - "$ref": "#/components/schemas/PaysafecashToWalletPaymentOrderRequestDto" - }, - { - "$ref": "#/components/schemas/ShiftToCardPaymentOrderRequestDto" - }, - { - "$ref": "#/components/schemas/ShiftToWalletPaymentOrderRequestDto" - }, - { - "$ref": "#/components/schemas/WalletToPartnerPaymentOrderRequestDto" - }, - { - "$ref": "#/components/schemas/WalletToWalletPaymentOrderRequestDto" - } - ] - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "BasePaymentOrderRequestDto": { - "required": [ - "externalId", - "from", - "methodId", - "methodType", - "to", - "walletId" - ], - "type": "object", - "properties": { - "externalId": { - "type": "string", - "description": "Operation ID in waas-partner system" - }, - "walletId": { - "type": "string", - "description": "Payment order creator wallet id" - }, - "methodId": { - "type": "string", - "description": "Payment method ID" - }, - "methodType": { - "type": "string", - "description": "Payment method type", - "enum": [ - "WALLET_TO_WALLET", - "WALLET_TO_PARTNER", - "PARTNER_TO_WALLET", - "PAYSAFECASH_TO_WALLET", - "WAAS_SHIFT_TO_CARD", - "WAAS_SHIFT_TO_WALLET", - "WALLET_TO_CARD", - "WAAS_CARD_ISSUING" - ] - }, - "from": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "to": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - } - }, - "description": "Model of payment order", - "discriminator": { - "propertyName": "methodType" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/WalletToWalletPaymentOrderRequestDto" - }, - { - "$ref": "#/components/schemas/WalletToPartnerPaymentOrderRequestDto" - }, - { - "$ref": "#/components/schemas/PaysafecashToWalletPaymentOrderRequestDto" - }, - { - "$ref": "#/components/schemas/ShiftToCardPaymentOrderRequestDto" - }, - { - "$ref": "#/components/schemas/ShiftToWalletPaymentOrderRequestDto" - } - ] - }, - "CardIssuingPaymentOrderRequestDto": { - "required": [ - "externalId", - "from", - "methodId", - "methodType", - "to", - "walletId" - ], - "type": "object", - "description": "Order issue a card", - "allOf": [ - { - "$ref": "#/components/schemas/BasePaymentOrderRequestDto" - }, - { - "type": "object", - "properties": { - "cardId": { - "type": "string" - } - } - } - ] - }, - "PaysafecashToWalletPaymentOrderRequestDto": { - "required": [ - "externalId", - "from", - "methodId", - "methodType", - "to", - "walletId" - ], - "type": "object", - "description": "Order to top up wallet from Paysafecash system", - "allOf": [ - { - "$ref": "#/components/schemas/BasePaymentOrderRequestDto" - }, - { - "type": "object", - "properties": { - "redirectSuccessUrl": { - "type": "string", - "description": "Payment recipient wallet URLs to redirect after successful authorization in PaySafeCash system" - }, - "redirectFailUrl": { - "type": "string", - "description": "Payment recipient wallet URLs to redirect after failed authorization in PaySafeCash system" - } - } - } - ] - }, - "ShiftToCardPaymentOrderRequestDto": { - "required": [ - "cardId", - "externalId", - "from", - "methodId", - "methodType", - "to", - "walletId" - ], - "type": "object", - "description": "Order to shift money from client wallet to card", - "allOf": [ - { - "$ref": "#/components/schemas/BasePaymentOrderRequestDto" - }, - { - "type": "object", - "properties": { - "cardId": { - "type": "string", - "description": "Card to be top upped" - } - } - } - ] - }, - "ShiftToWalletPaymentOrderRequestDto": { - "required": [ - "cardId", - "externalId", - "from", - "methodId", - "methodType", - "to", - "walletId" - ], - "type": "object", - "description": "Order to shift money from client card to wallet", - "allOf": [ - { - "$ref": "#/components/schemas/BasePaymentOrderRequestDto" - }, - { - "type": "object", - "properties": { - "cardId": { - "type": "string", - "description": "Card to withdraw" - } - } - } - ] - }, - "WalletToPartnerPaymentOrderRequestDto": { - "required": [ - "externalId", - "from", - "methodId", - "methodType", - "to", - "walletId" - ], - "type": "object", - "description": "Order to payment from wallet to waas partner", - "allOf": [ - { - "$ref": "#/components/schemas/BasePaymentOrderRequestDto" - } - ] - }, - "WalletToWalletPaymentOrderRequestDto": { - "required": [ - "externalId", - "from", - "methodId", - "methodType", - "to", - "toWalletId", - "walletId" - ], - "type": "object", - "description": "Order to payment from wallet to another wallet", - "allOf": [ - { - "$ref": "#/components/schemas/BasePaymentOrderRequestDto" - }, - { - "type": "object", - "properties": { - "toWalletId": { - "type": "string", - "description": "Payment recipient wallet ID" - } - } - } - ] - }, - "ApiResponseContainerBasePaymentOrderResponseDto": { - "required": [ - "signature", - "status" - ], - "type": "object", - "properties": { - "response": { - "$ref": "#/components/schemas/BasePaymentOrderResponseDto" - }, - "status": { - "$ref": "#/components/schemas/ResponseStatus" - }, - "signature": { - "type": "string", - "description": "Signature of response content" - } - }, - "description": "Response wrapper" - }, - "BasePaymentOrderResponseDto": { - "required": [ - "externalId", - "feeSum", - "fromSum", - "methodId", - "methodType", - "paymentOrderId", - "toSum" - ], - "type": "object", - "properties": { - "externalId": { - "type": "string", - "description": "Operation ID in waas-partner system" - }, - "methodType": { - "type": "string", - "enum": [ - "WALLET_TO_WALLET", - "WALLET_TO_PARTNER", - "PARTNER_TO_WALLET", - "PAYSAFECASH_TO_WALLET", - "WAAS_SHIFT_TO_CARD", - "WAAS_SHIFT_TO_WALLET", - "WALLET_TO_CARD", - "WAAS_CARD_ISSUING" - ] - }, - "fromSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "toSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "feeSum": { - "$ref": "#/components/schemas/MinorUnitMoneyDto" - }, - "paymentOrderId": { - "type": "string" - }, - "methodId": { - "type": "string" - } - }, - "description": "Response model of payment order" - }, - "ApiRequestContainerGetCardRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/GetCardRequestDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "GetCardRequestDto": { - "required": [ - "cardId", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "cardId": { - "type": "string", - "description": "Profee card ID" - } - }, - "description": "Request model to get Profee card information" - }, - "ApiResponseContainerCardDto": { - "required": [ - "signature", - "status" - ], - "type": "object", - "properties": { - "response": { - "$ref": "#/components/schemas/CardDto" - }, - "status": { - "$ref": "#/components/schemas/ResponseStatus" - }, - "signature": { - "type": "string", - "description": "Signature of response content" - } - }, - "description": "Response wrapper" - }, - "CardDto": { - "required": [ - "cardId", - "cardStatus", - "currency", - "paymentSystem", - "productId", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "cardId": { - "type": "string", - "description": "Profee card ID" - }, - "cardStatus": { - "type": "string", - "description": "Profee card status", - "enum": [ - "INIT", - "ISSUED", - "EXPIRED", - "FAILED", - "CLOSED", - "FROZEN", - "DELIVERY", - "BLOCKED" - ] - }, - "currency": { - "type": "string", - "description": "Profee card currency" - }, - "paymentSystem": { - "type": "string", - "description": "Profee card payment system", - "enum": [ - "VISA" - ] - }, - "productId": { - "type": "string", - "description": "Profee payment product ID" - }, - "maskedPan": { - "type": "string", - "description": "Profee card masked pan" - } - }, - "description": "Model Profee card" - }, - "ApiRequestContainerCardTokensRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/CardTokensRequestDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "CardTokensRequestDto": { - "required": [ - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - } - }, - "description": "Model card tokens" - }, - "ApiResponseContainerCardTokensDto": { - "required": [ - "signature", - "status" - ], - "type": "object", - "properties": { - "response": { - "$ref": "#/components/schemas/CardTokensDto" - }, - "status": { - "$ref": "#/components/schemas/ResponseStatus" - }, - "signature": { - "type": "string", - "description": "Signature of response content" - } - }, - "description": "Response wrapper" - }, - "CardTokenDto": { - "required": [ - "PAN", - "cardStatus", - "cardholder", - "paymentSystem", - "token" - ], - "type": "object", - "properties": { - "token": { - "type": "string", - "description": "Card token" - }, - "PAN": { - "type": "string", - "description": "Masked PAN" - }, - "cardholder": { - "type": "string", - "description": "Cardholder" - }, - "paymentSystem": { - "type": "string", - "description": "Card payment system", - "enum": [ - "VISA", - "MASTERCARD" - ] - }, - "cardStatus": { - "type": "string", - "description": "Card status", - "enum": [ - "ISSUED", - "FROZEN" - ] - } - }, - "description": "Сard token" - }, - "CardTokensDto": { - "required": [ - "tokens" - ], - "type": "object", - "properties": { - "tokens": { - "type": "array", - "description": "External card tokens", - "items": { - "$ref": "#/components/schemas/CardTokenDto" - } - } - }, - "description": "List of card tokens" - }, - "ApiRequestContainerCardOperationsRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/CardOperationsRequestDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "CardOperationsRequestDto": { - "required": [ - "cardId", - "daysCount", - "fromDate", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "cardId": { - "type": "string", - "description": "Profee card ID" - }, - "fromDate": { - "pattern": "yyyy-MM-dd", - "type": "string", - "description": "From this date the history of operations will be displayed", - "format": "date" - }, - "daysCount": { - "type": "integer", - "description": "The number of days for which the history of operations will be shown. For technical reasons we cannot display transactions older than 30 days", - "format": "int32" - } - }, - "description": "Model Profee card operations history" - }, - "ApiResponseContainerCardOperationsDto": { - "required": [ - "signature", - "status" - ], - "type": "object", - "properties": { - "response": { - "$ref": "#/components/schemas/CardOperationsDto" - }, - "status": { - "$ref": "#/components/schemas/ResponseStatus" - }, - "signature": { - "type": "string", - "description": "Signature of response content" - } - }, - "description": "Response wrapper" - }, - "CardOperationDto": { - "type": "object", - "properties": { - "state": { - "type": "string", - "description": "Card operation state code", - "enum": [ - "AUTH_DECLINE", - "AUTH_REVERSAL", - "AUTH_APPROVE", - "TRANSACTION_A", - "TRANSACTION_AS", - "TRANSACTION_M", - "TRANSACTION_MS" - ] - }, - "type": { - "$ref": "#/components/schemas/CardOperationType" - }, - "mcc": { - "type": "string", - "description": "Card operation MCC" - }, - "authDate": { - "type": "string", - "description": "Card operation authorisation date" - }, - "authTime": { - "type": "string", - "description": "Card operation authorisation time" - }, - "postingDate": { - "type": "string", - "description": "Card operation posting date" - }, - "authCode": { - "type": "string", - "description": "Card operation authorisation code" - }, - "rrn": { - "type": "string", - "description": "Card operation rnn" - }, - "merchantId": { - "type": "string", - "description": "Card operation merchant ID" - }, - "terminalId": { - "type": "string", - "description": "Card operation terminal ID" - }, - "merchantName": { - "type": "string", - "description": "Card operation merchant name" - }, - "merchantCity": { - "type": "string", - "description": "Card operation merchant city" - }, - "merchantCountry": { - "type": "string", - "description": "Card operation merchant country" - }, - "merchantSum": { - "$ref": "#/components/schemas/MoneyDto" - }, - "cardSum": { - "$ref": "#/components/schemas/MoneyDto" - }, - "authDescription": { - "type": "string", - "description": "Card operation description of authorisation" - } - }, - "description": "Card operation" - }, - "CardOperationType": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "direction": { - "type": "string", - "enum": [ - "DEBIT", - "CREDIT" - ] - }, - "description": { - "type": "string" - } - }, - "description": "Card operation type" - }, - "CardOperationsDto": { - "required": [ - "cardId", - "daysCount", - "fromDate", - "operations", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "cardId": { - "type": "string", - "description": "Profee card ID" - }, - "fromDate": { - "pattern": "yyyy-MM-dd", - "type": "string", - "description": "From this date the history of operations will be displayed", - "format": "date" - }, - "daysCount": { - "type": "integer", - "description": "The number of days for which the history of operations will be shown. For technical reasons we cannot display transactions older than 30 days", - "format": "int32" - }, - "operations": { - "type": "array", - "description": "Profee card operations history", - "items": { - "$ref": "#/components/schemas/CardOperationDto" - } - } - }, - "description": "Model Profee card operations history" - }, - "ApiRequestContainerGetCardDetailsRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/GetCardDetailsRequestDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "GetCardDetailsRequestDto": { - "required": [ - "cardId", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "cardId": { - "type": "string", - "description": "Profee card ID" - } - }, - "description": "Request model to get Profee card information" - }, - "ApiResponseContainerCardSecureDto": { - "required": [ - "signature", - "status" - ], - "type": "object", - "properties": { - "response": { - "$ref": "#/components/schemas/CardSecureDto" - }, - "status": { - "$ref": "#/components/schemas/ResponseStatus" - }, - "signature": { - "type": "string", - "description": "Signature of response content" - } - }, - "description": "Response wrapper" - }, - "CardSecureDto": { - "required": [ - "cardHolder", - "cardId", - "cvv", - "expiryDate", - "pan", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "cardId": { - "type": "string", - "description": "Profee card ID" - }, - "pan": { - "type": "string", - "description": "Profee card pan" - }, - "cvv": { - "type": "string", - "description": "Profee card cvv" - }, - "expiryDate": { - "type": "string", - "description": "Profee card expiry date" - }, - "cardHolder": { - "type": "string", - "description": "Cardholder name" - } - }, - "description": "Model Profee card details. May be unavailable due to PCI DSS compliance" - }, - "ApiRequestContainerGetCardBalanceRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/GetCardBalanceRequestDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "GetCardBalanceRequestDto": { - "required": [ - "cardId", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "cardId": { - "type": "string", - "description": "Profee card ID" - } - }, - "description": "Request to get Profee card balance" - }, - "ApiResponseContainerCardBalanceDto": { - "required": [ - "signature", - "status" - ], - "type": "object", - "properties": { - "response": { - "$ref": "#/components/schemas/CardBalanceDto" - }, - "status": { - "$ref": "#/components/schemas/ResponseStatus" - }, - "signature": { - "type": "string", - "description": "Signature of response content" - } - }, - "description": "Response wrapper" - }, - "CardBalanceDto": { - "required": [ - "authorizedBalance", - "balance", - "cardId", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "cardId": { - "type": "string", - "description": "Profee card ID" - }, - "balance": { - "$ref": "#/components/schemas/MoneyDto" - }, - "authorizedBalance": { - "$ref": "#/components/schemas/MoneyDto" - } - }, - "description": "Model Profee card balance" - }, - "ApiRequestContainerCreateCardRequestDto": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/CreateCardRequestDto" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "CreateCardRequestDto": { - "required": [ - "productId", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "productId": { - "type": "string", - "description": "Profee Card product ID" - } - }, - "description": "Request model to create Profee card" - }, - "ApiRequestContainerPlastic Profee Card Activation Request": { - "required": [ - "request", - "signature" - ], - "type": "object", - "properties": { - "request": { - "$ref": "#/components/schemas/Plastic Profee card activation request" - }, - "signature": { - "type": "string", - "description": "Signature of request content" - } - }, - "description": "Request wrapper" - }, - "Plastic Profee card activation request": { - "required": [ - "approvalCode", - "cardId", - "walletId" - ], - "type": "object", - "properties": { - "walletId": { - "type": "string", - "description": "User's Wallet ID" - }, - "cardId": { - "type": "string", - "description": "Profee card ID" - }, - "approvalCode": { - "type": "string", - "description": "Approval code, received by Post" - } - }, - "description": "Request for Plastic Profee card activation request" - } - }, - "securitySchemes": { - "basic": { - "type": "http", - "name": "X-Merchant-Id", - "in": "header", - "scheme": "basic" - } - } - } -} \ No newline at end of file +{"openapi":"3.0.1","info":{"title":"Profee WaaS integration API","description":"

Welcome to the Profee wallet-as-a-service API documentation.

\n

Our API allow you to embed financial services into your product: enable your users to hold funds, manage cash flow,\n issue virtual card and make payments.

\n

\n This documentation provides you with the following information divided into sections:\n

\n\n

\n list of tokenized cards issued in other banks available for user to make transfers.\n

\n

\n This is a living document to be updated regularly with new functionality. To access our sandbox or address questions\n to our developers please contact: waasteam@profeelab.net\n

","license":{"name":"Profee","url":"http://profee.com"},"version":"v0.0.1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Payments","description":"We provide the list of payments methods for registered users. For each payment method, we give you a unique `methodId`.\n\nPayment methods are divided by types, provided in `methodType`.\n\n### Method types:\n\n- `Wallet to wallet` - a payment between users and their wallets.\n- `Wallet to partner` - a payment from user's wallet to partner.\n- `Paysafecash to wallet` - a topping up user’s wallet via Paysafecash. Give the opportunity to up user’s wallet with cash.\n- `Shift to card`- a payment from user's wallet to card issued via Profee.\n- `Shift to wallet` - a payment from card issued via Profee to user's wallet.\n\n![WAAS API - payment methods](img/WAAS_API_-_Payment_methods.jpg)\n\nOverview of steps:\n\n![WAAS API - payments steps](img/WAAS_API_-_Payment_steps.jpg)"},{"name":"Wallets","description":"We create a wallet for each User of our partner, which is the registration of users.\nIt is the starting point for interacting with our service\n\nWe have several critical restrictions for registering clients creating wallets:\n\n- The User must be over 18 years old\n- Unique phone number\n- Unique email\n\nOverview of steps:\n\n![WAAS API - Wallet steps](img/WAAS_API_-_Wallet_steps.jpg)"},{"name":"Cards","description":"Our service allows you to issue bank cards for users. We can issue virtual and plastic cards. We also have a partner who will deliver plastic cards. Check the list of countries supported for cards delivery.\n\nWe will provide you different `productId` in order to issue plastic and virtual card on stage and product environments.\n\n> 💡 Сard issuing is available only for verified users and users with level PLUS or PREMIUM. You can check it via request `/get-wallet`\n\nOverview of steps:\n\n![WAAS API - card](img/WAAS_API_-_Card.jpg)"}],"paths":{"/wallet/get-wallet":{"post":{"tags":["Wallets"],"summary":"Get wallet","description":"Get current limit and wallet status.","operationId":"getWallet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerGetWalletRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerWalletDto"}}}}}}},"/wallet/get-documents-status":{"post":{"tags":["Wallets"],"summary":"Getting the status of added documents","description":"Get the status of added documents.\nTo understand what is happening with customer's documents, you should look at the status of each \nadded document in response. \n### `documentStatusDto/warnings`\n\nFirst, you need to look at is `warnings`. It will show the precheck result. \nYou can ignore it, or communicate to the customer and ask him to re-upload a particular `documentType`. \n\n### `documentStatusDto/reviewResult/reviewAnswer`\n\nGeneral answer on screening of particular document and `documentType`. \n\n- GREEN - The `documentType`can be accepted and successfully verified. \nYou can upload more then one document for each `documentType`, if you get one `GREEN` for one of them \nit means this `documentType` approved and you can ignore other documents with the same `documentType`.\n- RED - The document for a particular `documentType` has been rejected.\n\n### `array/reviewResult/reviewRejectType`\n\nIf you got `reviewAnswer` RED- `reviewAnswer` we have to understand is it Final or not. \n\n- `Final` - means that document finally rejected, and customer also rejected and will not be approved \nwith another document.\n- `Retry` - The \"retry\" rejection means that customer needs to re-upload a document. \nFor example, by uploading a better quality image. More information about the reason and what to suggest \nto the customer you can find in the `rejectLabels`.","operationId":"getDocumentsStatus","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerDocumentsStatusRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerDocumentsStatusDto"}}}}}}},"/wallet/create-wallet":{"post":{"tags":["Wallets"],"summary":"Create wallet","description":"Create a wallet to register your users in our system. Specify all the necessary data for new wallet registration.","operationId":"createWallet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerCreateWalletRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerWalletDto"}}}}}}},"/wallet/add-document":{"post":{"tags":["Wallets"],"summary":"Add verification document","description":"To verify a User’s identity with Profee, we need to receive documentation:\n\n- A document to confirm the User’s identity.\n- A separate document to confirm the User’s place of residence\n- A selfie holding the document provided in the previous point","operationId":"addDocument","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerAddDocumentDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerAddDocumentDto"}}}}}}},"/payment/get-payment":{"post":{"tags":["Payments"],"summary":"Get payment","description":"Get current information about payment and status.","operationId":"getPayment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerGetPaymentRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerBasePaymentResponseDto"}}}}}}},"/payment/create-payment":{"post":{"tags":["Payments"],"summary":"Create payment","description":"Create a payment on a pre-placed payment order. ","operationId":"createPayment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerCreatePaymentRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerBasePaymentResponseDto"}}}}}}},"/payment/create-payment-order":{"post":{"tags":["Payments"],"summary":"Create payment order","description":"Create an order to make a payment for registered users.\n\nIt is the first step of making payment. Here we check the possibility to process a payment and calculate fees.\n\nWhen checking the possibility of making payments, we check:\n\n- balance of payment sender\n- daily and monthly limits of wallet\n- availability of another wallet for `Wallet to wallet` payment type\n\n> 💡 You can set up`/to/amount` for many payment methods and `/from/amount`. You should use only one of them: `/to/amount` OR `/from/amount.` This functionality makes it possible to calculate the missing amount by direct or reverse calculation, and we will do it ourselves.\n","operationId":"createPaymentOrder","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerBasePaymentOrderRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerBasePaymentOrderResponseDto"}}}}}}},"/card/get-card":{"post":{"tags":["Cards"],"summary":"Get Profee card information","description":"Get general information about the issued card and its current status.","operationId":"getCard","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerGetCardRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerCardDto"}}}}}}},"/card/get-card-tokens":{"post":{"tags":["Cards"],"summary":"Get card tokens","description":"After funding a Profee wallet with a bank card, the card data is saved in the form of a token.
The token can be used for subsequent transactions to top up the wallet and withdrawals to the card.
The request allows you to get all tokens linked to the wallet","operationId":"getCardTokens","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerCardTokensRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerCardTokensDto"}}}}}}},"/card/get-card-operations":{"post":{"tags":["Cards"],"summary":"Get Profee card operation history","description":"UNDER CONSTRUCTION: Get data on the latest card transactions","operationId":"getCardOperations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerCardOperationsRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerCardOperationsDto"}}}}}}},"/card/get-card-details":{"post":{"tags":["Cards"],"summary":"Get Profee card details","description":"Get sensitive card details. We use the RSA algorithm to encrypt sensitive data in response. To operate request `/get-card-details`, you need to generate for us a public RSA key with 4096-bit size. Better to prepare at once two keys, one for stage and one for production.\n\nWe encrypt a few fields in response to the request: pan, CVV, expiry date. For decryption, you will need your private keys.","operationId":"getCardDetails","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerGetCardDetailsRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerCardSecureDto"}}}}}}},"/card/get-card-balance":{"post":{"tags":["Cards"],"summary":"Get Profee card balance","description":"Get the current balance of the card and the amount of active holds.\n\n- For details:\n\n> balance - available balance\n> \n> authorizedBalance - total amount of active holds","operationId":"getCardBalance","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerGetCardBalanceRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerCardBalanceDto"}}}}}}},"/card/create-card":{"post":{"tags":["Cards"],"summary":"Create Profee card","description":"Issue new Profee card.","operationId":"createCard","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerCreateCardRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerCardDto"}}}}}}},"/card/activate-plastic-card":{"post":{"tags":["Cards"],"summary":"Plactic Profee card activation","description":"In the case of issuing the plastic card, we deliver a postal envelope to the customer with plastic card and approval code. Customer need to activate the card with an approval code.","operationId":"activatePlasticCard","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequestContainerPlastic Profee Card Activation Request"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseContainerCardDto"}}}}}}}},"components":{"schemas":{"ApiRequestContainerGetWalletRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/GetWalletRequestDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"GetWalletRequestDto":{"required":["walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"}},"description":"Request model to Get Wallet"},"ApiResponseContainerWalletDto":{"required":["signature","status"],"type":"object","properties":{"response":{"$ref":"#/components/schemas/WalletDto"},"status":{"$ref":"#/components/schemas/ResponseStatus"},"signature":{"type":"string","description":"Signature of response content"}},"description":"Response wrapper"},"BalanceDto":{"required":["money"],"type":"object","properties":{"money":{"$ref":"#/components/schemas/MoneyDto"}},"description":"Balance"},"LimitDto":{"required":["sum","type"],"type":"object","properties":{"sum":{"$ref":"#/components/schemas/MoneyDto"},"type":{"type":"string","description":"Limit type","enum":["DAILY_TO","DAILY_FROM","MONTHLY_TO","MONTHLY_FROM","YEARLY_TO","YEARLY_FROM","GAMBLE"]}},"description":"Limit information"},"MoneyDto":{"required":["currency"],"type":"object","properties":{"amount":{"type":"number","description":"Amount of money. Can be null."},"currency":{"type":"string","description":"Currency represented in alpha codes ISO 4217"}},"description":"Amount and currency"},"ResponseStatus":{"required":["code","message"],"type":"object","properties":{"code":{"type":"string","description":"Response code (for machine)","enum":["OK","CREATED","BAD_REQUEST","UNEXPECTED_ERROR","CONFLICT","EMAIL_IS_NOT_VERIFIED","PRODUCT_NOT_FOUND","WRONG_PRODUCT","CARD_NOT_FOUND","WALLET_NOT_FOUND","MAX_CARD_COUNT_REACHED","WAAS_PARTNER_NOT_CONFIGURED","VERIFICATION_LEVEL_NOT_ENOUGH","WRONG_CARD_STATUS","FAILED_TO_ACTIVATE_PLASTIC_CARD","WRONG_WALLET_IDENT_STATUS","INVALID_DAYS_COUNT"]},"message":{"type":"string","description":"Response message (for developer)"}},"description":"Response status"},"WalletDto":{"required":["balances","externalId","limits","status","verificationLevel","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"balances":{"type":"array","description":"Balances in all available currencies","items":{"$ref":"#/components/schemas/BalanceDto"}},"limits":{"type":"array","description":"Limits information in all available currencies","items":{"$ref":"#/components/schemas/LimitDto"}},"verificationLevel":{"type":"string","description":"User's Wallet verification level (KYC)","enum":["UNVERIFIED","BASIC","PLUS","PREMIUM"]},"status":{"type":"string","description":"Wallet Status","enum":["ACTIVE","LOCKED","BLOCKED"]},"externalId":{"type":"string","description":"External ID - Wallet ID in Merchant system"}},"description":"Wallet information"},"ApiRequestContainerDocumentsStatusRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/DocumentsStatusRequestDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"DocumentsStatusRequestDto":{"required":["walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"}},"description":"Request to get the status of added user documents"},"ApiResponseContainerDocumentsStatusDto":{"required":["signature","status"],"type":"object","properties":{"response":{"$ref":"#/components/schemas/DocumentsStatusDto"},"status":{"$ref":"#/components/schemas/ResponseStatus"},"signature":{"type":"string","description":"Signature of response content"}},"description":"Response wrapper"},"DocumentStatusDto":{"type":"object","properties":{"id":{"type":"string","description":"Document ID, generated when adding a document"},"documentType":{"type":"string","description":"Document type","enum":["ID_CARD","PASSPORT","DRIVERS","BANK_CARD","UTILITY_BILL","BANK_STATEMENT","SELFIE","VIDEO_SELFIE","PROFILE_IMAGE","ID_DOC_PHOTO","AGREEMENT","CONTRACT","RESIDENCE_PERMIT","EMPLOYMENT_CERTIFICATE","DRIVERS_TRANSLATION","INVESTOR_DOC","VEHICLE_REGISTRATION_CERTIFICATE","INCOME_SOURCE","PAYMENT_METHOD","OTHER"]},"documentSubType":{"type":"string","description":"Document sub type","enum":["FRONT_SIDE","BACK_SIDE"]},"proofSubject":{"type":"string","description":"Proof subject of document. Can be proof of residence, proof of identity or selfie","enum":["POI","SELFIE","POR"]},"errors":{"type":"array","description":"List of errors when checking a document","items":{"type":"string","description":"List of errors when checking a document"}},"warnings":{"type":"array","description":"List of warnings when checking a document","items":{"type":"string","description":"List of warnings when checking a document"}},"reviewResult":{"$ref":"#/components/schemas/ReviewResult"}},"description":"Status of added document"},"DocumentsStatusDto":{"required":["documentsStatus","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"documentsStatus":{"type":"array","description":"Added documents status","items":{"$ref":"#/components/schemas/DocumentStatusDto"}}},"description":"Added documents status"},"ReviewResult":{"type":"object","properties":{"moderationComment":{"type":"string","description":"Moderation comment"},"clientComment":{"type":"string","description":"Client comment"},"reviewAnswer":{"type":"string","description":"The overall result of the test. Green means the document was successfully verified, red - violations detected.","enum":["GREEN","RED"]},"rejectLabels":{"type":"array","description":"A list of violation codes found during document verification.\n\n|Value|Default| reviewRejectTypeDescription|\n|-----|--------|-------------------------------|\n|FORGERY|FINAL|Forgery attempt has been made|\n|DOCUMENT_TEMPLATE|FINAL|Documents supplied are templates, downloaded from internet|\n|LOW_QUALITY|RETRY|Documents have low-quality that does not allow definitive conclusions to be made|\n|SPAM|FINAL|An applicant has been created by mistake or is just a spam user (irrelevant images were supplied)|\n|NOT_DOCUMENT|RETRY|Documents supplied are not relevant for the verification procedure|\n|SELFIE_MISMATCH|FINAL|A user photo (profile image) does not match a photo on the provided documents|\n|ID_INVALID|RETRY|A document that identifies a person (like a passport or an ID card) is not valid|\n|FOREIGNER|FINAL|When a client does not accept applicants from a different country or e.g. without a residence permit|\n|DUPLICATE|FINAL|This applicant was already created for this client, and duplicates are not allowed by the regulations|\n|BAD_AVATAR|RETRY|When avatar does not meet the client's requirements|\n|WRONG_USER_REGION|FINAL|When applicants from certain regions/countries are not allowed to be registered|\n|INCOMPLETE_DOCUMENT|RETRY|Some information is missing from the document, or it's partially visible|\n|BLACKLIST|FINAL|User is blacklisted|\n|UNSATISFACTORY_PHOTOS|RETRY|There were problems with the photos, like poor quality or masked information|\n|DOCUMENT_PAGE_MISSING|RETRY|Some pages of a document are missing (if applicable)|\n|DOCUMENT_DAMAGED|RETRY|Document is damaged|\n|REGULATIONS_VIOLATIONS|FINAL|Regulations violations|\n|INCONSISTENT_PROFILE|FINAL|Data or documents of different persons were uploaded to one applicant|\n|PROBLEMATIC_APPLICANT_DATA|RETRY|Applicant data does not match the data in the documents|\n|ADDITIONAL_DOCUMENT_REQUIRED|RETRY|Additional documents required to pass the check|\n|AGE_REQUIREMENT_MISMATCH|FINAL|Age requirement is not met (e.g. cannot rent a car to a person below 25yo)|\n|EXPERIENCE_REQUIREMENT_MISMATCH|FINAL|Not enough experience (e.g. driving experience is not enough)|\n|CRIMINAL|FINAL|The user is involved in illegal actions|\n|WRONG_ADDRESS|RETRY|The address from the documents doesn't match the address that the user entered|\n|GRAPHIC_EDITOR|RETRY|The document has been edited by a graphical editor|\n|DOCUMENT_DEPRIVED|RETRY|The user has been deprived of the document|\n|COMPROMISED_PERSONS|FINAL|The user does not correspond to Compromised Person Politics|\n|PEP|FINAL|The user belongs to the PEP category|\n|ADVERSE_MEDIA|FINAL|The user was found in the adverse media|\n|FRAUDULENT_PATTERNS|FINAL|Fraudulent behavior was detected|\n|SANCTIONS|FINAL|The user was found on sanction lists|\n|NOT_ALL_CHECKS_COMPLETED|RETRY|All checks were not completed|\n|FRONT_SIDE_MISSING|RETRY|Front side of the document is missing|\n|BACK_SIDE_MISSING|RETRY|Back side of the document is missing|\n|SCREENSHOTS|RETRY|The user uploaded screenshots|\n|BLACK_AND_WHITE|RETRY|The user uploaded black and white photos of documents|\n|INCOMPATIBLE_LANGUAGE|RETRY|The user should upload translation of his document|\n|EXPIRATION_DATE|RETRY|The user uploaded expired document|\n|UNFILLED_ID|RETRY|The user uploaded the document without signatures and stamps|\n|BAD_SELFIE|RETRY|The user uploaded a bad selfie|\n|BAD_VIDEO_SELFIE|RETRY|The user uploaded a bad video selfie|\n|BAD_FACE_MATCHING|RETRY|Face check between document and selfie failed|\n|BAD_PROOF_OF_IDENTITY|RETRY|The user uploaded a bad ID document|\n|BAD_PROOF_OF_ADDRESS|RETRY|The user uploaded a bad proof of address|\n|BAD_PROOF_OF_PAYMENT|RETRY|The user uploaded a bad proof of payment|\n|SELFIE_WITH_PAPER|RETRY|The user should upload a special selfie (e.g. selfie with paper and date on it)|\n|FRAUDULENT_LIVENESS|FINAL|There was an attempt to bypass liveness check|\n|OTHER|RETRY|Some unclassified reason|\n|REQUESTED_DATA_MISMATCH|RETRY|Provided info doesn't match with recognized from document data|\n|OK|RETRY|Custom reject label|\n|COMPANY_NOT_DEFINED_STRUCTURE|RETRY|Could not establish the entity's control structure|\n|COMPANY_NOT_DEFINED_BENEFICIARIES|RETRY|Could not identify and duly verify the entity's beneficial owners|\n|COMPANY_NOT_VALIDATED_BENEFICIARIES|RETRY|Beneficiaries are not validated|\n|COMPANY_NOT_DEFINED_REPRESENTATIVES|RETRY|Representatives are not defined|\n|COMPANY_NOT_VALIDATED_REPRESENTATIVES|RETRY|Representatives are not validated|\n","items":{"type":"string","description":"A list of violation codes found during document verification.\n\n|Value|Default| reviewRejectTypeDescription|\n|-----|--------|-------------------------------|\n|FORGERY|FINAL|Forgery attempt has been made|\n|DOCUMENT_TEMPLATE|FINAL|Documents supplied are templates, downloaded from internet|\n|LOW_QUALITY|RETRY|Documents have low-quality that does not allow definitive conclusions to be made|\n|SPAM|FINAL|An applicant has been created by mistake or is just a spam user (irrelevant images were supplied)|\n|NOT_DOCUMENT|RETRY|Documents supplied are not relevant for the verification procedure|\n|SELFIE_MISMATCH|FINAL|A user photo (profile image) does not match a photo on the provided documents|\n|ID_INVALID|RETRY|A document that identifies a person (like a passport or an ID card) is not valid|\n|FOREIGNER|FINAL|When a client does not accept applicants from a different country or e.g. without a residence permit|\n|DUPLICATE|FINAL|This applicant was already created for this client, and duplicates are not allowed by the regulations|\n|BAD_AVATAR|RETRY|When avatar does not meet the client's requirements|\n|WRONG_USER_REGION|FINAL|When applicants from certain regions/countries are not allowed to be registered|\n|INCOMPLETE_DOCUMENT|RETRY|Some information is missing from the document, or it's partially visible|\n|BLACKLIST|FINAL|User is blacklisted|\n|UNSATISFACTORY_PHOTOS|RETRY|There were problems with the photos, like poor quality or masked information|\n|DOCUMENT_PAGE_MISSING|RETRY|Some pages of a document are missing (if applicable)|\n|DOCUMENT_DAMAGED|RETRY|Document is damaged|\n|REGULATIONS_VIOLATIONS|FINAL|Regulations violations|\n|INCONSISTENT_PROFILE|FINAL|Data or documents of different persons were uploaded to one applicant|\n|PROBLEMATIC_APPLICANT_DATA|RETRY|Applicant data does not match the data in the documents|\n|ADDITIONAL_DOCUMENT_REQUIRED|RETRY|Additional documents required to pass the check|\n|AGE_REQUIREMENT_MISMATCH|FINAL|Age requirement is not met (e.g. cannot rent a car to a person below 25yo)|\n|EXPERIENCE_REQUIREMENT_MISMATCH|FINAL|Not enough experience (e.g. driving experience is not enough)|\n|CRIMINAL|FINAL|The user is involved in illegal actions|\n|WRONG_ADDRESS|RETRY|The address from the documents doesn't match the address that the user entered|\n|GRAPHIC_EDITOR|RETRY|The document has been edited by a graphical editor|\n|DOCUMENT_DEPRIVED|RETRY|The user has been deprived of the document|\n|COMPROMISED_PERSONS|FINAL|The user does not correspond to Compromised Person Politics|\n|PEP|FINAL|The user belongs to the PEP category|\n|ADVERSE_MEDIA|FINAL|The user was found in the adverse media|\n|FRAUDULENT_PATTERNS|FINAL|Fraudulent behavior was detected|\n|SANCTIONS|FINAL|The user was found on sanction lists|\n|NOT_ALL_CHECKS_COMPLETED|RETRY|All checks were not completed|\n|FRONT_SIDE_MISSING|RETRY|Front side of the document is missing|\n|BACK_SIDE_MISSING|RETRY|Back side of the document is missing|\n|SCREENSHOTS|RETRY|The user uploaded screenshots|\n|BLACK_AND_WHITE|RETRY|The user uploaded black and white photos of documents|\n|INCOMPATIBLE_LANGUAGE|RETRY|The user should upload translation of his document|\n|EXPIRATION_DATE|RETRY|The user uploaded expired document|\n|UNFILLED_ID|RETRY|The user uploaded the document without signatures and stamps|\n|BAD_SELFIE|RETRY|The user uploaded a bad selfie|\n|BAD_VIDEO_SELFIE|RETRY|The user uploaded a bad video selfie|\n|BAD_FACE_MATCHING|RETRY|Face check between document and selfie failed|\n|BAD_PROOF_OF_IDENTITY|RETRY|The user uploaded a bad ID document|\n|BAD_PROOF_OF_ADDRESS|RETRY|The user uploaded a bad proof of address|\n|BAD_PROOF_OF_PAYMENT|RETRY|The user uploaded a bad proof of payment|\n|SELFIE_WITH_PAPER|RETRY|The user should upload a special selfie (e.g. selfie with paper and date on it)|\n|FRAUDULENT_LIVENESS|FINAL|There was an attempt to bypass liveness check|\n|OTHER|RETRY|Some unclassified reason|\n|REQUESTED_DATA_MISMATCH|RETRY|Provided info doesn't match with recognized from document data|\n|OK|RETRY|Custom reject label|\n|COMPANY_NOT_DEFINED_STRUCTURE|RETRY|Could not establish the entity's control structure|\n|COMPANY_NOT_DEFINED_BENEFICIARIES|RETRY|Could not identify and duly verify the entity's beneficial owners|\n|COMPANY_NOT_VALIDATED_BENEFICIARIES|RETRY|Beneficiaries are not validated|\n|COMPANY_NOT_DEFINED_REPRESENTATIVES|RETRY|Representatives are not defined|\n|COMPANY_NOT_VALIDATED_REPRESENTATIVES|RETRY|Representatives are not validated|\n","enum":["FORGERY","DOCUMENT_TEMPLATE","LOW_QUALITY","SPAM","NOT_DOCUMENT","SELFIE_MISMATCH","ID_INVALID","FOREIGNER","DUPLICATE","BAD_AVATAR","WRONG_USER_REGION","INCOMPLETE_DOCUMENT","BLACKLIST","UNSATISFACTORY_PHOTOS","DOCUMENT_PAGE_MISSING","DOCUMENT_DAMAGED","REGULATIONS_VIOLATIONS","INCONSISTENT_PROFILE","PROBLEMATIC_APPLICANT_DATA","ADDITIONAL_DOCUMENT_REQUIRED","AGE_REQUIREMENT_MISMATCH","EXPERIENCE_REQUIREMENT_MISMATCH","CRIMINAL","WRONG_ADDRESS","GRAPHIC_EDITOR","DOCUMENT_DEPRIVED","COMPROMISED_PERSONS","PEP","ADVERSE_MEDIA","FRAUDULENT_PATTERNS","SANCTIONS","NOT_ALL_CHECKS_COMPLETED","FRONT_SIDE_MISSING","BACK_SIDE_MISSING","SCREENSHOTS","BLACK_AND_WHITE","INCOMPATIBLE_LANGUAGE","EXPIRATION_DATE","UNFILLED_ID","BAD_SELFIE","BAD_VIDEO_SELFIE","BAD_FACE_MATCHING","BAD_PROOF_OF_IDENTITY","BAD_PROOF_OF_ADDRESS","BAD_PROOF_OF_PAYMENT","SELFIE_WITH_PAPER","OTHER"]}},"reviewRejectType":{"type":"string","description":"Whether the rejection is final. The \"retry\" rejection can be corrected, for example, by uploading a better quality image (more information in the rejection labels)","enum":["FINAL","RETRY","EXTERNAL"]}},"description":"The results of the document verification"},"AddressDto":{"required":["buildingName","city","flatNumber","postalCode","streetName"],"type":"object","properties":{"city":{"type":"string"},"postalCode":{"type":"string"},"streetName":{"type":"string"},"buildingName":{"type":"string"},"flatNumber":{"type":"string"}},"description":"User's residential address"},"ApiRequestContainerCreateWalletRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/CreateWalletRequestDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"CreateWalletRequestDto":{"required":["citizenship","dateOfBirth","email","externalId","firstName","lastName","residence","residentialAddress"],"type":"object","properties":{"phone":{"type":"integer","description":"User's phone number (must be verified before performing request)","format":"int64"},"email":{"type":"string","description":"User's email"},"firstName":{"type":"string","description":"User's first name"},"lastName":{"type":"string","description":"User's last name"},"dateOfBirth":{"pattern":"yyyy-MM-dd","type":"string","description":"User's date of birth","format":"date"},"citizenship":{"maxLength":3,"minLength":3,"pattern":"[a-zA-Z]{3}","type":"string","description":"User's citizenship Alpha-3 code"},"residence":{"maxLength":3,"minLength":3,"pattern":"[a-zA-Z]{3}","type":"string","description":"User's residence Alpha-3 code"},"residentialAddress":{"$ref":"#/components/schemas/AddressDto"},"externalId":{"type":"string","description":"External ID - Wallet ID in Merchant system"}},"description":"Request model to Create Wallet"},"AddDocumentDto":{"required":["countryCode","documentContent","documentType","proofSubject","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"documentType":{"type":"string","description":"Personal document type","enum":["ID_CARD","PASSPORT","DRIVERS","BANK_CARD","UTILITY_BILL","BANK_STATEMENT","SELFIE","VIDEO_SELFIE","PROFILE_IMAGE","ID_DOC_PHOTO","AGREEMENT","CONTRACT","RESIDENCE_PERMIT","EMPLOYMENT_CERTIFICATE","DRIVERS_TRANSLATION","INVESTOR_DOC","VEHICLE_REGISTRATION_CERTIFICATE","INCOME_SOURCE","PAYMENT_METHOD","OTHER"]},"documentSubType":{"type":"string","description":"Personal document sub-type","enum":["FRONT_SIDE","BACK_SIDE"]},"proofSubject":{"type":"string","description":"Proof subject of document. Can be proof of residence, proof of identity or selfie","enum":["POI","SELFIE","POR"]},"countryCode":{"maxLength":3,"minLength":0,"type":"string","description":"3-letter country code"},"firstName":{"type":"string","description":"First name"},"middleName":{"type":"string","description":"Middle name"},"lastName":{"type":"string","description":"Last name"},"issuedDate":{"type":"string","description":"Issued date (format YYYY-mm-dd, e.g. 2001-09-25)","format":"date"},"validUntil":{"type":"string","description":"Valid until date (format YYYY-mm-dd, e.g. 2001-09-26)","format":"date"},"number":{"type":"string","description":"Document number"},"dateOfBirth":{"type":"string","description":"Date of birth (format YYYY-mm-dd, e.g. 2001-09-27)","format":"date"},"placeOfBirth":{"type":"string","description":"Place of birth"},"documentContent":{"type":"string","description":"Personal document content (Base64 encoded file image content)"}},"description":"Request model to Upgrade User's wallet"},"ApiRequestContainerAddDocumentDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/AddDocumentDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"ApiResponseContainerAddDocumentDto":{"required":["signature","status"],"type":"object","properties":{"response":{"$ref":"#/components/schemas/AddDocumentDto"},"status":{"$ref":"#/components/schemas/ResponseStatus"},"signature":{"type":"string","description":"Signature of response content"}},"description":"Response wrapper"},"ApiRequestContainerGetPaymentRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/GetPaymentRequestDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"GetPaymentRequestDto":{"required":["paymentId"],"type":"object","properties":{"paymentId":{"type":"string","description":"Payment ID obtained from Create payment request"}},"description":"Request model to get payment information and status"},"ApiResponseContainerBasePaymentResponseDto":{"required":["signature","status"],"type":"object","properties":{"response":{"$ref":"#/components/schemas/BasePaymentResponseDto"},"status":{"$ref":"#/components/schemas/ResponseStatus"},"signature":{"type":"string","description":"Signature of response content"}},"description":"Response wrapper"},"BasePaymentResponseDto":{"required":["creatorWalletId","datetime","feeSum","fromSum","id","lifetimeMinutes","methodId","methodType","paymentOrderId","state","toSum"],"type":"object","properties":{"id":{"type":"string","description":"Payment id"},"paymentOrderId":{"type":"string","description":"Payment order id"},"methodId":{"type":"string","description":"Payment method id"},"methodType":{"type":"string","description":"Payment method type","enum":["WALLET_TO_WALLET","WALLET_TO_PARTNER","PARTNER_TO_WALLET","PAYSAFECASH_TO_WALLET","WAAS_SHIFT_TO_CARD","WAAS_SHIFT_TO_WALLET","WALLET_TO_CARD","WAAS_CARD_ISSUING"]},"creatorWalletId":{"type":"string","description":"Wallet id of user, initiated payment"},"datetime":{"type":"string","description":"Date and time of payment","format":"date-time"},"state":{"$ref":"#/components/schemas/PaymentStateDto"},"lifetimeMinutes":{"type":"integer","description":"Payment lifetime. If lifetime is passed and payment is not complete, it will failed","format":"int32"},"fromSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"toSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"feeSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"comment":{"type":"string","description":"Comment by a user"}},"description":"Model of payment","oneOf":[{"$ref":"#/components/schemas/WalletToWalletPaymentResponseDto"},{"$ref":"#/components/schemas/WalletToPartnerPaymentResponseDto"},{"$ref":"#/components/schemas/PaySafeCashToWalletPaymentResponseDto"},{"$ref":"#/components/schemas/ShiftToCardPaymentResponseDto"},{"$ref":"#/components/schemas/ShiftToWalletPaymentResponseDto"}]},"MinorUnitMoneyDto":{"required":["currency"],"type":"object","properties":{"amount":{"type":"number","description":"Amount of money in minor units. Can be null."},"currency":{"type":"string","description":"Currency represented in alpha codes ISO 4217"}},"description":"Amount in minor units and currency"},"PaySafeCashToWalletPaymentResponseDto":{"required":["creatorWalletId","datetime","feeSum","fromSum","id","lifetimeMinutes","methodId","methodType","paymentOrderId","state","toSum"],"type":"object","properties":{"id":{"type":"string","description":"Payment id"},"paymentOrderId":{"type":"string","description":"Payment order id"},"methodId":{"type":"string","description":"Payment method id"},"methodType":{"type":"string","description":"Payment method type","enum":["WALLET_TO_WALLET","WALLET_TO_PARTNER","PARTNER_TO_WALLET","PAYSAFECASH_TO_WALLET","WAAS_SHIFT_TO_CARD","WAAS_SHIFT_TO_WALLET","WALLET_TO_CARD","WAAS_CARD_ISSUING"]},"creatorWalletId":{"type":"string","description":"Wallet id of user, initiated payment"},"datetime":{"type":"string","description":"Date and time of payment","format":"date-time"},"state":{"$ref":"#/components/schemas/PaymentStateDto"},"lifetimeMinutes":{"type":"integer","description":"Payment lifetime. If lifetime is passed and payment is not complete, it will failed","format":"int32"},"fromSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"toSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"feeSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"comment":{"type":"string","description":"Comment by a user"},"redirectUrl":{"type":"string","description":"Redirect url to the Paysafecash payment panel"}},"description":"Top up wallet from PaySafeCash system"},"PaymentStateDto":{"type":"object","properties":{"code":{"type":"string","enum":["CONFIRMATION_REQUIRED","ACS_CHECK_REQUIRED","PAYMENT_IN_PROGRESS","EXTERNAL_PAYMENT","PAID_WAIT_NEXT_PAYMENT","PAID","ERROR_GENERAL"]},"isFinal":{"type":"boolean"}},"description":"Payment actual state"},"ShiftToCardPaymentResponseDto":{"required":["creatorWalletId","datetime","feeSum","fromSum","id","lifetimeMinutes","methodId","methodType","paymentOrderId","state","toSum"],"type":"object","properties":{"id":{"type":"string","description":"Payment id"},"paymentOrderId":{"type":"string","description":"Payment order id"},"methodId":{"type":"string","description":"Payment method id"},"methodType":{"type":"string","description":"Payment method type","enum":["WALLET_TO_WALLET","WALLET_TO_PARTNER","PARTNER_TO_WALLET","PAYSAFECASH_TO_WALLET","WAAS_SHIFT_TO_CARD","WAAS_SHIFT_TO_WALLET","WALLET_TO_CARD","WAAS_CARD_ISSUING"]},"creatorWalletId":{"type":"string","description":"Wallet id of user, initiated payment"},"datetime":{"type":"string","description":"Date and time of payment","format":"date-time"},"state":{"$ref":"#/components/schemas/PaymentStateDto"},"lifetimeMinutes":{"type":"integer","description":"Payment lifetime. If lifetime is passed and payment is not complete, it will failed","format":"int32"},"fromSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"toSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"feeSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"comment":{"type":"string","description":"Comment by a user"}}},"ShiftToWalletPaymentResponseDto":{"required":["creatorWalletId","datetime","feeSum","fromSum","id","lifetimeMinutes","methodId","methodType","paymentOrderId","state","toSum"],"type":"object","properties":{"id":{"type":"string","description":"Payment id"},"paymentOrderId":{"type":"string","description":"Payment order id"},"methodId":{"type":"string","description":"Payment method id"},"methodType":{"type":"string","description":"Payment method type","enum":["WALLET_TO_WALLET","WALLET_TO_PARTNER","PARTNER_TO_WALLET","PAYSAFECASH_TO_WALLET","WAAS_SHIFT_TO_CARD","WAAS_SHIFT_TO_WALLET","WALLET_TO_CARD","WAAS_CARD_ISSUING"]},"creatorWalletId":{"type":"string","description":"Wallet id of user, initiated payment"},"datetime":{"type":"string","description":"Date and time of payment","format":"date-time"},"state":{"$ref":"#/components/schemas/PaymentStateDto"},"lifetimeMinutes":{"type":"integer","description":"Payment lifetime. If lifetime is passed and payment is not complete, it will failed","format":"int32"},"fromSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"toSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"feeSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"comment":{"type":"string","description":"Comment by a user"}}},"WalletToPartnerPaymentResponseDto":{"required":["creatorWalletId","datetime","feeSum","fromSum","id","lifetimeMinutes","methodId","methodType","paymentOrderId","state","toSum"],"type":"object","properties":{"id":{"type":"string","description":"Payment id"},"paymentOrderId":{"type":"string","description":"Payment order id"},"methodId":{"type":"string","description":"Payment method id"},"methodType":{"type":"string","description":"Payment method type","enum":["WALLET_TO_WALLET","WALLET_TO_PARTNER","PARTNER_TO_WALLET","PAYSAFECASH_TO_WALLET","WAAS_SHIFT_TO_CARD","WAAS_SHIFT_TO_WALLET","WALLET_TO_CARD","WAAS_CARD_ISSUING"]},"creatorWalletId":{"type":"string","description":"Wallet id of user, initiated payment"},"datetime":{"type":"string","description":"Date and time of payment","format":"date-time"},"state":{"$ref":"#/components/schemas/PaymentStateDto"},"lifetimeMinutes":{"type":"integer","description":"Payment lifetime. If lifetime is passed and payment is not complete, it will failed","format":"int32"},"fromSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"toSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"feeSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"comment":{"type":"string","description":"Comment by a user"}}},"WalletToWalletPaymentResponseDto":{"required":["creatorWalletId","datetime","feeSum","fromSum","id","lifetimeMinutes","methodId","methodType","paymentOrderId","state","toSum"],"type":"object","properties":{"id":{"type":"string","description":"Payment id"},"paymentOrderId":{"type":"string","description":"Payment order id"},"methodId":{"type":"string","description":"Payment method id"},"creatorWalletId":{"type":"string","description":"Wallet id of user, initiated payment"},"methodType":{"type":"string","description":"Payment method type","enum":["WALLET_TO_WALLET","WALLET_TO_PARTNER","PARTNER_TO_WALLET","PAYSAFECASH_TO_WALLET","WAAS_SHIFT_TO_CARD","WAAS_SHIFT_TO_WALLET","WALLET_TO_CARD","WAAS_CARD_ISSUING"]},"datetime":{"type":"string","description":"Date and time of payment","format":"date-time"},"state":{"$ref":"#/components/schemas/PaymentStateDto"},"lifetimeMinutes":{"type":"integer","description":"Payment lifetime. If lifetime is passed and payment is not complete, it will failed","format":"int32"},"fromSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"toSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"feeSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"from":{"type":"string","writeOnly":true},"to":{"type":"string","writeOnly":true},"comment":{"type":"string","description":"Comment by a user"},"toWalletId":{"type":"string"}}},"ApiRequestContainerCreatePaymentRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/CreatePaymentRequestDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"CreatePaymentRequestDto":{"required":["externalId","paymentOrderId"],"type":"object","properties":{"paymentOrderId":{"type":"string","description":"Payment order ID obtained from Create payment order request"},"externalId":{"type":"string","description":"External ID - Payment ID in Merchant system"},"comment":{"type":"string","description":"User comment for a payment"}},"description":"Request model to Create payment"},"ApiRequestContainerBasePaymentOrderRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"oneOf":[{"$ref":"#/components/schemas/CardIssuingPaymentOrderRequestDto"},{"$ref":"#/components/schemas/PaysafecashToWalletPaymentOrderRequestDto"},{"$ref":"#/components/schemas/ShiftToCardPaymentOrderRequestDto"},{"$ref":"#/components/schemas/ShiftToWalletPaymentOrderRequestDto"},{"$ref":"#/components/schemas/WalletToPartnerPaymentOrderRequestDto"},{"$ref":"#/components/schemas/WalletToWalletPaymentOrderRequestDto"}]},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"BasePaymentOrderRequestDto":{"required":["externalId","from","methodId","methodType","to","walletId"],"type":"object","properties":{"externalId":{"type":"string","description":"Operation ID in waas-partner system"},"walletId":{"type":"string","description":"Payment order creator wallet id"},"methodId":{"type":"string","description":"Payment method ID"},"methodType":{"type":"string","description":"Payment method type","enum":["WALLET_TO_WALLET","WALLET_TO_PARTNER","PARTNER_TO_WALLET","PAYSAFECASH_TO_WALLET","WAAS_SHIFT_TO_CARD","WAAS_SHIFT_TO_WALLET","WALLET_TO_CARD","WAAS_CARD_ISSUING"]},"from":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"to":{"$ref":"#/components/schemas/MinorUnitMoneyDto"}},"description":"Model of payment order","discriminator":{"propertyName":"methodType"},"oneOf":[{"$ref":"#/components/schemas/WalletToWalletPaymentOrderRequestDto"},{"$ref":"#/components/schemas/WalletToPartnerPaymentOrderRequestDto"},{"$ref":"#/components/schemas/PaysafecashToWalletPaymentOrderRequestDto"},{"$ref":"#/components/schemas/ShiftToCardPaymentOrderRequestDto"},{"$ref":"#/components/schemas/ShiftToWalletPaymentOrderRequestDto"}]},"CardIssuingPaymentOrderRequestDto":{"required":["externalId","from","methodId","methodType","to","walletId"],"type":"object","description":"Order issue a card","allOf":[{"$ref":"#/components/schemas/BasePaymentOrderRequestDto"},{"type":"object","properties":{"cardId":{"type":"string"}}}]},"PaysafecashToWalletPaymentOrderRequestDto":{"required":["externalId","from","methodId","methodType","to","walletId"],"type":"object","description":"Order to top up wallet from Paysafecash system","allOf":[{"$ref":"#/components/schemas/BasePaymentOrderRequestDto"},{"type":"object","properties":{"redirectSuccessUrl":{"type":"string","description":"Payment recipient wallet URLs to redirect after successful authorization in PaySafeCash system"},"redirectFailUrl":{"type":"string","description":"Payment recipient wallet URLs to redirect after failed authorization in PaySafeCash system"}}}]},"ShiftToCardPaymentOrderRequestDto":{"required":["cardId","externalId","from","methodId","methodType","to","walletId"],"type":"object","description":"Order to shift money from client wallet to card","allOf":[{"$ref":"#/components/schemas/BasePaymentOrderRequestDto"},{"type":"object","properties":{"cardId":{"type":"string","description":"Card to be top upped"}}}]},"ShiftToWalletPaymentOrderRequestDto":{"required":["cardId","externalId","from","methodId","methodType","to","walletId"],"type":"object","description":"Order to shift money from client card to wallet","allOf":[{"$ref":"#/components/schemas/BasePaymentOrderRequestDto"},{"type":"object","properties":{"cardId":{"type":"string","description":"Card to withdraw"}}}]},"WalletToPartnerPaymentOrderRequestDto":{"required":["externalId","from","methodId","methodType","to","walletId"],"type":"object","description":"Order to payment from wallet to waas partner","allOf":[{"$ref":"#/components/schemas/BasePaymentOrderRequestDto"}]},"WalletToWalletPaymentOrderRequestDto":{"required":["externalId","from","methodId","methodType","to","toWalletId","walletId"],"type":"object","description":"Order to payment from wallet to another wallet","allOf":[{"$ref":"#/components/schemas/BasePaymentOrderRequestDto"},{"type":"object","properties":{"toWalletId":{"type":"string","description":"Payment recipient wallet ID"}}}]},"ApiResponseContainerBasePaymentOrderResponseDto":{"required":["signature","status"],"type":"object","properties":{"response":{"$ref":"#/components/schemas/BasePaymentOrderResponseDto"},"status":{"$ref":"#/components/schemas/ResponseStatus"},"signature":{"type":"string","description":"Signature of response content"}},"description":"Response wrapper"},"BasePaymentOrderResponseDto":{"required":["externalId","feeSum","fromSum","methodId","methodType","paymentOrderId","toSum"],"type":"object","properties":{"externalId":{"type":"string","description":"Operation ID in waas-partner system"},"methodType":{"type":"string","enum":["WALLET_TO_WALLET","WALLET_TO_PARTNER","PARTNER_TO_WALLET","PAYSAFECASH_TO_WALLET","WAAS_SHIFT_TO_CARD","WAAS_SHIFT_TO_WALLET","WALLET_TO_CARD","WAAS_CARD_ISSUING"]},"fromSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"toSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"feeSum":{"$ref":"#/components/schemas/MinorUnitMoneyDto"},"paymentOrderId":{"type":"string"},"methodId":{"type":"string"}},"description":"Response model of payment order"},"ApiRequestContainerGetCardRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/GetCardRequestDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"GetCardRequestDto":{"required":["cardId","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"cardId":{"type":"string","description":"Profee card ID"}},"description":"Request model to get Profee card information"},"ApiResponseContainerCardDto":{"required":["signature","status"],"type":"object","properties":{"response":{"$ref":"#/components/schemas/CardDto"},"status":{"$ref":"#/components/schemas/ResponseStatus"},"signature":{"type":"string","description":"Signature of response content"}},"description":"Response wrapper"},"CardDto":{"required":["cardId","cardStatus","currency","paymentSystem","productId","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"cardId":{"type":"string","description":"Profee card ID"},"cardStatus":{"type":"string","description":"Profee card status","enum":["INIT","ISSUED","EXPIRED","FAILED","CLOSED","FROZEN","DELIVERY","BLOCKED"]},"currency":{"type":"string","description":"Profee card currency"},"paymentSystem":{"type":"string","description":"Profee card payment system","enum":["VISA"]},"productId":{"type":"string","description":"Profee payment product ID"},"maskedPan":{"type":"string","description":"Profee card masked pan"}},"description":"Model Profee card"},"ApiRequestContainerCardTokensRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/CardTokensRequestDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"CardTokensRequestDto":{"required":["walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"}},"description":"Model card tokens"},"ApiResponseContainerCardTokensDto":{"required":["signature","status"],"type":"object","properties":{"response":{"$ref":"#/components/schemas/CardTokensDto"},"status":{"$ref":"#/components/schemas/ResponseStatus"},"signature":{"type":"string","description":"Signature of response content"}},"description":"Response wrapper"},"CardTokenDto":{"required":["PAN","cardStatus","cardholder","paymentSystem","token"],"type":"object","properties":{"token":{"type":"string","description":"Card token"},"PAN":{"type":"string","description":"Masked PAN"},"cardholder":{"type":"string","description":"Cardholder"},"paymentSystem":{"type":"string","description":"Card payment system","enum":["VISA","MASTERCARD"]},"cardStatus":{"type":"string","description":"Card status","enum":["ISSUED","FROZEN"]}},"description":"Сard token"},"CardTokensDto":{"required":["tokens"],"type":"object","properties":{"tokens":{"type":"array","description":"External card tokens","items":{"$ref":"#/components/schemas/CardTokenDto"}}},"description":"List of card tokens"},"ApiRequestContainerCardOperationsRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/CardOperationsRequestDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"CardOperationsRequestDto":{"required":["cardId","daysCount","fromDate","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"cardId":{"type":"string","description":"Profee card ID"},"fromDate":{"pattern":"yyyy-MM-dd","type":"string","description":"From this date the history of operations will be displayed","format":"date"},"daysCount":{"type":"integer","description":"The number of days for which the history of operations will be shown. For technical reasons we cannot display transactions older than 30 days","format":"int32"}},"description":"Model Profee card operations history"},"ApiResponseContainerCardOperationsDto":{"required":["signature","status"],"type":"object","properties":{"response":{"$ref":"#/components/schemas/CardOperationsDto"},"status":{"$ref":"#/components/schemas/ResponseStatus"},"signature":{"type":"string","description":"Signature of response content"}},"description":"Response wrapper"},"CardOperationDto":{"type":"object","properties":{"state":{"type":"string","description":"Card operation state code","enum":["AUTH_DECLINE","AUTH_REVERSAL","AUTH_APPROVE","TRANSACTION_A","TRANSACTION_AS","TRANSACTION_M","TRANSACTION_MS"]},"type":{"$ref":"#/components/schemas/CardOperationType"},"mcc":{"type":"string","description":"Card operation MCC"},"authDate":{"type":"string","description":"Card operation authorisation date"},"authTime":{"type":"string","description":"Card operation authorisation time"},"postingDate":{"type":"string","description":"Card operation posting date"},"authCode":{"type":"string","description":"Card operation authorisation code"},"rrn":{"type":"string","description":"Card operation rnn"},"merchantId":{"type":"string","description":"Card operation merchant ID"},"terminalId":{"type":"string","description":"Card operation terminal ID"},"merchantName":{"type":"string","description":"Card operation merchant name"},"merchantCity":{"type":"string","description":"Card operation merchant city"},"merchantCountry":{"type":"string","description":"Card operation merchant country"},"merchantSum":{"$ref":"#/components/schemas/MoneyDto"},"cardSum":{"$ref":"#/components/schemas/MoneyDto"},"authDescription":{"type":"string","description":"Card operation description of authorisation"}},"description":"Card operation"},"CardOperationType":{"type":"object","properties":{"code":{"type":"string"},"direction":{"type":"string","enum":["DEBIT","CREDIT"]},"description":{"type":"string"}},"description":"Card operation type"},"CardOperationsDto":{"required":["cardId","daysCount","fromDate","operations","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"cardId":{"type":"string","description":"Profee card ID"},"fromDate":{"pattern":"yyyy-MM-dd","type":"string","description":"From this date the history of operations will be displayed","format":"date"},"daysCount":{"type":"integer","description":"The number of days for which the history of operations will be shown. For technical reasons we cannot display transactions older than 30 days","format":"int32"},"operations":{"type":"array","description":"Profee card operations history","items":{"$ref":"#/components/schemas/CardOperationDto"}}},"description":"Model Profee card operations history"},"ApiRequestContainerGetCardDetailsRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/GetCardDetailsRequestDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"GetCardDetailsRequestDto":{"required":["cardId","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"cardId":{"type":"string","description":"Profee card ID"}},"description":"Request model to get Profee card information"},"ApiResponseContainerCardSecureDto":{"required":["signature","status"],"type":"object","properties":{"response":{"$ref":"#/components/schemas/CardSecureDto"},"status":{"$ref":"#/components/schemas/ResponseStatus"},"signature":{"type":"string","description":"Signature of response content"}},"description":"Response wrapper"},"CardSecureDto":{"required":["cardHolder","cardId","cvv","expiryDate","pan","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"cardId":{"type":"string","description":"Profee card ID"},"pan":{"type":"string","description":"Profee card pan"},"cvv":{"type":"string","description":"Profee card cvv"},"expiryDate":{"type":"string","description":"Profee card expiry date"},"cardHolder":{"type":"string","description":"Cardholder name"}},"description":"Model Profee card details. May be unavailable due to PCI DSS compliance"},"ApiRequestContainerGetCardBalanceRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/GetCardBalanceRequestDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"GetCardBalanceRequestDto":{"required":["cardId","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"cardId":{"type":"string","description":"Profee card ID"}},"description":"Request to get Profee card balance"},"ApiResponseContainerCardBalanceDto":{"required":["signature","status"],"type":"object","properties":{"response":{"$ref":"#/components/schemas/CardBalanceDto"},"status":{"$ref":"#/components/schemas/ResponseStatus"},"signature":{"type":"string","description":"Signature of response content"}},"description":"Response wrapper"},"CardBalanceDto":{"required":["authorizedBalance","balance","cardId","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"cardId":{"type":"string","description":"Profee card ID"},"balance":{"$ref":"#/components/schemas/MoneyDto"},"authorizedBalance":{"$ref":"#/components/schemas/MoneyDto"}},"description":"Model Profee card balance"},"ApiRequestContainerCreateCardRequestDto":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/CreateCardRequestDto"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"CreateCardRequestDto":{"required":["productId","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"productId":{"type":"string","description":"Profee Card product ID"}},"description":"Request model to create Profee card"},"ApiRequestContainerPlastic Profee Card Activation Request":{"required":["request","signature"],"type":"object","properties":{"request":{"$ref":"#/components/schemas/Plastic Profee card activation request"},"signature":{"type":"string","description":"Signature of request content"}},"description":"Request wrapper"},"Plastic Profee card activation request":{"required":["approvalCode","cardId","walletId"],"type":"object","properties":{"walletId":{"type":"string","description":"User's Wallet ID"},"cardId":{"type":"string","description":"Profee card ID"},"approvalCode":{"type":"string","description":"Approval code, received by Post"}},"description":"Request for Plastic Profee card activation request"}},"securitySchemes":{"basic":{"type":"http","name":"X-Merchant-Id","in":"header","scheme":"basic"}}}} \ No newline at end of file