swagger: '2.0' info: version: 6.0.0 title: 'Payment Service v6 - Merchant Onboarding' schemes: - https host: api.test.kalixa.com basePath: /payment-service/v6 securityDefinitions: basicAuth: type: basic security: - basicAuth: [] paths: /merchants: post: summary: Registers a new merchant. description: Registers a new merchant. operationId: postMerchant produces: - application/json parameters: - in: body name: newMerchant description: Contains the data of the new merchant. required: true schema: $ref: '#/definitions/NewMerchant' responses: '201': description: Successful operation schema: $ref: '#/definitions/Merchant' examples: application/json: id: 8b9ff102-7ae0-4818-9eb0-1a8d98f32b26 name: Monsters University legalName: Monsters University Inc. incorporationAddress: street: Tottenhamroad 123 city: London postalCode: AHC 334 country: GB operationAddress: street: Tottenhamroad 123 city: London postalCode: AHC 334 country: GB legalForm: SoleProprietor merchantCategoryCode: 6012 incorporationDate: 2010-10-18 incorporationNumber: U4567UP1234234 taxNumber: ATU99999978 paymentMethodConfig: cardDeposit: useAccountStatusInquiry: true baseCurrencyCode: EUR estimatedMonthlyVolumeInEUR: 10000 lowestAmountPerTransactionInEUR: 10 highestAmountPerTransactionInEUR: 10000 averageAmountPerTransactionInEUR: 50 estimatedNumberOfTransactionsPerMonth: 1000 state: Active partner: id: PartnerABC '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' get: summary: Returns a list of merchants for a specific partner. description: Returns a list of merchants for a specific partner. operationId: getMerchants produces: - application/json parameters: - in: query name: partnerId type: string description: The id of the partner to which the returned merchant(s) belong to. responses: '200': description: Successful operation schema: type: object properties: items: type: array items: $ref: '#/definitions/Merchant' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' '/merchants/{merchantId}': get: summary: Returns a single merchant's data. description: Returns a single merchant's data. operationId: getMerchant produces: - application/json parameters: - in: path name: merchantId type: string description: The id of the merchant which should be returned. required: true responses: '200': description: Successful operation schema: $ref: '#/definitions/Merchant' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' /shops: post: summary: Registers a new shop related to a merchant. description: Registers a new shop related to a merchant. operationId: postShop produces: - application/json parameters: - in: body name: newShop description: Contains the data of the new shop. required: true schema: $ref: '#/definitions/NewShop' responses: '201': description: Successful operation schema: $ref: '#/definitions/Shop' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' get: summary: Returns a list of shops for the specified merchant. description: Returns a list of shops for the specified merchant. operationId: getShops produces: - application/json parameters: - in: query name: merchantId type: string description: The id of the merchant to which the returned shop(s) belong to. responses: '200': description: Successful operation schema: type: object properties: items: type: array items: $ref: '#/definitions/Shop' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' '/shops/{shopId}': get: summary: Returns a single shop's data. description: Returns a single shop's data. operationId: getShop produces: - application/json parameters: - in: path name: shopId type: string required: true description: The id of the shop which should be returned. responses: '200': description: Successful operation schema: $ref: '#/definitions/Shop' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' /related-people: post: summary: Registers a new person related to a merchant. description: Registers a new person related to a merchant. operationId: postRelatedPerson produces: - application/json parameters: - in: body name: newRelatedPerson description: Contains the data of the new related person. required: true schema: $ref: '#/definitions/NewRelatedPerson' responses: '201': description: Successful operation schema: $ref: '#/definitions/RelatedPerson' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' get: summary: Returns a list of persons for the specified merchant. description: Returns a list of persons for the specified merchant. operationId: getRelatedPeople produces: - application/json parameters: - in: query name: merchantId type: string description: The id of the merchant to which the returned person(s) relate to. responses: '200': description: Successful operation schema: type: object properties: items: type: array items: $ref: '#/definitions/RelatedPerson' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' '/related-people/{relatedPersonId}': get: summary: Returns a single related person's data. description: Returns a single related person's data. operationId: getRelatedPerson produces: - application/json parameters: - in: path name: relatedPersonId type: string required: true description: The id of the person which should be returned. responses: '200': description: Successful operation schema: $ref: '#/definitions/RelatedPerson' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' /related-companies: post: summary: Registers a new company related to a merchant. description: Registers a new company related to a merchant. operationId: postRelatedCompany produces: - application/json parameters: - in: body name: newRelatedCompany description: Contains the data of the new related company. required: true schema: $ref: '#/definitions/NewRelatedCompany' responses: '201': description: Successful operation schema: $ref: '#/definitions/RelatedCompany' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' get: summary: Returns a list of companies for the specified merchant. description: Returns a list of companies for the specified merchant. operationId: getRelatedCompanies produces: - application/json parameters: - in: query name: merchantId type: string description: The id of the merchant to which the returned companies(s) relate to. responses: '200': description: Successful operation schema: type: object properties: items: type: array items: $ref: '#/definitions/RelatedCompany' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' '/related-companies/{relatedCompanyId}': get: summary: Returns a single related company's data. description: Returns a single related company's data. operationId: getRelatedCompany produces: - application/json parameters: - in: path name: relatedCompanyId type: string required: true description: The id of the company which should be returned. responses: '200': description: Successful operation schema: $ref: '#/definitions/RelatedCompany' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' /bank-accounts: post: summary: Registers a new bank account related to a merchant. description: Registers a new bank account related to a merchant. operationId: postBankAccount produces: - application/json parameters: - in: body name: newBankAccount description: Contains the data of the new bank account. required: true schema: $ref: '#/definitions/NewBankAccount' responses: '201': description: Successful operation schema: $ref: '#/definitions/BankAccount' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' get: summary: Returns a list of bank accounts for the specified merchant. description: Returns a list of bank accounts for the specified merchant. operationId: getBankAccounts produces: - application/json parameters: - in: query name: merchantId type: string description: The id of the merchant to which the returned bank account(s) relate to. responses: '200': description: Successful operation schema: type: object properties: items: type: array items: $ref: '#/definitions/BankAccount' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' '/bank-accounts/{bankAccountId}': get: summary: Returns a single bank account's data. description: Returns a single bank account's data. operationId: getBankAccount produces: - application/json parameters: - in: path name: bankAccountId type: string required: true description: The id of the bank account which should be returned. responses: '200': description: Successful operation schema: $ref: '#/definitions/BankAccount' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' /documents: post: summary: Uploads a new document. description: Uploads a new document. operationId: postDocument consumes: - multipart/form-data produces: - application/json parameters: - in: formData name: content type: file description: Contains the document (file) content base64 encoded to be uploaded. Used for screening purposes by the PXP Financial Risk Team. required: true minLength: 1 - in: formData name: type type: string description: The type of the document to be uploaded. Used for validation and screening purposes by the PXP Financial Risk Team. enum: - AddressProofForMerchantLocation - AnnualReport - ArticlesOfAssociation - BankReferenceLetter - BankStatement - BusinessLicenseOrAuthorization - CardProcessingHistory6Months - CertificationOfIncorporation - ChargebackAndFraudPolicyAndProcedures - CompanyAMLPolicyAndGuidelines - Contract - ExternalRiskChecksResult - ExternalCompanyRiskChecksResult - ExternalCustomerRiskChecksResult - LegalOpinion - Organogram - PassportOrGovernmentID - PCIQuarterlyASVReport - PCIReportOnCompliance - PCISelfAssessmentQuestionnaire - PersonalUtilityBill - ProofOfAuthorisedSignatory - ProofOfDomainOwnership - TaxFilings required: true maxLength: 50 - in: formData name: name type: string description: The file name (including the file extension) of the document to be uploaded. Used for association and filtering. required: true pattern: '^(?=.{1,254}$).*\.[\w]{1,}$' - in: formData name: merchantId type: string description: The id of the merchant to which this document belongs/relates to. Used for association and filtering. maxLength: 50 - in: formData name: shopId type: string description: The id of the shop to which this document belongs/relates to. Used for association and filtering. maxLength: 50 - in: formData name: relatedPersonId type: string description: The id of the person to which this document belongs/relates to. Used for association and filtering. maxLength: 50 - in: formData name: relatedCompanyId type: string description: The id of the company to which this document belongs/relates to. Used for association and filtering. maxLength: 50 - in: formData name: bankAccountId type: string description: The id of the bank account to which this document belongs/relates to. Used for association and filtering. maxLength: 50 responses: '201': description: Successful operation schema: $ref: '#/definitions/Document' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' '/documents/{documentId}': get: summary: Returns a single document's data. description: Returns a single document's data. operationId: getDocument produces: - application/json parameters: - in: path name: documentId type: string description: The id of the document which should be returned. required: true responses: '200': description: Successful operation schema: $ref: '#/definitions/Document' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' '/entity-required-documents': get: summary: Returns a list of entities with missing and assigned documents. description: Returns a list of entities with missing and assigned documents. operationId: getEntityRequiredDocuments produces: - application/json parameters: - in: query name: entityId type: string description: The id of the entity to check for required documents. Can be the identifier of a Merchant, RelatedPerson, RelatedCompany, Shop or BankAccount. required: true - in: query name: status type: string description: The information if documents with status missing, assigned or both should be returned. If not provided, the response will contain both assigned and missing documents. enum: - missing - assigned required: false - in: query name: includeChildren type: boolean description: The information if required documents for related entities should be included in the response (true) or not (false). If not provided, the default value is 'true'. required: false responses: '200': description: Successful operation schema: type: object properties: items: type: array description: A list of entities with missing and assigned documents. items: $ref: '#/definitions/EntityRequiredDocuments' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' '/questions': get: summary: Returns a list of all required questions with text and scope. description: Returns a list of all required questions with text and scope. operationId: getQuestions produces: - application/json responses: '200': description: Successful operation schema: type: object properties: items: type: array items: $ref: '#/definitions/Question' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' '/questions/{questionId}': get: summary: Returns a single question with text and scope. description: Returns a single question with text and scope. operationId: getQuestion produces: - application/json parameters: - in: path name: questionId type: string description: The id of the question which should be returned. required: true responses: '200': description: Successful operation schema: $ref: '#/definitions/Question' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' '/prescreen-merchants': post: summary: Uploads merchant and shop related details used for pre-screening. description: Uploads merchant and shop related details used for pre-screening. operationId: postPrescreenMerchant produces: - application/json parameters: - in: body name: newPreScreenMerchant description: Contains the key parameters (e.g. shop URL) for a merchant/shop registration request to be checked upfront (pre-screening). required: true schema: $ref: '#/definitions/NewPreScreenMerchant' responses: '201': description: Successful operation schema: $ref: '#/definitions/PreScreenMerchant' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' '/prescreen-merchants/{preScreenMerchantId}': get: summary: Returns the result of a prescreen-merchant check. description: Returns the result of a prescreen-merchant check. operationId: getPreScreenMerchant produces: - application/json parameters: - in: path name: preScreenMerchantId type: string description: The unique identifier of the prescreen-merchant which was received in the response of a newPreScreenMerchant request. required: true responses: '200': description: Successful operation schema: $ref: '#/definitions/PreScreenMerchant' '400': description: Error occurred schema: $ref: '#/definitions/ErrorResponse' definitions: ErrorResponse: type: object description: Contains details about the error. properties: code: type: string enum: - validationError - multipleErrors description: The type of error. Used for defining which subelement will be present in the details property. message: type: string description: A short text describing the error. example: The field "merchantId" could not be validated. moreInfo: type: string description: A link to the online documentation describing the error in detail. example: https://developer.kalixa.com/v1.0/reference#error-handling details: type: object description: Contains a single (oneOf) child object with the details of the particular error code. properties: validationErrorDetails: type: object description: Contains the fields for which the validation failed. properties: fieldName: type: string description: The name of the field (property). example: merchantId fieldValue: type: string description: The value of the field (property). example: ??\abc required: - fieldName multipleErrorsDetails: type: array description: Contains multiple errors. items: $ref: '#/definitions/ErrorResponse' required: - code - message NewPreScreenMerchant: type: object description: Contains merchant and shop related details used for pre-screening. properties: name: type: string description: A short text, usually the company name or abbreviation. Used by the PXP Financial Pre-Screening Team. example: Monsters University pattern: '^(?!^ +$)^.{1,50}$' legalName: type: string description: The company name as it is officially incorporated. Used for reports and invoices and is also shown in the footer area of the PXP Financial Checkout. example: Monsters University Inc. pattern: '^(?!^ +$)^.{1,50}$' legalForm: type: string description: The legal form of the company. Used by the PXP Financial Pre-Screening Team. enum: - NonProfitCorporation - Partnership - PrivateCompany - PublicListedCompany - SoleProprietor - SoleTrader - Trust - UnincorporatedAssociation merchantCategoryCode: type: string description: The MCC code which identifies the type of business conducted as ISO 18245 4-digit code (https://en.wikipedia.org/wiki/ISO_18245). Used for PXP Financial risk screening, partner commissioning and by the card schemes. example: 6012 #Financial Institutions - Merchandise and Services pattern: '^\d{4}$' incorporationCountryCode: type: string description: The country code of the country of incorporation as it appears on the company registry as ISO 3166-2 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Used by the PXP Financial Pre-Screening Team. example: AT pattern: '^[A-Z]{2}$' estimatedMonthlyVolumeInEUR: type: number description: An amount in EUR that gives an indication of the expected monthly turnover of the merchant. Used for screening purposes by the PXP Financial Pre-Screening Team. example: 10000 minimum: 1 averageAmountPerTransactionInEUR: type: number description: An amount in EUR that gives an indication of the average authorization amounts. Used for screening purposes by the PXP Financial Pre-Screening Team. example: 200 minimum: 1 isAnyRelatedPersonListedOnPEP: type: boolean description: The information if one of the related persons are listed on PEP. PEP is short for 'politically exposed person', a natural person who is or who has been entrusted with prominent public functions. Used by the PXP Financial Risk Team. example: false settlementCurrencies: type: array description: A list of all currencies required for settlements. Used by the PXP Financial Pre-Screening Team. items: type: string description: The settlement currency of the merchant as ISO 4217 3-digit code (https://en.wikipedia.org/wiki/ISO_4217). Used by the PXP Financial Pre-Screening Team. example: EUR pattern: '^[A-Z]{3}$' fraudRatiosForThePastMonths: type: array description: Contains a list of fraud ratios for the last three months for the specific card schemes (Visa, Mastercard), expressed in percentage. Applicable for merchants that are already accepting cards. items: type: object description: The Visa and Mastercard fraud amount ratios for the last 3 months, expressed in percentage. Used by the PXP Financial Pre-Screening Team. properties: cardScheme: type: string description: The card scheme for which the fraud ratios are provided. enum: - Mastercard - Visa months: type: array description: The fraud ratios for the last 3 months minItems: 3 maxItems: 3 items: type: number format: decimal description: The fraud ratio from the month as percentage for the selected card scheme. example: 0.32 chargebackCountRatiosForThePastMonths: type: array description: Contains a list of chargeback count ratios for the last three months for the specific card schemes (Visa, Mastercard), expressed in percentage. Applicable for merchants that are already accepting cards. items: type: object description: The Visa and Mastercard chargeback count ratios for the last 3 months, expressed in percentage. Used by the PXP Financial Pre-Screening Team. properties: cardScheme: type: string description: The card scheme for which the chargeback ratios are provided. enum: - Mastercard - Visa months: type: array description: The chargeback count ratios for the last 3 months minItems: 3 maxItems: 3 items: type: number format: decimal description: The chargeback count ratio from the month as percentage for the selected card scheme. example: 0.32 notes: type: string description: Additional details relevant for the merchant business setup and for the current pre-screening request. Used by the PXP Financial Pre-Screening Team. example: The merchant operates in Austria only, please do not consider the German entity. minLength: 1 maxLength: 4000 partnerId: type: string description: The id of the partner that is submitting this pre-screening request. This id is assigned upon partner onboarding and should be used for all applications. example: f6b4d04e-1a67-4f7b-a6b0-181636af3290 minLength: 1 maxLength: 50 shops: type: array description: Contains a list of shop details to be validated before the registration request is sent. items: $ref: '#/definitions/NewPreScreenShop' required: - name - legalName - incorporationCountryCode - partnerId - shops NewPreScreenShop: type: object description: Contains shop details used for pre-screening. properties: name: type: string description: A short text, usually the shop name or abbreviation. Used by the PXP Financial Pre-Screening Team. example: Monster Shop pattern: '^(?!^ +$)^.{1,50}$' cardAcceptanceMode: type: string description: The information if the Shop operates in card present (CP) or card not present (CNP) mode. Used for setting up the Shop correctly with the Card Schemes. enum: - CP - CNP isMotoOnlyBusiness: type: boolean description: The information if a card not present (CNP) shop processes only MOTO transactions. Used to decide if a URL needs to be provided. example: false url: type: string description: The URL of the shop's main website where the items/goods/services are sold if cardAcceptanceMode equals CNP (ecommerce). The URL of the company website if cardAcceptanceMode equals CP (POS). Used for screening purposes by the PXP Financial Risk Team. example: http://www.kalixa.com/ pattern: '^https?:\/\/.{1,392}$' domainOwnership: type: string description: The information if the domain is owned by the merchant or its belongs to a retail platform. Used by the PXP Financial Risk Team. enum: - Own - RetailPlatform activationState: type: string description: The information if the provided URL is already live or still in a test mode. Used by the PXP Financial Risk Team. enum: - LiveAcceptingCards - LiveNotAcceptingCards - Test - BetaVersion required: - name - cardAcceptanceMode PreScreenMerchant: type: object description: Contains the merchant and shop related pre-screening data and the current status of the check result. properties: id: type: string description: The unique identifier of the prescreen-merchant data element which has to be used for the merchant registration request for a new merchant. example: f6b4d04e-1a67-4f7b-a6b0-181636af3290 name: type: string description: A short text, usually the company name or abbreviation. Used by the PXP Financial Pre-Screening Team. example: Monsters University legalName: type: string description: The company name as it is officially incorporated. Used for reports and invoices and is also shown in the footer area of the PXP Financial Checkout. example: Monsters University Inc. state: type: string description: The current state of the prescreen-merchant check. Used for identifying if the PXP Financial Pre-Screening has approved or declined the potential merchant/shops. enum: - Approved - Declined - Pending customerDueDiligenceLevel: type: string description: The definition which CDD (Customer Due Diligence) information is required to be transmitted in the POST /merchant and POST /documents request. Only provided if the request was approved by the PXP Financial Pre-Screening Team. enum: - Simplified - Standard - Enhanced isQualifiedForFastOnboarding: type: boolean description: The result if the merchant is qualified for fast onboarding after evaluation of the prescreen data. example: true legalForm: type: string description: The legal form of the company. Used by the PXP Financial Pre-Screening Team. enum: - NonProfitCorporation - Partnership - PrivateCompany - PublicListedCompany - SoleProprietor - SoleTrader - Trust - UnincorporatedAssociation merchantCategoryCode: type: string description: The MCC code which identifies the type of business conducted as ISO 18245 4-digit code (https://en.wikipedia.org/wiki/ISO_18245). Used for PXP Financial risk screening, partner commissioning and by the card schemes. example: 6012 #Financial Institutions - Merchandise and Services incorporationCountryCode: type: string description: The country code of the country of incorporation as it appears on the company registry as ISO 3166-2 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Used by the PXP Financial Pre-Screening Team. example: AT estimatedMonthlyVolumeInEUR: type: number description: An amount in EUR that gives an indication of the expected monthly turnover of the merchant. Used for screening purposes by the PXP Financial Pre-Screening Team. example: 10000 averageAmountPerTransactionInEUR: type: number description: An amount in EUR that gives an indication of the average authorization amounts. Used for screening purposes by the PXP Financial Pre-Screening Team. example: 200 isAnyRelatedPersonListedOnPEP: type: boolean description: The information if one of the related persons are listed on PEP. PEP is short for 'politically exposed person', a natural person who is or who has been entrusted with prominent public functions. Used by the PXP Financial Risk Team. example: false settlementCurrencies: type: array description: A list of all currencies required for settlements. Used by the PXP Financial Pre-Screening Team. items: type: string description: The settlement currency of the merchant as ISO 4217 3-digit code (https://en.wikipedia.org/wiki/ISO_4217). Used by the PXP Financial Pre-Screening Team. example: EUR fraudRatiosForThePastMonths: type: array description: Contains a list of fraud ratios for the last three months for the specific card schemes (Visa, Mastercard), expressed in percentage. Applicable for merchants that are already accepting cards. items: type: object description: The Visa and Mastercard fraud amount ratios for the last 3 months, expressed in percentage. Used by the PXP Financial Pre-Screening Team. properties: cardScheme: type: string description: The card scheme for which the fraud ratios are provided. enum: - Mastercard - Visa months: type: array description: The fraud ratios for the last 3 months items: type: number format: decimal description: The fraud ratio from the month as percentage for the selected card scheme. example: 0.32 chargebackCountRatiosForThePastMonths: type: array description: Contains a list of chargeback count ratios for the last three months for the specific card schemes (Visa, Mastercard), expressed in percentage. Applicable for merchants that are already accepting cards. items: type: object description: The Visa and Mastercard chargeback count ratios for the last 3 months, expressed in percentage. Used by the PXP Financial Pre-Screening Team. properties: cardScheme: type: string description: The card scheme for which the chargeback ratios are provided. enum: - Mastercard - Visa months: type: array description: The chargeback count ratios for the last 3 months items: type: number format: decimal description: The chargeback count ratio from the month as percentage for the selected card scheme. example: 0.32 notes: type: string description: Additional details relevant for the merchant business setup and for the current pre-screening request. Used by the PXP Financial Pre-Screening Team. example: The merchant operates in Austria only, please do not consider the German entity. partnerId: type: string description: The id of the partner that is submitting this pre-screening request. This id is assigned upon partner onboarding and should be used for all applications. example: f6b4d04e-1a67-4f7b-a6b0-181636af3290 shops: type: array description: Contains a list of shop details to be validated before the registration request is sent. items: $ref: '#/definitions/PreScreenShop' PreScreenShop: type: object description: Contains shop details and the current status of their check result. properties: id: type: string description: The unique identifier of the shop-prescreening data element for the particular shop which has to be used for the shop registration request for an existing merchant (newShop). example: f6b4d04e-1a67-4f7b-a6b0-181636af3290 name: type: string description: A short text, usually the shop name or abbreviation. Used by the PXP Financial Pre-Screening Team. example: Monster Shop cardAcceptanceMode: type: string description: The information if the Shop operates in card present (CP) or card not present (CNP) mode. Used for setting up the Shop correctly with the Card Schemes. enum: - CP - CNP isMotoOnlyBusiness: type: boolean description: The information if a card not present (CNP) shop processes only MOTO transactions. Used to decide if a URL needs to be provided. example: false url: type: string description: The URL of the shop's main website where the items/goods/services are sold if cardAcceptanceMode equals CNP (ecommerce). The URL of the company website if cardAcceptanceMode equals CP (POS). Used for screening purposes by the PXP Financial Risk Team. example: http://www.kalixa.com/ domainOwnership: type: string description: The information if the domain is owned by the merchant or its belongs to a retail platform. Used by the PXP Financial Risk Team. enum: - Own - RetailPlatform activationState: type: string description: The information if the provided URL is already live or still in a test mode. Used by the PXP Financial Risk Team. enum: - LiveAcceptingCards - LiveNotAcceptingCards - Test - BetaVersion state: type: string description: The current state of the pre-screening check. Used for identifying if the PXP Financial Pre-Screening has approved or declined the potential shop/merchant. enum: - Approved - Declined - Pending EntityRequiredDocuments: type: object description: Contains a list of entities with missing and assigned documents. properties: id: type: string description: The id of the entity. example: f6b4d04e-1a67-4f7b-a6b0-181636af3290 minLength: 1 maxLength: 50 type: type: string description: The type of the entity. enum: - Merchant - RelatedPerson - RelatedCompany - Shop - BankAccount requiredDocuments: type: array description: A list of document types with missing or assigned documents. items: type: object description: Contains information about a required document. properties: id: type: string description: The id of the document if the status is assigned. If the status is missing, the id will be empty. example: f6b4d04e-1a67-4f7b-a6b0-181636af3290 minLength: 1 maxLength: 50 type: type: string description: The type of the document. enum: - AddressProofForMerchantLocation - AnnualReport - ArticlesOfAssociation - BankReferenceLetter - BankStatement - BusinessLicenseOrAuthorization - CardProcessingHistory6Months - CertificationOfIncorporation - ChargebackAndFraudPolicyAndProcedures - CompanyAMLPolicyAndGuidelines - Contract - ExternalRiskChecksResult - ExternalCompanyRiskChecksResult - ExternalCustomerRiskChecksResult - LegalOpinion - Organogram - PassportOrGovernmentID - PCIQuarterlyASVReport - PCIReportOnCompliance - PCISelfAssessmentQuestionnaire - PersonalUtilityBill - ProofOfAuthorisedSignatory - ProofOfDomainOwnership - TaxFilings status: type: string description: The information if the document is missing or assigned. enum: - Missing - Assigned Address: type: object description: Contains the address of a merchant, person or company. properties: street: type: string description: The Street including housenumber, housename, etc. example: Tottenhamroad 123 pattern: '^(?!^ +$)^.{1,100}$' city: type: string description: The name of the city. example: London pattern: '^(?!^ +$)^.{1,50}$' postalCode: type: string description: The postal code of the address. example: AHC 334 pattern: '^(?!^ +$)^.{1,20}$' country: type: string description: The address country code as ISO 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). example: GB pattern: '^[A-Z]{2}$' required: - street - city - postalCode - country ObjectWithId: type: object description: Contains only the id of the resource. Used for future extensibility. properties: id: type: string description: The id of the resource. example: f6b4d04e-1a67-4f7b-a6b0-181636af3290 minLength: 1 maxLength: 50 NewMerchant: type: object description: Contains the data of the new merchant. properties: name: type: string description: A short text, usually the company name or abbreviation. Used for display and filtering purposes in the PS Admin tool. example: Monsters University pattern: '^(?!^ +$)^.{1,50}$' legalName: type: string description: The company name as it is officially incorporated. Used for reports and invoices and is also shown in the footer area of the PXP Financial Checkout. example: Monsters University Inc. pattern: '^(?!^ +$)^.{1,50}$' incorporationAddress: $ref: '#/definitions/Address' operationAddress: $ref: '#/definitions/Address' billingAddress: $ref: '#/definitions/Address' legalForm: type: string description: The legal form of the company. Used by the PXP Financial Risk Team. enum: - NonProfitCorporation - Partnership - PrivateCompany - PublicListedCompany - SoleProprietor - SoleTrader - Trust - UnincorporatedAssociation merchantCategoryCode: type: string description: The MCC code which identifies the type of business conducted as ISO 18245 4-digit code (https://en.wikipedia.org/wiki/ISO_18245). Used for PXP Financial risk screening, partner commissioning and by the card schemes. example: 6012 #Financial Institutions - Merchandise and Services pattern: '^\d{4}$' pciLevel: type: integer description: The Payment Card Industry level of the merchant. Used by the PXP Financial Risk Team. The PCI Level of a merchant can be either 1, 2, 3 or 4. See https://developer.kalixa.com/docs/required-documents#section-pci-documents for more information about PCI levels and the related documents. example: 1 minimum: 1 maximum: 4 incorporationDate: type: string pattern: '^\d{4}-\d{1,2}-\d{1,2}$' description: The exact starting date of the corporation, as it appears on the company registry of the country of incorporation. Used for screening purposes by the PXP Financial Risk Team. example: 2010-10-18 incorporationNumber: type: string description: The federal number assigned to the business in the company registry at the time of incorporation. Used for screening purposes by the PXP Financial Risk Team. example: U4567UP1234234 minLength: 1 maxLength: 50 taxNumber: type: string description: The Taxpayer Identification Number (TIN) of the primary location in which the merchant is doing business. Used for screening purposes by the PXP Financial Risk Team. example: ATU99999978 minLength: 1 maxLength: 20 paymentMethodConfig: type: object description: Contains payment method specific configuration items. properties: cardDeposit: type: object properties: useAccountStatusInquiry: type: boolean description: The information if Account Status Inquiry is required (true) or not (false). Used for activating of the Card Verification Payment Methods in Payment Service in case the value is true. example: true baseCurrencyCode: type: string description: The reporting currency of the merchant as ISO 4217 3-digit code (https://en.wikipedia.org/wiki/ISO_4217). Used in PXP Financial reports for aggregating authorized amounts in different currencies. If not provided, the default value is EUR. example: EUR pattern: '^[A-Z]{3}$' estimatedMonthlyVolumeInEUR: type: number description: An amount in EUR that gives an indication of the expected monthly turnover of the merchant. Used for screening purposes by the PXP Financial Risk Team. example: 10000 minimum: 1 lowestAmountPerTransactionInEUR: type: number description: An amount in EUR that gives an indication of the minimum limit for authorized amounts. Used for screening purposes by the PXP Financial Risk Team. example: 10 minimum: 0.01 highestAmountPerTransactionInEUR: type: number description: An amount in EUR that gives an indication of the maximum limit for authorized amounts. Used for screening purposes by the PXP Financial Risk Team. example: 5000 minimum: 1 averageAmountPerTransactionInEUR: type: number description: An amount in EUR that gives an indication of the average authorization amounts. Used for screening purposes by the PXP Financial Risk Team. example: 200 minimum: 1 estimatedNumberOfTransactionsPerMonth: type: number description: An estimate about the number of authorizations per month. Used for screening purposes by the PXP Financial Risk Team. example: 1000 minimum: 1 isStartUp: type: boolean description: The information if the merchant is a start up company. Used by the PXP Financial Risk Team. example: false isChargebackOrFraudAnalysisProcessInPlace: type: boolean description: The information if the merchant has a chargeback or fraud analysis process in place. Used by the PXP Financial Risk Team. example: false isRegulatedByAMLGuideline: type: boolean description: The information if the merchant's business is regulated by AML guidance. Used by the PXP Financial Risk Team. example: false settlementCurrencies: type: array description: A list of all currencies required for settlements. Used by the PXP Financial Pre-Screening Team. items: type: string description: The settlement currency of the merchant as ISO 4217 3-digit code (https://en.wikipedia.org/wiki/ISO_4217). Used by the PXP Financial Pre-Screening Team. example: EUR pattern: '^[A-Z]{3}$' fraudRatiosForThePastMonths: type: array description: Contains a list of fraud ratios for the last three months for the specific card schemes (Visa, Mastercard), expressed in percentage. Applicable for merchants that are already accepting cards. items: type: object description: The Visa and Mastercard fraud amount ratios for the last 3 months, expressed in percentage. Used by the PXP Financial Pre-Screening Team. properties: cardScheme: type: string description: The card scheme for which the fraud ratios are provided. enum: - Mastercard - Visa months: type: array description: The fraud ratios for the last 3 months minItems: 3 maxItems: 3 items: type: number format: decimal description: The fraud ratio from the month as percentage for the selected card scheme. example: 0.32 chargebackCountRatiosForThePastMonths: type: array description: Contains a list of chargeback count ratios for the last three months for the specific card schemes (Visa, Mastercard), expressed in percentage. Applicable for merchants that are already accepting cards. items: type: object description: The Visa and Mastercard chargeback count ratios for the last 3 months, expressed in percentage. Used by the PXP Financial Pre-Screening Team. properties: cardScheme: type: string description: The card scheme for which the chargeback ratios are provided. enum: - Mastercard - Visa months: type: array description: The chargeback count ratios for the last 3 months minItems: 3 maxItems: 3 items: type: number format: decimal description: The fraud ratio from the month as percentage for the selected card scheme. example: 0.32 companyPhoneNumber: type: string description: The primary phone number to be used to contact the merchant. Used for screening purposes by the PXP Financial Risk Team. example: +431234567890-1 pattern: '^(?=(.*\d){2})[0-9\+\/\-\(\)\s]{2,50}$' licenseOrAuthorizationNumber: type: string description: The number of the license/authorization held by the merchant, if such a license is required to operate the business. Used for screening purposes by the PXP Financial Risk Team. example: A1884B1111-01 minLength: 1 maxLength: 50 businessLicenseExpirationDate: type: string description: The date when the business license/authorization expires. Only needs to be provided in case such a license is required to operate the business. Used for screening purposes by the PXP Financial Risk Team. example: 2026-10-25 pattern: '^\d{4}-\d{1,2}-\d{1,2}$' deliveryOrFulfillmentTimeframe: type: string description: The delivery or fulfilment time for the items/goods/services that are sold by the merchants shops. Used for screening purposes by the PXP Financial Risk Team. enum: - Instant - UpTo7 - UpTo14 - UpTo30 - MoreThan30 vatNumber: type: string description: The value added tax identification number or VAT identification number (VATINT) of the primary location in which the merchant is doing business. Used for financial purposes. example: DE999999999 pattern: '^(?!^ +$)^.{1,15}$' preScreenMerchantId: type: string description: The unique identifier of the approved PreScreenMerchant element which was received in the response of a newPreScreenMerchant request (if applicable). Used for verifying that the pre-screened Merchant was approved. example: PartnerABC minLength: 1 maxLength: 50 partnerId: type: string description: The id of the partner that is submitting this onboarding request. This id is assigned upon partner onboarding and should be used for all applications. example: PartnerABC minLength: 1 maxLength: 50 shops: type: array description: Contains an optional list of shops that the merchant sells items or services from. Shops can be registered also later on with a separate POST /shops call. minItems: 1 items: $ref: '#/definitions/NewNestedShop' relatedPeople: type: array description: Contains an optional list of all relevant people PXP Financial needs to be aware of. This includes owners, shareholders, technical or operational contacts, etc. Related people can be registered also later on with a separate POST /related-people call. items: $ref: '#/definitions/NewNestedRelatedPerson' relatedCompanies: type: array description: Contains an optional list of all related companies PXP Financial needs to be aware of. This could be the case if the company is owned, wholly or in part, by another company, which would need to be disclosed to PXP Financial. Related companies can be registered also later on with a separate POST /related-companies call. items: $ref: '#/definitions/NewNestedRelatedCompany' bankAccounts: type: array description: Contains an optional list of bank accounts in case funds should be settled directly to the merchant. Bank accounts can be registered also later on with a separate POST /bank-accounts call. items: $ref: '#/definitions/NewNestedBankAccount' questionAnswerPairs: type: array description: Contains a list of questions and answers. Used for risk screening purposes. items: $ref: '#/definitions/NewNestedQuestionAnswerPair' required: - name - incorporationAddress - incorporationDate - incorporationNumber - taxNumber - legalName - legalForm - estimatedMonthlyVolumeInEUR - averageAmountPerTransactionInEUR - partnerId - shops - questionAnswerPairs - companyPhoneNumber Merchant: type: object description: Contains the merchant data. properties: id: type: string description: The unique identifier of the merchant, which was received in the response of a new merchant registration. example: f0deffbc-9c87-40aa-b863-5e2b6caf14a7 name: type: string description: A short text, usually the company name or abbreviation. Used for display and filtering purposes the PS Admin tool. example: Monsters University legalName: type: string description: The company name as it is officially incorporated. Used for reports and invoices and is also shown in the footer area of the PXP Financial Checkout. example: Monsters University Inc. incorporationAddress: $ref: '#/definitions/Address' operationAddress: $ref: '#/definitions/Address' billingAddress: $ref: '#/definitions/Address' legalForm: type: string description: The legal form of the company. Used by the PXP Financial Risk Team. enum: - NonProfitCorporation - Partnership - PrivateCompany - PublicListedCompany - SoleProprietor - SoleTrader - Trust - UnincorporatedAssociation merchantCategoryCode: type: string description: The MCC code which identifies the type of business conducted as ISO 18245 4-digit code (https://en.wikipedia.org/wiki/ISO_18245). Used for PXP Financial risk screening, partner commissioning and by the card schemes. example: 6012 #Financial Institutions - Merchandise and Services pciLevel: type: integer description: The Payment Card Industry level of the merchant. Used by the PXP Financial Risk Team. The PCI Level of a merchant can be either 1, 2, 3 or 4. See https://developer.kalixa.com/docs/required-documents#section-pci-documents for more information about PCI levels and the related documents. example: 1 incorporationDate: type: string description: The exact starting date of the corporation, as it appears on the company registry of the country of incorporation. Used for screening purposes by the PXP Financial Risk Team. example: 2010-10-18 incorporationNumber: type: string description: The federal number assigned to the business in the company registry at the time of incorporation. Used for screening purposes by the PXP Financial Risk Team. example: U4567UP1234234 taxNumber: type: string description: The taxpayer Identification Number (TIN) of the primary location in which the merchant is doing business. Used for screening purposes by the PXP Financial Risk Team. example: ATU99999978 paymentMethodConfig: type: object description: Contains payment method specific configuration items. properties: cardDeposit: type: object properties: useAccountStatusInquiry: type: boolean description: The information if Account Status Inquiry is required (true) or not (false). Used for activating of the Card Verification Payment Methods in Payment Service in case the value is true. example: true baseCurrencyCode: type: string description: The reporting currency of the merchant as ISO 4217 3-digit code (https://en.wikipedia.org/wiki/ISO_4217). Used in PXP Financial reports for aggregating authorized amounts in different currencies. example: EUR estimatedMonthlyVolumeInEUR: type: number description: An amount in EUR that gives an indication of the expected monthly turnover of the merchant. Used for screening purposes by the PXP Financial Risk Team. example: 10000 lowestAmountPerTransactionInEUR: type: number description: An amount in EUR that gives an indication of the minimum limit for authorized amounts. Used for screening purposes by the PXP Financial Risk Team. example: 10 highestAmountPerTransactionInEUR: type: number description: An amount in EUR that gives an indication of the maximum limit for authorized amounts. Used for screening purposes by the PXP Financial Risk Team. averageAmountPerTransactionInEUR: type: number description: An amount in EUR that gives an indication of the average authorization amounts. Used for screening purposes by the PXP Financial Risk Team. estimatedNumberOfTransactionsPerMonth: type: number description: An estimate about the number of authorizations per month. Used for screening purposes by the PXP Financial Risk Team. example: 1000 isStartUp: type: boolean description: The information if the merchant is a start up company. Used by the PXP Financial Risk Team. example: false isChargebackOrFraudAnalysisProcessInPlace: type: boolean description: The information if the merchant has a chargeback or fraud analysis process in place. Used by the PXP Financial Risk Team. example: false isRegulatedByAMLGuideline: type: boolean description: The information if the merchant's business is regulated by AML guidance. Used by the PXP Financial Risk Team. example: false isQualifiedForFastOnboarding: type: boolean description: The result if the merchant is qualified for fast onboarding after evaluation of the prescreen data. example: true settlementCurrencies: type: array description: A list of all currencies required for settlements. Used by the PXP Financial Pre-Screening Team. items: type: string description: The settlement currency of the merchant as ISO 4217 3-digit code (https://en.wikipedia.org/wiki/ISO_4217). Used by the PXP Financial Pre-Screening Team. example: EUR fraudRatiosForThePastMonths: type: array description: Contains a list of fraud ratios for the last three months for the specific card schemes (Visa, Mastercard), expressed in percentage. Applicable for merchants that are already accepting cards. items: type: object description: The Visa and Mastercard fraud amount ratios for the last 3 months, expressed in percentage. Used by the PXP Financial Pre-Screening Team. properties: cardScheme: type: string description: The card scheme for which the fraud ratios are provided. enum: - Mastercard - Visa months: type: array description: The fraud ratios for the last 3 months items: type: number format: decimal description: The fraud ratio from the month as percentage for the selected card scheme. example: 0.32 chargebackCountRatiosForThePastMonths: type: array description: Contains a list of chargeback count ratios for the last three months for the specific card schemes (Visa, Mastercard), expressed in percentage. Applicable for merchants that are already accepting cards. items: type: object description: The Visa and Mastercard chargeback count ratios for the last 3 months, expressed in percentage. Used by the PXP Financial Pre-Screening Team. properties: cardScheme: type: string description: The card scheme for which the chargeback ratios are provided. enum: - Mastercard - Visa months: type: array description: The chargeback count ratios for the last 3 months items: type: number format: decimal description: The fraud ratio from the month as percentage for the selected card scheme. example: 0.32 state: type: string description: The current state of the merchant. Used for identifying the activation or blocking status. example: Active stateReason: type: string description: Additional details for the current merchant state. Used for providing a reason for the current merchant state. example: Already Processing cardPresentMid: type: string description: The merchant identifier to be used in payment initiations for a card present (CP/POS) shop. Applicable only for merchants with shops where cardAcceptanceMode equals CP (POS). See https://developer.kalixa.com/docs/cp-cnp-merchant-shops#section-submitting-card-payments-for-pos-cp-shops for more information about submitting card payments for POS (CP) shops. example: 7171800701 partner: $ref: '#/definitions/ObjectWithId' companyPhoneNumber: type: string description: The primary phone number to get in contact example: +431234567890-1 licenseOrAuthorizationNumber: type: string description: The number of the license/authorization held by the merchant. example: A1884B1111-01 businessLicenseExpirationDate: type: string description: The date when the business license/authorization expires. Used for screening purposes by the PXP Financial Risk Team. example: 2026-10-25 deliveryOrFulfillmentTimeframe: type: string description: The delivery or fulfilment time for the items/goods/services that are sold by the merchants shops. Used for screening purposes by the PXP Financial Risk Team. enum: - Instant - UpTo7 - UpTo14 - UpTo30 - MoreThan30 vatNumber: type: string description: The value added tax identification number or VAT identification number (VATINT) of the primary location in which the merchant is doing business. Used for financial purposes. example: DE999999999 documents: type: array description: Contains a list of documents assigned for this merchant. items: $ref: '#/definitions/ObjectWithId' shops: type: array description: Contains a list of shops registered for this merchant. items: $ref: '#/definitions/ObjectWithId' relatedPeople: type: array description: Contains a list of persons related to this merchant. items: $ref: '#/definitions/ObjectWithId' relatedCompanies: type: array description: Contains a list of companies related to this merchant. items: $ref: '#/definitions/ObjectWithId' bankAccounts: type: array description: Contains a list of bank accounts related to this merchant. items: $ref: '#/definitions/ObjectWithId' questionAnswerPairs: type: array description: Contains a list of previously submitted questions and answers for the new shop. items: $ref: '#/definitions/QuestionAnswerPair' NewNestedShop: type: object description: Contains the data of the new shop. Used for registering a shop within a merchant registration. properties: name: type: string description: A short text, usually the shop name or abbreviation. Used for display and filtering purposes in the PS Admin tool. example: Monster Shop pattern: '^(?!^ +$)^.{1,50}$' cardAcceptanceMode: type: string description: The information if the Shop operates in card present (CP) or card not present (CNP) mode. Used for setting up the Shop correctly with the Card Schemes. enum: - CP - CNP isMotoOnlyBusiness: type: boolean description: The information if a card not present (CNP) shop processes only MOTO transactions. Used to decide if a URL needs to be provided. example: false url: type: string description: The URL of the shop's main website where the items/goods/services are sold if cardAcceptanceMode equals CNP (ecommerce). The URL of the company website if cardAcceptanceMode equals CP (POS). Used for screening purposes by the PXP Financial Risk Team. example: http://www.kalixa.com/ pattern: '^https?:\/\/.{1,392}$' domainOwnership: type: string description: The information if the domain is owned by the merchant or its belongs to a retail platform. Used by the PXP Financial Risk Team. enum: - Own - RetailPlatform activationState: type: string description: The information if the provided URL is already live or still in a test mode. Used by the PXP Financial Risk Team. enum: - LiveAcceptingCards - LiveNotAcceptingCards - Test - BetaVersion countryCode: type: string description: The country code of the country out of which this website operates or does the main business as ISO 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Used for screening purposes by the PXP Financial Risk Team. example: AT pattern: '^[A-Z]{2}$' billingDescriptor1: type: string description: The name of the Shop in a way the customer recognizes it. Used for card transactions and will appear on the 1st line of the billing descriptor. example: Monster Shop pattern: '^(?!^ +$)^.{1,25}$' billingDescriptor2: type: string description: Usually the location out of which the shop operates. Used for card transactions acquired by PXP Financial and will appear on the 2nd line of the billing descriptor. example: Vienna pattern: '^(?!^ +$)^.{1,13}$' volumeSpreadByProcessing: $ref: '#/definitions/VolumeSpreadByProcessing' volumeSpreadByRegion: $ref: '#/definitions/VolumeSpreadByRegion' volumeSpreadByScheme: $ref: '#/definitions/VolumeSpreadByScheme' questionAnswerPairs: type: array description: Contains a list of questions and answers. Used for risk screening purposes. items: $ref: '#/definitions/NewNestedQuestionAnswerPair' preScreenShopId: type: string description: The unique identifier of the approved PreScreenShop element which was received in the response of a newPreScreenMerchant request (if applicable). Used for verifying that the pre-screened Shop was approved. example: da8223fb-ae7b-4c78-a94f-0fc43beb5318 minLength: 1 maxLength: 50 required: - name - countryCode - billingDescriptor1 - billingDescriptor2 - questionAnswerPairs - cardAcceptanceMode NewShop: type: object description: Contains the data of the new shop. properties: name: type: string description: A short text, usually the shop name or abbreviation. Used for display and filtering purposes the PS Admin tool. example: Monster Shop pattern: '^(?!^ +$)^.{1,50}$' cardAcceptanceMode: type: string description: The information if the Shop operates in card present (CP) or card not present (CNP) mode. Used for setting up the Shop correctly with the Card Schemes. enum: - CP - CNP isMotoOnlyBusiness: type: boolean description: The information if a card not present (CNP) shop processes only MOTO transactions. Used to decide if a URL needs to be provided. example: false url: type: string description: The URL of the shop's main website where the items/goods/services are sold if cardAcceptanceMode equals CNP (ecommerce). The URL of the company website if cardAcceptanceMode equals CP (POS). Used for screening purposes by the PXP Financial Risk Team. example: http://www.kalixa.com/ pattern: '^https?:\/\/.{1,392}$' domainOwnership: type: string description: The information if the domain is owned by the merchant or its belongs to a retail platform. Used by the PXP Financial Risk Team. enum: - Own - RetailPlatform activationState: type: string description: The information if the provided URL is already live or still in a test mode. Used by the PXP Financial Risk Team. enum: - LiveAcceptingCards - LiveNotAcceptingCards - Test - BetaVersion countryCode: type: string description: The country code of the country out of which this website operates or does the main business as ISO 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Used for screening purposes by the PXP Financial Risk Team. example: AT pattern: '^[A-Z]{2}$' billingDescriptor1: type: string description: The name of the Shop in a way the customer recognizes it. Used for card transactions and will appear on the 1st line of the billing descriptor. example: Monster Shop pattern: '^(?!^ +$)^.{1,25}$' billingDescriptor2: type: string description: Usually the location out of which the shop operates. Used for card transactions acquired by PXP Financial and will appear on the 2nd line of the billing descriptor. example: Vienna pattern: '^(?!^ +$)^.{1,13}$' volumeSpreadByProcessing: $ref: '#/definitions/VolumeSpreadByProcessing' volumeSpreadByRegion: $ref: '#/definitions/VolumeSpreadByRegion' volumeSpreadByScheme: $ref: '#/definitions/VolumeSpreadByScheme' merchantId: type: string description: The id of the merchant to which this shop belongs to. Used for associating the shop with the merchant. example: f6b4d04e-1a67-4f7b-a6b0-181636af3290 minLength: 1 maxLength: 50 questionAnswerPairs: type: array description: Contains a list of questions and answers. Used for risk screening purposes. items: $ref: '#/definitions/NewNestedQuestionAnswerPair' preScreenShopId: type: string description: The unique identifier of the approved PreScreenShop element which was received in the response of a newPreScreenMerchant request (if applicable). Used for verifying that the pre-screened Shop was approved. example: da8223fb-ae7b-4c78-a94f-0fc43beb5318 minLength: 1 maxLength: 50 required: - name - countryCode - billingDescriptor1 - billingDescriptor2 - questionAnswerPairs - merchantId - cardAcceptanceMode Shop: type: object description: Contains the shop data. properties: id: type: string description: The id of the registered shop. Used for identifying the shop in other methods e.g. getShop. example: da8223fb-ae7b-4c78-a94f-0fc43beb5318 name: type: string description: A short text, usually the shop name or abbreviation. Used for display and filtering purposes the PS Admin tool. example: Monster Shop cardAcceptanceMode: type: string description: The information if the shop operates in card present (CP) or card not present (CNP) mode. Used for setting up the Shop correctly with the Card Schemes. enum: - CP - CNP isMotoOnlyBusiness: type: boolean description: The information if a card not present (CNP) shop processes only MOTO transactions. Used to decide if a URL needs to be provided. example: false url: type: string description: The URL of the shop's main website where the items/goods/services are sold if cardAcceptanceMode equals CNP (ecommerce). The URL of the company website if cardAcceptanceMode equals CP (POS). Used for screening purposes by the PXP Financial Risk Team. example: http://www.kalixa.com/ domainOwnership: type: string description: The information if the domain is owned by the merchant or its belongs to a retail platform. Used by the PXP Financial Risk Team. enum: - Own - RetailPlatform activationState: type: string description: The information if the provided URL is already live or still in a test mode. Used by the PXP Financial Risk Team. enum: - LiveAcceptingCards - LiveNotAcceptingCards - Test - BetaVersion approvalState: type: string description: The information if the shop was approved, declined or if the approval is still pending. example: Active enum: - Approved - Declined - Pending countryCode: type: string description: The country code of the country out of which this website operates or does the main business as ISO 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Used for screening purposes by the PXP Financial Risk Team. example: AT billingDescriptor1: type: string description: The name of the Shop in a way the customer recognizes it. Used for card transactions and will appear on the 1st line of the billing descriptor. example: Monster Shop billingDescriptor2: type: string description: Usually the location out of which the shop operates. Used for card transactions acquired by PXP Financial and will appear on the 2nd line of the billing descriptor. example: Vienna volumeSpreadByProcessing: $ref: '#/definitions/VolumeSpreadByProcessing' volumeSpreadByRegion: $ref: '#/definitions/VolumeSpreadByRegion' volumeSpreadByScheme: $ref: '#/definitions/VolumeSpreadByScheme' merchant: $ref: '#/definitions/ObjectWithId' documents: type: array description: Contains a list of previously uploaded documents for the new shop. items: $ref: '#/definitions/ObjectWithId' questionAnswerPairs: type: array description: Contains a list of previously submitted set of questions with their answers for the new shop. items: $ref: '#/definitions/QuestionAnswerPair' NewNestedRelatedPerson: type: object description: Contains the data of the new related person. Used for registering a related person within a merchant registration. properties: roles: type: array description: A list of roles the person holds. See https://developer.kalixa.com/v1.0/docs/mandatory-data-per-cdd-level#section-related-people for more information about conditionally mandatory parameters. items: type: string enum: - Owner - Shareholder - DirectorOrExecutive - UltimateBeneficiary - OperationalContact - TechnicalContact - Signatory description: The type of role that the person holds. firstname: type: string description: The persons first name. example: Paul pattern: '^(?!^ +$)^.{1,50}$' lastname: type: string description: The persons last name. example: Smith pattern: '^(?!^ +$)^.{1,50}$' address: $ref: '#/definitions/Address' phoneNumber: type: string description: A landline or mobile number where the person can be contacted, including country prefix. Used for contacting this person by PXP Financial if necessary. example: +43650123456789 pattern: '^(?=(.*\d){2})[0-9\+\/\-\(\)\s]{2,50}$' dateOfBirth: type: string description: The date of birth of the person. Used for screening purposes by the PXP Financial Risk Team. example: 1946-10-29 pattern: '^\d{4}-\d{1,2}-\d{1,2}$' skypeName: type: string description: The skype contact, if available. Used for contacting this person by PXP Financial if necessary. example: PaulSmith461029 minLength: 1 maxLength: 50 email: type: string description: The persons valid email address. Used for contacting this person by PXP Financial if necessary. example: paul.smith@testabc.com pattern: '^(?=.{1,100}$)(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$' shareOrOwnershipPercentage: type: number description: A percentage amount that indicates the ownership participation of the person. Used for screening purposes by the PXP Financial Risk Team. example: 51 minimum: 0 maximum: 100 passportOrGovernmentNumber: type: string description: The unique identifier of the persons Passport or government number. Used for screening purposes by the PXP Financial Risk Team. example: 1633PY-111Z minLength: 1 maxLength: 50 passportOrGovernmentIDExpirationDate: type: string description: The date when the passport or the government-ID expires. Used for screening purposes by the PXP Financial Risk Team. example: 2026-10-25 pattern: '^\d{4}-\d{1,2}-\d{1,2}$' isListedOnPEP: type: boolean description: The information if the related person is listed on PEP. PEP is short for 'politically exposed person', a natural person who is or who has been entrusted with prominent public functions. Used by the PXP Financial Risk Team. example: false required: - roles - firstname - lastname NewRelatedPerson: type: object description: Contains the data of the new related person. properties: roles: type: array description: A list of roles the person holds. See https://developer.kalixa.com/v1.0/docs/mandatory-data-per-cdd-level#section-related-people for more information about conditionally mandatory parameters. items: type: string enum: - Owner - Shareholder - DirectorOrExecutive - UltimateBeneficiary - OperationalContact - TechnicalContact - Signatory description: The type of role that the person holds. firstname: type: string description: The persons first name. example: Paul pattern: '^(?!^ +$)^.{1,50}$' lastname: type: string description: The persons last name. example: Smith pattern: '^(?!^ +$)^.{1,50}$' address: $ref: '#/definitions/Address' phoneNumber: type: string description: A landline or mobile number where the person can be contacted, including country prefix. Used for contacting this person by PXP Financial if necessary. example: +43650123456789 pattern: '^(?=(.*\d){2})[0-9\+\/\-\(\)\s]{2,50}$' dateOfBirth: type: string description: The date of birth of the person. Used for screening purposes by the PXP Financial Risk Team. example: 1946-10-29 pattern: '^\d{4}-\d{1,2}-\d{1,2}$' skypeName: type: string description: The skype contact, if available. Used for contacting this person by PXP Financial if necessary. example: PaulSmith461029 minLength: 1 maxLength: 50 email: type: string description: The persons valid email address. Used for contacting this person by PXP Financial if necessary. example: paul.smith@testabc.com pattern: '^(?=.{1,100}$)(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$' shareOrOwnershipPercentage: type: number description: A percentage amount that indicates the ownership participation of the person. Used for screening purposes by the PXP Financial Risk Team. example: 51 minimum: 0 maximum: 100 merchantId: type: string description: The id of the merchant to which this contact relates to. Used for associating the contact with the merchant. example: f6b4d04e-1a67-4f7b-a6b0-181636af3290 minLength: 1 maxLength: 50 passportOrGovernmentNumber: type: string description: The unique identifier of the persons Passport or government number. Used for screening purposes by the PXP Financial Risk Team. example: 1633PY-111Z minLength: 1 maxLength: 50 passportOrGovernmentIDExpirationDate: type: string description: The date when the passport or the government-ID expires. Used for screening purposes by the PXP Financial Risk Team. example: 2026-10-25 pattern: '^\d{4}-\d{1,2}-\d{1,2}$' isListedOnPEP: type: boolean description: The information if the related person is listed on PEP. PEP is short for 'politically exposed person', a natural person who is or who has been entrusted with prominent public functions. Used by the PXP Financial Risk Team. example: false required: - roles - firstname - lastname - merchantId RelatedPerson: type: object description: Contains the person's data. properties: id: type: string description: The server-generated id of the person which was registered or returned. Used for identifying the person in other methods e.g. getRelatedPerson. example: 357f2e62-0481-4311-8dfb-003562923af1 readOnly: true roles: type: array description: A list of roles the person holds. See https://developer.kalixa.com/v1.0/docs/mandatory-data-per-cdd-level#section-related-people for more information about conditionally mandatory parameters. items: type: string enum: - Owner - Shareholder - DirectorOrExecutive - UltimateBeneficiary - OperationalContact - TechnicalContact - Signatory description: The type of role that the person holds. firstname: type: string description: The persons first name. example: Paul lastname: type: string description: The persons last name. example: Smith address: $ref: '#/definitions/Address' phoneNumber: type: string description: A landline or mobile number where the person can be contacted, including country prefix. Used for contacting this person by PXP Financial if necessary. example: +43650123456789 dateOfBirth: type: string description: The date of birth of the person. Used for screening purposes by the PXP Financial Risk Team. skypeName: type: string description: The skype contact, if available. Used for contacting this person by PXP Financial if necessary. example: PaulSmith461029 email: type: string description: The persons valid email address. Used for contacting this person by PXP Financial if necessary. example: paul.smith@testabc.com shareOrOwnershipPercentage: type: number description: A percentage amount that indicates the ownership participation of the person. Used for screening purposes by the PXP Financial Risk Team. example: 51 passportOrGovernmentNumber: type: string description: The unique identifier of the persons Passport or government number. Used for screening purposes by the PXP Financial Risk Team. example: 1633PY-111Z passportOrGovernmentIDExpirationDate: type: string description: The date when the passport or the government-ID expires. Used for screening purposes by the PXP Financial Risk Team. example: 2026-10-25 isListedOnPEP: type: boolean description: The information if the related person is listed on PEP. PEP is short for 'politically exposed person', a natural person who is or who has been entrusted with prominent public functions. Used by the PXP Financial Risk Team. example: false merchant: $ref: '#/definitions/ObjectWithId' documents: type: array items: $ref: '#/definitions/ObjectWithId' NewNestedRelatedCompany: type: object description: Contains the data of the new related company. Used for registering a related company within a merchant registration. properties: roles: type: array description: A list of roles that this company takes in the context of this application. items: type: string enum: - Owner - ExclusiveOwner - Shareholder - UltimateBeneficiary - ExclusiveShareholder name: description: The legal company name. Used for screening purposes by the PXP Financial Risk Team. example: Master Universe Inc. pattern: '^(?!^ +$)^.{1,50}$' incorporationAddress: $ref: '#/definitions/Address' taxNumber: type: string description: The taxpayer Identification Number (TIN) of the company. Used for screening purposes by the PXP Financial Risk Team. example: ATU99999978 minLength: 1 maxLength: 20 incorporationDate: type: string description: The exact starting date of the corporation, as it appears on the company registry of the country of incorporation. Used for screening purposes by the PXP Financial Risk Team. example: 2005-11-22 pattern: '^\d{4}-\d{1,2}-\d{1,2}$' incorporationNumber: type: string description: The federal number assigned to the business in the company registry at the time of incorporation. Used for screening purposes by the PXP Financial Risk Team. example: U4567UP1234234 minLength: 1 maxLength: 50 shareOrOwnershipPercentage: type: number description: A percentage amount that indicates the ownership participation of the person. Used for screening purposes by the PXP Financial Risk Team. example: 25 minimum: 0 maximum: 100 required: - roles - name - incorporationAddress - taxNumber - incorporationNumber - incorporationDate NewRelatedCompany: type: object description: Contains the data of the new related company. properties: roles: type: array description: A list of roles that this company takes in the context of this application. items: type: string enum: - Owner - ExclusiveOwner - Shareholder - UltimateBeneficiary - ExclusiveShareholder name: type: string description: The legal company name. Used for screening purposes by the PXP Financial Risk Team. example: Master Universe Inc. pattern: '^(?!^ +$)^.{1,50}$' incorporationAddress: $ref: '#/definitions/Address' taxNumber: type: string description: The taxpayer Identification Number (TIN) of the company. Used for screening purposes by the PXP Financial Risk Team. example: ATU99999978 minLength: 1 maxLength: 20 incorporationDate: type: string description: The exact starting date of the corporation, as it appears on the company registry of the country of incorporation. Used for screening purposes by the PXP Financial Risk Team. example: 2005-11-22 pattern: '^\d{4}-\d{1,2}-\d{1,2}$' incorporationNumber: type: string description: The federal number assigned to the business in the company registry at the time of incorporation. Used for screening purposes by the PXP Financial Risk Team. example: U4567UP1234234 minLength: 1 maxLength: 50 shareOrOwnershipPercentage: type: number description: A percentage amount that indicates the ownership participation of the person. Used for screening purposes by the PXP Financial Risk Team. example: 25 minimum: 0 maximum: 100 merchantId: type: string description: The id of the merchant to which this company relates to. Used for associating the company with the merchant. example: f6b4d04e-1a67-4f7b-a6b0-181636af3290 minLength: 1 maxLength: 50 required: - roles - name - incorporationAddress - taxNumber - incorporationNumber - incorporationDate - merchantId RelatedCompany: type: object description: Contains the related companies' data. properties: id: type: string description: The server-generated id of the company which was registered or returned. Used for identifying the company in other methods e.g. getRelatedCompany. example: b7b8d27a-35b0-488c-9ad0-2be7697a533a roles: type: array description: A list of roles that this company holds. items: type: string enum: - Owner - ExclusiveOwner - Shareholder - UltimateBeneficiary - ExclusiveShareholder name: type: string description: The legal company name. Used for screening purposes by the PXP Financial Risk Team. example: Master Universe Inc. incorporationAddress: $ref: '#/definitions/Address' taxNumber: type: string description: The taxpayer Identification Number (TIN) of the company. Used for screening purposes by the PXP Financial Risk Team. example: ATU99999978 incorporationDate: type: string description: The exact starting date of the corporation, as it appears on the company registry of the country of incorporation. Used for screening purposes by the PXP Financial Risk Team. example: 2005-11-22 incorporationNumber: type: string description: The federal number assigned to the business in the company registry at the time of incorporation. Used for screening purposes by the PXP Financial Risk Team. example: U4567UP1234234 shareOrOwnershipPercentage: type: number description: A percentage amount that indicates the ownership participation of the person. Used for screening purposes by the PXP Financial Risk Team. example: 25 minimum: 0 maximum: 100 merchant: $ref: '#/definitions/ObjectWithId' documents: type: array items: $ref: '#/definitions/ObjectWithId' NewNestedBankAccount: type: object description: Contains the data of the new bank account. Used for registering a bank account within a merchant registration. properties: bankName: type: string description: The name of the bank at which this account is held. Used for settlement purposes. example: Erste Bank pattern: '^(?!^ +$)^.{1,50}$' accountNumber: type: string description: The account number of the bank account. Should only be provided if the account does not have an IBAN. Used for settlement purposes if no IBAN provided. example: 779466558 pattern: '^(?!^ +$)^.{1,30}$' bankCode: type: string description: The bank code of the bank at which this account is held. Should only be provided if the account does not have a BIC code. Used for settlement purposes if no BIC provided. example: 60000 pattern: '^(?!^ +$)^.{1,20}$' countryCode: type: string description: The country code for the country in which this account was created as ISO 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). example: AT pattern: '^[A-Z]{2}$' currencyCode: type: string description: The currency code for the currency in which the account is held as ISO 4217 3-digit code (https://en.wikipedia.org/wiki/ISO_4217). example: EUR pattern: '^[A-Z]{3}$' holderName: type: string description: The name of the person that is registered as the account holder. example: Max Mayer pattern: '^(?!^ +$)^.{1,50}$' iban: type: string description: The IBAN of the account. Used for settlement purposes. example: AT990000111122223333 pattern: '^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}$' bic: type: string description: The BIC code of the bank at which this account is held. example: DABAIE2D pattern: '^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$' required: - bankName - countryCode - currencyCode - holderName NewBankAccount: type: object description: Contains the data of the new bank account. properties: bankName: description: The name of the bank at which this account is held. Used for settlement purposes. example: Erste Bank pattern: '^(?!^ +$)^.{1,50}$' accountNumber: type: string description: The account number of the bank account. Should only be provided if the account does not have an IBAN. Used for settlement purposes if no IBAN provided. example: 779466558 pattern: '^(?!^ +$)^.{1,30}$' bankCode: type: string description: The bank code of the bank at which this account is held. Should only be provided if the account does not have a BIC code. Used for settlement purposes if no BIC provided. example: 60000 pattern: '^(?!^ +$)^.{1,20}$' countryCode: description: The country code for the country in which this account was created as ISO 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). example: AT pattern: '^[A-Z]{2}$' currencyCode: type: string description: The currency code for the currency in which the account is held as ISO 4217 3-digit code (https://en.wikipedia.org/wiki/ISO_4217). example: EUR pattern: '^[A-Z]{3}$' holderName: type: string description: The name of the person that is registered as the account holder. example: Max Mayer pattern: '^(?!^ +$)^.{1,50}$' iban: type: string description: The IBAN of the account. Used for settlement purposes. example: AT990000111122223333 pattern: '^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}$' bic: type: string description: The BIC code of the bank at which this account is held. example: DABAIE2D pattern: '^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$' merchantId: type: string description: The id of the merchant to which this bank account should be associated with. Used for associating the company with the merchant. example: f6b4d04e-1a67-4f7b-a6b0-181636af3290 required: - bankName - countryCode - currencyCode - holderName - merchantId BankAccount: type: object description: Contains the bank account data. properties: id: type: string description: The server-generated id of the bank account which was registered or returned. Used for identifying the bank account in other methods e.g. getBankAccount. example: e769d1c9-8320-419a-bbbb-f0ead3dfee78 readOnly: true bankName: type: string description: The name of the bank at which this account is held. Used for settlement purposes. example: Erste Bank accountNumber: type: string description: The account number of the bank account. Should only be provided if the account does not have an IBAN. Used for settlement purposes if no IBAN provided. example: 779466558 bankCode: type: string description: The bank code of the bank at which this account is held. Should only be provided if the account does not have a BIC code. Used for settlement purposes if no BIC provided. example: 60000 countryCode: type: string description: The country code for the country in which this account was created as ISO 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). example: AT currencyCode: type: string description: The currency code for the currency in which the account is held as ISO 4217 3-digit code (https://en.wikipedia.org/wiki/ISO_4217). example: EUR holderName: type: string description: The name of the person that is registered as the account holder. example: Max Mayer iban: type: string description: The IBAN of the account. Used for settlement purposes. example: AT99 0000 1111 2222 3333 bic: type: string description: The BIC code of the bank at which this account is held. example: DABAIE2D merchant: $ref: '#/definitions/ObjectWithId' documents: type: array items: $ref: '#/definitions/ObjectWithId' Document: type: object description: Contains the document data. properties: id: type: string description: The server-generated id of the document which was uploaded/returned. example: 8a527b13-01d6-49e1-92d6-98a8ea58076e name: type: string description: The name of the document (file). example: Passport.pdf type: type: string description: The type of the document (file). enum: - AddressProofForMerchantLocation - AnnualReport - ArticlesOfAssociation - BankReferenceLetter - BankStatement - BusinessLicenseOrAuthorization - CardProcessingHistory6Months - CertificationOfIncorporation - ChargebackAndFraudPolicyAndProcedures - CompanyAMLPolicyAndGuidelines - Contract - LegalOpinion - ExternalRiskChecksResult - ExternalCompanyRiskChecksResult - ExternalCustomerRiskChecksResult - Organogram - PassportOrGovernmentID - PCIQuarterlyASVReport - PCIReportOnCompliance - PCISelfAssessmentQuestionnaire - PersonalUtilityBill - ProofOfAuthorisedSignatory - ProofOfDomainOwnership - TaxFilings merchant: $ref: '#/definitions/ObjectWithId' shop: $ref: '#/definitions/ObjectWithId' bankAccount: $ref: '#/definitions/ObjectWithId' relatedPerson: $ref: '#/definitions/ObjectWithId' relatedCompany: $ref: '#/definitions/ObjectWithId' NewNestedQuestionAnswerPair: type: object description: Contains the question and the corresponding answer. properties: questionId: type: string description: The predefined literal id of the question. See https://developer.kalixa.com/v1.0/docs/questions for more information. example: TimeAcceptingCards answer: type: string description: The answer to the question, as provided by the merchant. Used for screening purposes. example: five years maxLength: 1000 QuestionAnswerPair: type: object description: Contains the question and the corresonding answer. properties: questionId: type: string description: The predefined literal id of the question. See https://developer.kalixa.com/v1.0/docs/questions for more information. example: TimeAcceptingCards answer: type: string description: The answer to the question, as provided by the merchant. Used for screening purposes. example: five years Question: type: object description: Contains the question text and scope for the related questionId. properties: questionId: type: string description: The predefined literal id of the question. See https://developer.kalixa.com/v1.0/docs/questions for more information. example: TimeAcceptingCards text: type: string description: Contains the question. See https://developer.kalixa.com/v1.0/docs/questions for more information. example: How long have you been accepting cards? scope: type: string description: The entity type to which the question relates to. Can be either "Merchant" or "Shop". example: merchant VolumeSpreadByProcessing: type: object description: An indication how the volume is expected to be distributed across different types of transactions. Expressed in percentage which needs to sum up to 100. Applicable only for shops where cardAcceptanceMode equals CNP (ecommerce). Used for screening purposes by the PXP Financial Risk Team. properties: ecom: type: integer description: E-commerce transactions. example: 25 minimum: 0 maximum: 100 moto: type: integer description: Mail or Telephone Order transactions. example: 25 minimum: 0 maximum: 100 recurring: type: integer description: Recurring e-commerce transactions. example: 50 minimum: 0 maximum: 100 VolumeSpreadByRegion: type: object description: An indication how the volume is expected to be distributed across regions. Expressed in percentage which needs to sum up to 100. Applicable only for shops where cardAcceptanceMode equals CNP (ecommerce). Used for screening purposes by the PXP Financial Risk Team. properties: northAmerica: type: integer description: Percentage of transactions in North America. example: 25 minimum: 0 maximum: 100 europeanEconomicArea: type: integer description: Percentage of transactions in the european economic area. example: 25 minimum: 0 maximum: 100 asia: type: integer description: Percentage of transactions in Asia. example: 25 minimum: 0 maximum: 100 latinAmerica: type: integer description: Percentage of transactions in Latin America. example: 20 minimum: 0 maximum: 100 others: type: integer description: Percentage of transactions in other regions. example: 5 minimum: 0 maximum: 100 VolumeSpreadByScheme: type: object description: An indication how the volume is expected to be distributed across schemes. Expressed in percentage which needs to sum up to 100. Applicable only for shops where cardAcceptanceMode equals CNP (ecommerce). Used for screening purposes by the PXP Financial Risk Team. properties: visa: type: integer description: Percentage of processed transactions for VISA. example: 25 minimum: 0 maximum: 100 mastercard: type: integer description: Percentage of processed transactions for Mastercard. example: 25 minimum: 0 maximum: 100 others: type: integer description: Percentage of processed transactions for other schemes. example: 50 minimum: 0 maximum: 100