diff --git a/waas-api.json b/waas-api.json index 3b0b670..4106692 100644 --- a/waas-api.json +++ b/waas-api.json @@ -1 +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:8081","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":"Returns 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/create-wallet":{"post":{"tags":["Wallets"],"summary":"Create wallet","description":"Creates 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":"Returns 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":"Creates 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":"Creates 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":"Returns the history of operations by one card for any 31 days. You just need to specify two parameters :\n\n- `fromDate` - starting date in the past which you want to get transactions from. Format is `YYYY-MM-DD`\n- `daysCount` - days from starting date to the future\n\nExamples:\n\n- if you want to see history for January 2022, you should specify `\"fromDate\": \"2022-01-01\"` with `\"daysCount\": \"31\"` days\n- If you want to see history for the current day, you should specify `\"fromDate\": [Current date]` with `\"daysCount\": \"1\"` days\n","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":"Returns 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. Please keep private key in safe. Better to prepare two couples of keys at once: one couple for testing and another one for production.\n\nWe encrypt a few fields in the response: pan, CVV, expiry date. For decryption, you need to use 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":"Returns 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"},"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 returned","format":"date"},"daysCount":{"type":"integer","description":"The number of days which the history of operations will be provided for. For technical reasons we restricted this value in 31 days","format":"int32"}},"description":"Request model to get 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, available values are:\n\n| State | Description |\n|----------------|---------------------------------------------|\n| AUTH_DECLINE | Operation declined |\n| AUTH_REVERSAL | Operation was reversed |\n| AUTH_APPROVE | Operation approved |\n| TRANSACTION_A | Operation by acquirer with authorization |\n| TRANSACTION_AS | Operation by acquirer without authorization |\n| TRANSACTION_M | Operation by merchant with authorisation |\n| TRANSACTION_MS | Operation by merchant without authorisation |","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 authorization date"},"authTime":{"type":"string","description":"Card operation authorization time"},"postingDate":{"type":"string","description":"Card operation posting date"},"authCode":{"type":"string","description":"Card operation authorization code"},"rrn":{"type":"string","description":"Card operation RRN (Reference Retrieval Number)"},"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 authorization"}},"description":"Card operation"},"CardOperationType":{"type":"object","properties":{"code":{"type":"string"},"direction":{"type":"string","enum":["DEBIT","CREDIT"]},"description":{"type":"string"}},"description":"Card operation type, available values are:\n\n| State | Direction | Description |\n|-------|-----------|-----------------------------|\n| AUTH | DEBIT | Debit Authorisation |\n| ATHP | CREDIT | Credit Authorisation |\n| SALK | DEBIT | Debit Transaction |\n| REFK | CREDIT | Credit Transaction |\n| AJDC | DEBIT | Debit Adjustment |\n| AJCC | CREDIT | Credit Adjustment |\n| VSAK | CREDIT | Reversal Debit Transaction |\n| VREK | DEBIT | Reversal Credit Transaction |\n| VAJC | CREDIT | Reversal Debit Adjustment |\n| VACC | DEBIT | Reversal Credit Adjustment |\n\n> 💡 In card terminology:\n> - DEBIT is withdrawal funds from card\n> - CREDIT is card top up with funds\n"},"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 was requested","format":"date"},"daysCount":{"type":"integer","description":"The number of days which the history of operations was requested for.","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.\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":{"required":["documentSubType","documentType","errors","id","proofSubject","reviewResult","warnings"],"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.","items":{"type":"string","description":"A list of violation codes found during document verification.","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