From 83299c708ed4a7ec4e40900b8f0bcc0aa56ef8a0 Mon Sep 17 00:00:00 2001 From: Dean Harel Date: Wed, 17 Jun 2026 18:34:30 +0300 Subject: [PATCH] chore: reset published spec baseline Retire the under-annotated seed baseline and its noisy correction diff. Re-publish from the accurate producer spec so the first published release is a clean baseline (publish.ts emits 'Initial published spec.' when no prior spec exists). --- CHANGELOG.md | 133 - spec/openapi.json | 12987 ----------------------------------------- spec/openapi.yaml | 8731 --------------------------- spec/provenance.json | 6 - 4 files changed, 21857 deletions(-) delete mode 100644 spec/openapi.json delete mode 100644 spec/openapi.yaml delete mode 100644 spec/provenance.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 5909101..825c32f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,134 +1 @@ # Changelog - -## v1.12+20260617.86e6d5d (2026-06-17) - -# API Changelog 1.12 vs. 1.12 - - -## API Changes - -### PATCH /pay-ins/checkout/{checkoutId} -- endpoint added - - -### GET /pay-ins/checkout/{signedLinkId} -- endpoint added - - -### GET /smsa/merchant/{merchantId} -- :warning: added the new path request parameter `merchantId` - - -### GET /terminal/vendor/{vendorId} -- :warning: added the new path request parameter `vendorId` - - -### POST /vendors/reference/{vendorReference}/invoices -- :warning: added the new required request property `lineItems/items/description` -- :warning: added the new required request property `lineItems/items/quantity` -- :warning: added the new required request property `lineItems/items/unitPrice` -- :warning: request property `paymentMethods/items/` was restricted to a list of enum values -- :warning: the `lineItems/items/` request property type/format changed from `array`/`` to `object`/`` -- :warning: the `paymentMethods/items/` request property type/format changed from `array`/`` to `string`/`` -- :warning: the `lineItems/items/` response's property type/format changed from `array`/`` to `object`/`` for status `200` -- added the new `apm` enum value to the request property `paymentMethods/items/` -- added the new `bankTransfer` enum value to the request property `paymentMethods/items/` -- added the new `card` enum value to the request property `paymentMethods/items/` -- added the new `creditCard` enum value to the request property `paymentMethods/items/` -- added the new `directDebit` enum value to the request property `paymentMethods/items/` -- added the new `taxFreeChildcare` enum value to the request property `paymentMethods/items/` -- added the required property `lineItems/items/description` to the response with the `200` status -- added the required property `lineItems/items/quantity` to the response with the `200` status -- added the required property `lineItems/items/unitPrice` to the response with the `200` status - - -### PATCH /vendors/reference/{vendorReference}/invoices/{invoicesId} -- :warning: added the new required request property `lineItems/items/description` -- :warning: added the new required request property `lineItems/items/quantity` -- :warning: added the new required request property `lineItems/items/unitPrice` -- :warning: request property `paymentMethods/items/` was restricted to a list of enum values -- :warning: the `lineItems/items/` request property type/format changed from `array`/`` to `object`/`` -- :warning: the `paymentMethods/items/` request property type/format changed from `array`/`` to `string`/`` -- :warning: the `lineItems/items/` response's property type/format changed from `array`/`` to `object`/`` for status `200` -- added the new `apm` enum value to the request property `paymentMethods/items/` -- added the new `bankTransfer` enum value to the request property `paymentMethods/items/` -- added the new `card` enum value to the request property `paymentMethods/items/` -- added the new `creditCard` enum value to the request property `paymentMethods/items/` -- added the new `directDebit` enum value to the request property `paymentMethods/items/` -- added the new `taxFreeChildcare` enum value to the request property `paymentMethods/items/` -- added the required property `lineItems/items/description` to the response with the `200` status -- added the required property `lineItems/items/quantity` to the response with the `200` status -- added the required property `lineItems/items/unitPrice` to the response with the `200` status - - -### GET /vendors/{vendorId}/invoices -- :warning: the `items/items/` response's property type/format changed from `array`/`` to `object`/`` for status `200` -- added the optional property `items/items/subscriptionId` to the response with the `200` status -- added the required property `items/items/consumer` to the response with the `200` status -- added the required property `items/items/createdAt` to the response with the `200` status -- added the required property `items/items/currency` to the response with the `200` status -- added the required property `items/items/dueDate` to the response with the `200` status -- added the required property `items/items/external` to the response with the `200` status -- added the required property `items/items/id` to the response with the `200` status -- added the required property `items/items/invoiceObject` to the response with the `200` status -- added the required property `items/items/isRecurring` to the response with the `200` status -- added the required property `items/items/lineItems` to the response with the `200` status -- added the required property `items/items/merchantId` to the response with the `200` status -- added the required property `items/items/paymentStatus` to the response with the `200` status -- added the required property `items/items/publicUrl` to the response with the `200` status -- added the required property `items/items/reference` to the response with the `200` status -- added the required property `items/items/totalAmount` to the response with the `200` status -- added the required property `items/items/totalPaid` to the response with the `200` status -- added the required property `items/items/updatedAt` to the response with the `200` status -- added the required property `items/items/vatAmount` to the response with the `200` status -- added the required property `items/items/vendorId` to the response with the `200` status - - -### POST /vendors/{vendorId}/invoices -- :warning: added the new required request property `lineItems/items/description` -- :warning: added the new required request property `lineItems/items/quantity` -- :warning: added the new required request property `lineItems/items/unitPrice` -- :warning: request property `paymentMethods/items/` was restricted to a list of enum values -- :warning: the `lineItems/items/` request property type/format changed from `array`/`` to `object`/`` -- :warning: the `paymentMethods/items/` request property type/format changed from `array`/`` to `string`/`` -- :warning: the `lineItems/items/` response's property type/format changed from `array`/`` to `object`/`` for status `200` -- added the new `apm` enum value to the request property `paymentMethods/items/` -- added the new `bankTransfer` enum value to the request property `paymentMethods/items/` -- added the new `card` enum value to the request property `paymentMethods/items/` -- added the new `creditCard` enum value to the request property `paymentMethods/items/` -- added the new `directDebit` enum value to the request property `paymentMethods/items/` -- added the new `taxFreeChildcare` enum value to the request property `paymentMethods/items/` -- added the required property `lineItems/items/description` to the response with the `200` status -- added the required property `lineItems/items/quantity` to the response with the `200` status -- added the required property `lineItems/items/unitPrice` to the response with the `200` status - - -### GET /vendors/{vendorId}/invoices/{invoicesId} -- :warning: the `lineItems/items/` response's property type/format changed from `array`/`` to `object`/`` for status `200` -- added the required property `lineItems/items/description` to the response with the `200` status -- added the required property `lineItems/items/quantity` to the response with the `200` status -- added the required property `lineItems/items/unitPrice` to the response with the `200` status - - -### PATCH /vendors/{vendorId}/invoices/{invoicesId} -- :warning: added the new required request property `lineItems/items/description` -- :warning: added the new required request property `lineItems/items/quantity` -- :warning: added the new required request property `lineItems/items/unitPrice` -- :warning: request property `paymentMethods/items/` was restricted to a list of enum values -- :warning: the `lineItems/items/` request property type/format changed from `array`/`` to `object`/`` -- :warning: the `paymentMethods/items/` request property type/format changed from `array`/`` to `string`/`` -- :warning: the `lineItems/items/` response's property type/format changed from `array`/`` to `object`/`` for status `200` -- added the new `apm` enum value to the request property `paymentMethods/items/` -- added the new `bankTransfer` enum value to the request property `paymentMethods/items/` -- added the new `card` enum value to the request property `paymentMethods/items/` -- added the new `creditCard` enum value to the request property `paymentMethods/items/` -- added the new `directDebit` enum value to the request property `paymentMethods/items/` -- added the new `taxFreeChildcare` enum value to the request property `paymentMethods/items/` -- added the required property `lineItems/items/description` to the response with the `200` status -- added the required property `lineItems/items/quantity` to the response with the `200` status -- added the required property `lineItems/items/unitPrice` to the response with the `200` status - - -### GET /vendors/{vendorId}/open-banking/details -- :warning: added the new path request parameter `vendorId` - diff --git a/spec/openapi.json b/spec/openapi.json deleted file mode 100644 index 6e75e14..0000000 --- a/spec/openapi.json +++ /dev/null @@ -1,12987 +0,0 @@ -{ - "openapi": "3.0.0", - "paths": { - "/authorize": { - "post": { - "operationId": "AuthController_authorize", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthorizeRequest" - }, - "examples": { - "onboarding-ui": { - "value": { - "scopes": [ - "onboarding_write" - ], - "vendorId": "string" - } - }, - "ewallet-ui": { - "value": { - "scopes": [ - "ewallet_read", - "payout_write", - "link_read", - "link_write" - ], - "vendorId": "string" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthorizeResponse" - } - } - } - }, - "400": { - "description": "" - }, - "401": { - "description": "" - } - }, - "tags": [ - "Authentication" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors": { - "post": { - "operationId": "VendorController_createVendor", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VendorPayload" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatedVendor" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "VendorController_getAllVendor", - "parameters": [], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CreatedVendor" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}": { - "get": { - "operationId": "VendorController_getVendorById", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatedVendor" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/authorizations": { - "get": { - "operationId": "VendorController_getAuthorizations", - "parameters": [ - { - "name": "page", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "sort", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "daterange", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string", - "format": "date-time" - } - } - }, - { - "name": "status", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "mandateReference", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "reference", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "amount", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "consumerName", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "paymentMethod", - "required": false, - "in": "query", - "schema": { - "enum": [ - "apm", - "bankTransfer", - "creditCard", - "card", - "directDebit", - "taxFreeChildcare" - ], - "type": "string" - } - }, - { - "name": "dueDaterange", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string", - "format": "date-time" - } - } - }, - { - "name": "consumerEmail", - "required": false, - "in": "query", - "description": "Search by buyer/customer email address (case-insensitive exact match)", - "example": "jane.smith@example.com", - "schema": { - "type": "string" - } - }, - { - "name": "vendorEmail", - "required": false, - "in": "query", - "description": "Custom email address for CSV export delivery", - "schema": { - "type": "string" - } - }, - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/settings/descriptor": { - "patch": { - "operationId": "VendorController_updateDescriptor", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateDescriptor" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateDescriptor" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/public-settings/fees": { - "get": { - "operationId": "VendorController_getPlatformFeeConfiguration", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PublicConfigurationResponse" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/marketing-configuration/{templateName}": { - "get": { - "operationId": "VendorController_getMarketingConfiguration", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "templateName", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MarketingConfigurationResponse" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/marketing-data": { - "get": { - "operationId": "VendorController_getMarketingData", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MarketingDataResponse" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/communication-email": { - "patch": { - "operationId": "VendorController_updateCommunicationEmail", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateCommunicationEmailRequestPayload" - } - } - } - }, - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateCommunicationEmailResponse" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/fees": { - "get": { - "operationId": "VendorController_getVendorFees", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VendorFeesResponseDto" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/ewallets": { - "post": { - "operationId": "VendorEwalletController_createEwallet", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateEwalletBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Ewallet" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "VendorEwalletController_getEwallet", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Ewallet" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/ewallets/transactions": { - "get": { - "operationId": "VendorEwalletController_getEwalletTransactionsByVendorId", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EwalletTransaction" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/ewallets/{ewalletId}/transactions": { - "get": { - "operationId": "VendorEwalletController_getEwalletTransactions", - "parameters": [ - { - "name": "ewalletId", - "required": true, - "in": "path", - "schema": {} - }, - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EwalletTransaction" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payouts": { - "get": { - "operationId": "VendorPayoutController_getPayouts", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Payout" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "VendorPayoutController_createPayout", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatePayoutBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Payout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payouts-report": { - "get": { - "operationId": "VendorPayoutController_getPayoutsReport", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - }, - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payouts/{payoutId}": { - "get": { - "operationId": "VendorPayoutController_getPayoutDetails", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "payoutId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - }, - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payouts-configuration": { - "get": { - "operationId": "VendorPayoutController_getVendorPayoutConfiguration", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PayoutConfiguration" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "VendorPayoutController_deleteVendorPayoutConfiguration", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PayoutConfiguration" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "VendorPayoutController_setVendorPayoutConfiguration", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatePayoutConfigurationBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PayoutConfiguration" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payouts/{payoutId}/commit": { - "post": { - "operationId": "VendorPayoutController_commitPayout", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - }, - { - "name": "payoutId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Payout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payouts/{payoutId}/cancel": { - "post": { - "operationId": "VendorPayoutController_cancelPayout", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - }, - { - "name": "payoutId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Payout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payouts/{payoutId}/drillthrough": { - "get": { - "operationId": "VendorPayoutController_drillThroughPayout", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - }, - { - "name": "payoutId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Payout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payouts/{payoutId}/transactions": { - "get": { - "operationId": "VendorPayoutController_getPayoutTransactionsById", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "payoutId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "page", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "sort", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "daterange", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string", - "format": "date-time" - } - } - }, - { - "name": "status", - "required": false, - "in": "query", - "schema": { - "$ref": "#/components/schemas/PaymentStatus" - } - }, - { - "name": "vendorId", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "paymentMethods", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "tokenizationMethods", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "transactionType", - "required": false, - "in": "query", - "schema": { - "$ref": "#/components/schemas/TransactionType" - } - }, - { - "name": "consumerEmail", - "required": false, - "in": "query", - "schema": { - "format": "email", - "type": "string" - } - }, - { - "name": "invoiceReference", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "payoutReference", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "currency", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "amount", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "netAmount", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "csv", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "vendorEmail", - "required": false, - "in": "query", - "description": "Custom email address for CSV export delivery", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - }, - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payout-options": { - "get": { - "operationId": "VendorPayoutOptionsController_getPayoutOptions", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PayoutOption" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payment-options/available": { - "get": { - "operationId": "VendorPaymentOptionsController_getAvailablePaymentOptions", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payment-options": { - "get": { - "operationId": "VendorPaymentOptionsController_getPaymentOptions", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CreatedPaymentOption" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/consumers/{consumerId}/payment-options": { - "get": { - "operationId": "VendorPaymentOptionsController_getConsumerPaymentOptions", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "consumerId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "required": true, - "in": "query", - "schema": { - "type": "number" - } - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SavedPaymentOptionResponse" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/consumers/{consumerId}/payment-options/{paymentOptionId}": { - "delete": { - "operationId": "VendorPaymentOptionsController_deletePaymentOption", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "consumerId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "paymentOptionId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/ewallets": { - "post": { - "operationId": "EwalletController_createEwallet", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateEwalletBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Ewallet" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "eWallet" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "EwalletController_getEwallet", - "parameters": [], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Ewallet" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "eWallet" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/ewallets/{ewalletId}": { - "get": { - "operationId": "EwalletController_getEwalletById", - "parameters": [ - { - "name": "ewalletId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Ewallet" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "eWallet" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/ewallets/{ewalletId}/transactions": { - "get": { - "operationId": "EwalletController_getEwalletTransactions", - "parameters": [ - { - "name": "ewalletId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EwalletTransaction" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "eWallet" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/payment-options": { - "get": { - "operationId": "PaymentOptionsController_getPaymentOptions", - "parameters": [], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CreatedPaymentOption" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payment Option" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "PaymentOptionsController_createPaymentOption", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatePaymentOptionPayload" - } - } - } - }, - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payment Option" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/payouts": { - "get": { - "operationId": "PayoutController_getPayouts", - "parameters": [ - { - "name": "currency", - "required": false, - "in": "query", - "example": "GBP", - "schema": {} - }, - { - "name": "status", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "initialized", - "pending", - "sent", - "completed", - "failed", - "canceled", - "declined", - "unknown", - "in_review" - ] - } - } - }, - { - "name": "order", - "required": false, - "in": "query", - "example": "DESC", - "schema": {} - }, - { - "name": "limit", - "required": false, - "in": "query", - "example": 3, - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Payout" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payout" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "PayoutController_createPayout", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatePayoutBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Payout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payout" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/payouts/{payoutId}/commit": { - "post": { - "operationId": "PayoutController_commitPayout", - "parameters": [ - { - "name": "payoutId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Payout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payout" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/payouts/{payoutId}/cancel": { - "post": { - "operationId": "PayoutController_cancelPayout", - "parameters": [ - { - "name": "payoutId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Payout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payout" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/payouts/configuration": { - "get": { - "operationId": "PayoutController_getPayoutConfiguration", - "parameters": [], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PayoutConfiguration" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payout" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "PayoutController_deletePayoutConfiguration", - "parameters": [], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PayoutConfiguration" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payout" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "PayoutController_setPayoutConfiguration", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatePayoutConfigurationBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PayoutConfiguration" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payout" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/payouts/{payoutId}": { - "get": { - "operationId": "PayoutController_getPayoutById", - "parameters": [ - { - "name": "payoutId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Payout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payout" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/payouts/{payoutId}/drillthrough": { - "get": { - "operationId": "PayoutController_drillThroughPayout", - "parameters": [ - { - "name": "payoutId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Payout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payout" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/onboarding/file": { - "post": { - "operationId": "OnboardingController_postAndSubmitFile", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "file": { - "type": "string", - "format": "binary" - }, - "alias": { - "type": "string", - "example": "individual.passport" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/OnboardingCompletedIndividual" - }, - { - "$ref": "#/components/schemas/OnboardingCompletedCompany" - } - ] - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Onboarding" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/onboarding": { - "get": { - "operationId": "OnboardingController_getOnboardingFlatForms", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/PendingOnboardingIndividual" - }, - { - "$ref": "#/components/schemas/PendingOnboardingCompany" - } - ] - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Onboarding" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "OnboardingController_postOnboardingFlatForms", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OnboardingApiPayload" - }, - "examples": { - "individual": { - "value": { - "fields": [ - { - "alias": "individual.email", - "value": "john.doe@example.com" - }, - { - "alias": "individual.phone", - "value": "+447911123456" - }, - { - "alias": "individual.firstName", - "value": "John" - }, - { - "alias": "individual.lastName", - "value": "Doe" - }, - { - "alias": "individual.birthDate", - "value": "1991-04-02" - }, - { - "alias": "individual.address", - "value": { - "country": "GB", - "city": "London", - "state": "England", - "houseNumber": "64", - "street": "New Cavendish Street", - "postCode": "SW1W 0NY" - } - }, - { - "alias": "business.category", - "value": "DIGITAL_GOODS" - }, - { - "alias": "business.url", - "value": "example.com" - }, - { - "alias": "business.serviceDescription", - "value": "example.com" - }, - { - "alias": "business.accountHolderName", - "value": "Doe" - }, - { - "alias": "business.bankAccount", - "value": "38290008" - }, - { - "alias": "business.sortCode", - "value": "200415" - }, - { - "alias": "business.agreement", - "value": { - "accepted": true, - "ipAddress": "1.1.1.1" - } - } - ] - } - }, - "company": { - "value": { - "fields": [ - { - "alias": "company.email", - "value": "john.doe@example.com" - }, - { - "alias": "company.phone", - "value": "+447911123456" - }, - { - "alias": "representative.firstName", - "value": "John" - }, - { - "alias": "representative.lastName", - "value": "Doe" - }, - { - "alias": "company.name", - "value": "Better Delivery" - }, - { - "alias": "company.address", - "value": { - "country": "GB", - "city": "London", - "state": "England", - "houseNumber": "64", - "street": "New Cavendish Street", - "postCode": "SW1W 0NY" - } - }, - { - "alias": "business.category", - "value": "DIGITAL_GOODS" - }, - { - "alias": "business.agreement", - "value": { - "accepted": true, - "ipAddress": "1.1.1.1" - } - } - ] - } - } - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/OnboardingCompletedIndividual" - }, - { - "$ref": "#/components/schemas/OnboardingCompletedCompany" - } - ] - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Onboarding" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/overview": { - "get": { - "operationId": "OnboardingController_getOnboardingOverview", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/PendingOnboardingIndividual" - }, - { - "$ref": "#/components/schemas/PendingOnboardingCompany" - } - ] - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Onboarding" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/onboarding/require": { - "post": { - "operationId": "OnboardingController_requireOnboardingAction", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequireOnboardingPayload" - }, - "examples": { - "individual": { - "value": { - "createOnboardingLink": true, - "fields": [ - { - "alias": "business.bankDetails" - } - ] - } - }, - "company": { - "value": { - "createOnboardingLink": true, - "fields": [ - { - "alias": "business.accountNumber" - }, - { - "alias": "business.sortCode" - } - ] - } - } - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OnboardingRequired" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Onboarding" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/campaigns/vendors": { - "get": { - "operationId": "CampaignController_getCampaignVendors", - "parameters": [ - { - "name": "campaign", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Campaigns" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "CampaignController_addCampaignVendors", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CampaignVendorsPayload" - } - } - } - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Campaigns" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/campaigns/vendors/delete": { - "post": { - "operationId": "CampaignController_removeCampaignVendors", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CampaignVendorsPayload" - } - } - } - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Campaigns" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/plans": { - "post": { - "operationId": "PayInPlanController_createPayInPlan", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PublicCreatePlanDto" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PayInPlan" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Recurring" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "PayInPlanController_getPayInPlans", - "parameters": [], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PayInPlan" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Recurring" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/plans/vendor/{vendorId}": { - "get": { - "operationId": "PayInPlanController_getPayInPlansByVendor", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PayInPlan" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Recurring" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/plans/{planId}": { - "get": { - "operationId": "PayInPlanController_getPayInPlan", - "parameters": [ - { - "name": "planId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PayInPlan" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Recurring" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "PayInPlanController_updatePayInPlan", - "parameters": [ - { - "name": "planId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PublicUpdatePlanDto" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PayInPlan" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Recurring" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "PayInPlanController_deletePayInPlan", - "parameters": [ - { - "name": "planId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Recurring" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/plans/{planId}/subscriptions": { - "get": { - "operationId": "PayInPlanController_getPayInPlanSubscriptions", - "parameters": [ - { - "name": "planId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Subscription" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Recurring" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/plans/{planId}/subscriptions/{subscriptionId}": { - "get": { - "operationId": "PayInPlanController_getPayInPlanSubscriptionById", - "parameters": [ - { - "name": "planId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "subscriptionId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Recurring" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "PayInPlanController_updatePayInPlanSubscriptionById", - "parameters": [ - { - "name": "planId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "subscriptionId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InternalUpdateSubscriptionDto" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PayInPlan" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Recurring" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/checkout": { - "post": { - "operationId": "WebSdkPayInController_createCheckout", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateCheckoutBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatedCheckout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/checkout/{signedLinkId}": { - "patch": { - "operationId": "WebSdkPayInController_updateCheckout", - "summary": "Update checkout", - "parameters": [ - { - "name": "signedLinkId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateCheckoutBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatedCheckout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "WebSdkPayInController_getCheckout", - "parameters": [ - { - "name": "signedLinkId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CheckoutPaymentLink" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/checkout/{signedLinkId}/expire": { - "post": { - "operationId": "WebSdkPayInController_expireCheckout", - "summary": "Expire checkout", - "parameters": [ - { - "name": "signedLinkId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatedCheckout" - } - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - }, - "405": { - "description": "Method Not Allowed" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/banks": { - "get": { - "operationId": "WebSdkPayInController_getBanks", - "parameters": [ - { - "name": "currency", - "required": false, - "in": "query", - "schema": { - "default": "GBP", - "type": "string" - } - }, - { - "name": "country", - "required": false, - "in": "query", - "schema": { - "default": "GB", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetBanksResponse" - } - } - } - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/token": { - "post": { - "operationId": "WebSdkPayInController_createToken", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateTokenBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatedToken" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins": { - "post": { - "operationId": "WebSdkPayInController_createPayIn", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatePayInBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Authorization" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/{authorizationId}": { - "get": { - "operationId": "WebSdkPayInController_getPayIn", - "parameters": [ - { - "name": "authorizationId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Authorization" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/{authorizationId}/capture": { - "post": { - "operationId": "WebSdkPayInController_payInCapture", - "parameters": [ - { - "name": "authorizationId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthorizationCaptureBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Authorization" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/{authorizationId}/void": { - "post": { - "operationId": "WebSdkPayInController_payInVoid", - "parameters": [ - { - "name": "authorizationId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Authorization" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/{authorizationId}/refund": { - "post": { - "operationId": "WebSdkPayInController_payInRefund", - "parameters": [ - { - "name": "authorizationId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthorizationOperationBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Authorization" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/{authorizationId}/activate": { - "post": { - "operationId": "WebSdkPayInController_activateAuthorization", - "parameters": [ - { - "name": "authorizationId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/pay-ins/{authorizationId}/reschedule": { - "post": { - "operationId": "WebSdkPayInController_rescheduledCollection", - "parameters": [ - { - "name": "authorizationId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateCheckoutBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatedCheckout" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "PayIn" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payment-methods/available": { - "get": { - "operationId": "VendorPaymentMethodController_getAvailablePaymentMethods", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AvailablePaymentMethods" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/payout-options": { - "get": { - "operationId": "PayoutOptionsController_getPayoutOptions", - "parameters": [], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PayoutOption" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Payout Option" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/webhooks": { - "get": { - "operationId": "WebhookController_getWebhooks", - "parameters": [], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Webhook" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Webhook" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "WebhookController_createWebhook", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateWebhookBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Webhook" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Webhook" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/webhooks/{webhookId}": { - "get": { - "operationId": "WebhookController_getWebhook", - "parameters": [ - { - "name": "webhookId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Webhook" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Webhook" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "WebhookController_updateWebhook", - "parameters": [ - { - "name": "webhookId", - "required": true, - "in": "path", - "schema": {} - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateWebhookBody" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Webhook" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Webhook" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "WebhookController_deleteWebhook", - "parameters": [ - { - "name": "webhookId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Webhook" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Webhook" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/configuration/public-configurations": { - "get": { - "operationId": "ConfigurationController_getPublicConfiguration", - "parameters": [], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PublicConfigurationResponse" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Configuration" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/public-settings": { - "get": { - "operationId": "VendorConfigurationController_getPublicConfiguration", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PublicConfigurationResponse" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/links/{linkId}": { - "get": { - "operationId": "PublicLinkController_getLink", - "parameters": [ - { - "name": "linkId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Link" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Link" - ] - } - }, - "/links/{linkId}/tokens": { - "get": { - "operationId": "PublicLinkController_getTokens", - "parameters": [ - { - "name": "linkId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "refreshToken", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Link" - ] - } - }, - "/links/{linkId}/tokens/login": { - "get": { - "operationId": "PublicLinkController_getLoginToken", - "parameters": [ - { - "name": "linkId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "merchantId", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "vendorId", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Link" - ] - } - }, - "/links/{linkId}/send": { - "post": { - "operationId": "PublicLinkController_sendLink", - "parameters": [ - { - "name": "linkId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SendLinkPayload" - } - } - } - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Link" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/links": { - "get": { - "operationId": "VendorLinkController_getLinks", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "status", - "required": true, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "created", - "opened", - "disabled" - ] - } - } - }, - { - "name": "limit", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "view", - "required": true, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "onboarding", - "payout", - "vpos", - "direct_debit" - ] - } - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Link" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "VendorLinkController_createLink", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PublicCreateLinkDto" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Link" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/links/{linkId}": { - "delete": { - "operationId": "VendorLinkController_disableLink", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "linkId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Link" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/transfers": { - "get": { - "operationId": "TransferController_getTransfers", - "parameters": [], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Transfer" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Transfer" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "TransferController_createTransfer", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateTransferBody" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Transfer" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Transfer" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/transfers/{transferId}/commit": { - "post": { - "operationId": "TransferController_commitTransfer", - "parameters": [ - { - "name": "transferId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Transfer" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Transfer" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/transfers/{transferId}/cancel": { - "post": { - "operationId": "TransferController_cancelTransfer", - "parameters": [ - { - "name": "transferId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Transfer" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Transfer" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/transfers/{transferId}": { - "get": { - "operationId": "TransferController_getTransferById", - "parameters": [ - { - "name": "transferId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Transfer" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Transfer" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/settings/logo": { - "post": { - "operationId": "VendorSettingsController_uploadVendorLogo", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "required": [ - "logo" - ], - "properties": { - "logo": { - "type": "string", - "format": "binary" - } - } - } - } - } - }, - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "415": { - "description": "Unsupported File Format" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "VendorSettingsController_getVendorLogo", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "VendorSettingsController_deleteVendorLogo", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/open-banking/link": { - "post": { - "operationId": "OpenBankingController_link", - "parameters": [ - { - "name": "publicToken", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/open-banking/details": { - "get": { - "operationId": "OpenBankingController_details", - "parameters": [ - { - "name": "accessToken", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "holderName", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "accountNumber", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "sortCode", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "accountType", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/open-banking/exchange": { - "post": { - "operationId": "OpenBankingController_exchange", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/embedded/payouts": { - "get": { - "operationId": "PaymentController_getPayouts", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "page", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "sort", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "daterange", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string", - "format": "date-time" - } - } - }, - { - "name": "status", - "required": false, - "in": "query", - "schema": { - "$ref": "#/components/schemas/PaymentStatus" - } - }, - { - "name": "vendorId", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "paymentMethods", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "tokenizationMethods", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "transactionType", - "required": false, - "in": "query", - "schema": { - "$ref": "#/components/schemas/TransactionType" - } - }, - { - "name": "consumerEmail", - "required": false, - "in": "query", - "schema": { - "format": "email", - "type": "string" - } - }, - { - "name": "invoiceReference", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "payoutReference", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "currency", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "amount", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "netAmount", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "csv", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "vendorEmail", - "required": false, - "in": "query", - "description": "Custom email address for CSV export delivery", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Payments" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payments": { - "get": { - "operationId": "PaymentController_getPayments", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "page", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "sort", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "daterange", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string", - "format": "date-time" - } - } - }, - { - "name": "status", - "required": false, - "in": "query", - "schema": { - "$ref": "#/components/schemas/PaymentStatus" - } - }, - { - "name": "vendorId", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "paymentMethods", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "tokenizationMethods", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "transactionType", - "required": false, - "in": "query", - "schema": { - "$ref": "#/components/schemas/TransactionType" - } - }, - { - "name": "consumerEmail", - "required": false, - "in": "query", - "schema": { - "format": "email", - "type": "string" - } - }, - { - "name": "invoiceReference", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "payoutReference", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "currency", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "amount", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "netAmount", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "csv", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "vendorEmail", - "required": false, - "in": "query", - "description": "Custom email address for CSV export delivery", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Payments" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payments/{reference}/receipt": { - "get": { - "operationId": "PaymentController_getReceipt", - "summary": "Get receipt by payment reference", - "description": "Retrieve receipt for a specific payment reference", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "description": "Vendor ID", - "schema": { - "type": "string" - } - }, - { - "name": "reference", - "required": true, - "in": "path", - "description": "Payment reference ID (transactionId)", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Receipt retrieved successfully" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Receipt not found" - } - }, - "tags": [ - "Payments" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/payments/{reference}/send-receipt": { - "post": { - "operationId": "PaymentController_sendReceiptToEmail", - "summary": "Send receipt to email", - "description": "Send receipt for a specific payment to provided email address", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "description": "Vendor ID", - "schema": { - "type": "string" - } - }, - { - "name": "reference", - "required": true, - "in": "path", - "description": "Payment reference ID (transactionId)", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Receipt sent successfully" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Receipt not found" - } - }, - "tags": [ - "Payments" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/smsa/merchant/{merchantId}": { - "get": { - "operationId": "SmsaController_getPlatformSmsaByDate", - "parameters": [ - { - "name": "merchantId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Smsa" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/notifications": { - "get": { - "operationId": "NotificationController_getVendorNotifications", - "parameters": [ - { - "name": "page", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "sort", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "daterange", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string", - "format": "date-time" - } - } - }, - { - "name": "csv", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListNotification" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/notifications/read": { - "post": { - "operationId": "NotificationController_updateVendorNotificationStatus", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateReadNotifications" - } - } - } - }, - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/notifications/settings": { - "get": { - "operationId": "NotificationController_getVendorNotificationSettings", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NotificationSettings" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "NotificationController_updateVendorNotificationSettings", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateVendorNotificationSettings" - } - } - } - }, - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NotificationSettings" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/notifications/templates": { - "get": { - "operationId": "NotificationController_getNotificationTemplate", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "202": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NotificationTemplateResponse" - } - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/invoices": { - "get": { - "operationId": "InvoiceController_getListInvoices", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "page", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "paymentStatus", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListInvoice" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "InvoiceController_createInvoice", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateVendorInvoice" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Invoice" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/invoices/{invoicesId}": { - "get": { - "operationId": "InvoiceController_getInvoice", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "invoicesId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Invoice" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "InvoiceController_updateInvoice", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "invoicesId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateVendorInvoice" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Invoice" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/reference/{vendorReference}/invoices": { - "post": { - "operationId": "InvoiceController_createInvoiceByReference", - "parameters": [ - { - "name": "vendorReference", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateVendorInvoice" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Invoice" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/reference/{vendorReference}/invoices/{invoicesId}": { - "patch": { - "operationId": "InvoiceController_updateInvoiceByReference", - "parameters": [ - { - "name": "vendorReference", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "invoicesId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateVendorInvoice" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Invoice" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/consumers/{consumerId}/payment-options/{paymentOptionId}": { - "delete": { - "operationId": "ConsumerController_deletePaymentOption", - "parameters": [ - { - "name": "paymentOptionId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "consumerId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Consumers" - ] - } - }, - "/consumers": { - "post": { - "operationId": "ConsumerController_createConsumer", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ConsumerCreatePayload" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Consumer" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Consumers" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/mandates": { - "post": { - "operationId": "MandateController_createMandate", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MandateCreatePayload" - } - } - } - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "MandateController_getMandates", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "dates", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "consumerId", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "consumerReference", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "consumerEmail", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "consumerName", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "mandateReference", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "status", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "page", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "sort", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "csv", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/mandates/{mandateId}/send": { - "post": { - "operationId": "MandateController_sendMandate", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "mandateId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MandateSendPayload" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ISendMandateResponse" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/consumers/{consumerId}/mandates/{mandateId}/commit": { - "post": { - "operationId": "MandateController_commitMandate", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "consumerId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "mandateId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ICommitMandatePayload" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ICommitMandatePayload" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/mandates/{mandateId}/cancel": { - "post": { - "operationId": "MandateController_cancelMandate", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "mandateId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/consumers/{consumerId}/mandates": { - "get": { - "operationId": "MandateController_getMandateByConsumerId", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "consumerId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/consumers/{consumerId}/mandates/pdf": { - "get": { - "operationId": "MandateController_getMandatePdfByConsumerId", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "consumerId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - } - }, - "tags": [ - "Vendor" - ] - } - }, - "/vendors/{vendorId}/consumers/reference/{consumerReference}/mandates": { - "get": { - "operationId": "MandateController_getMandateByConsumerReference", - "parameters": [ - { - "name": "consumerReference", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": {} - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Vendor" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/processors/{processorId}/webhooks": { - "get": { - "operationId": "ProcessorController_getWebhooks", - "parameters": [ - { - "name": "processorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Processors" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "ProcessorController_postWebhooks", - "parameters": [ - { - "name": "processorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Processors" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/processors/{processorId}/webhooks/{eventType}": { - "post": { - "operationId": "ProcessorController_postWebhooksByEventType", - "parameters": [ - { - "name": "processorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "eventType", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Processors" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/processors/{processorId}/webhooks/{externalProcessor}/{eventType}": { - "post": { - "operationId": "ProcessorController_postWebhooksByExternalProcessorEventType", - "parameters": [ - { - "name": "externalProcessor", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "processorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "eventType", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Processors" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/ai/payment-methods-recommendation/vendor/{vendorId}/customer/{customerReference}": { - "get": { - "operationId": "AiController_getPaymentMethodsRecommendation", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "customerReference", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "AI" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/ai/email-template-recommendation/{vendorId}/invoices/{invoiceId}": { - "get": { - "operationId": "AiController_generateEmailTemplateRecommendation", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "invoiceId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "AI" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/vendors/{vendorId}/chargebacks": { - "get": { - "operationId": "ChargebackController_getVendorChargebacks", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "page", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "sort", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "dateRange", - "required": false, - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string", - "format": "date-time" - } - } - }, - { - "name": "invoiceReference", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "amount", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "csv", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "Chargebacks" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/qr-code/generate": { - "get": { - "operationId": "QrCodeController_generate", - "parameters": [ - { - "name": "url", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "QR Code" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/payment-routing-rules": { - "get": { - "operationId": "PaymentRoutingRuleController_getPaymentRoutingRules", - "parameters": [], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PaymentRoutingRuleDto" - } - } - } - } - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "PaymentRoutingRule" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "PaymentRoutingRuleController_createPaymentRoutingRule", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatePaymentRoutingRuleDto" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentRoutingRuleDto" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "PaymentRoutingRule" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "PaymentRoutingRuleController_updatePaymentRoutingRules", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentRoutingRuleDto" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "PaymentRoutingRule" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/payment-routing-rules/available-providers": { - "get": { - "operationId": "PaymentRoutingRuleController_getAvailableProviders", - "parameters": [], - "responses": { - "200": { - "description": "Successful Response" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "PaymentRoutingRule" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/payment-routing-rules/{id}": { - "patch": { - "operationId": "PaymentRoutingRuleController_updatePaymentRoutingRule", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdatePaymentRoutingRuleDto" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentRoutingRuleDto" - } - } - } - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "PaymentRoutingRule" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "PaymentRoutingRuleController_deletePaymentRoutingRule", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentRoutingRuleDto" - } - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not Found" - } - }, - "tags": [ - "PaymentRoutingRule" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/merchants/{merchantId}/feature-flags": { - "get": { - "operationId": "MerchantFeatureFlagController_getMerchantFeatureFlag", - "parameters": [ - { - "name": "merchantId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Feature flags retrieved successfully" - }, - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Merchant" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/terminal/vendor/{vendorId}": { - "get": { - "operationId": "TerminalController_getVendorTerminals", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Terminal" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/terminal/{terminalId}/vendor/{vendorId}": { - "get": { - "operationId": "TerminalController_getTerminalStatus", - "parameters": [ - { - "name": "vendorId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "terminalId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "400": { - "description": "Bad Request" - }, - "401": { - "description": "Unauthorized" - } - }, - "tags": [ - "Terminal" - ], - "security": [ - { - "bearer": [] - } - ] - } - } - }, - "info": { - "title": "UNIPaaS Platform API", - "description": "UNIPaaS API for Platforms was implemented in a RESTful state of mind, our API has straight-forward, resource-oriented endpoints and produces standard HTTP response codes to communicate back the result of operations. We comply with most common HTTP standard, such as HTTP verbs, authentication and resource nesting.", - "version": "1.12", - "contact": {} - }, - "tags": [], - "servers": [ - { - "url": "https://sandbox.unipaas.com/platform" - }, - { - "url": "https://api.unipaas.com/platform" - } - ], - "components": { - "securitySchemes": { - "bearer": { - "scheme": "bearer", - "bearerFormat": "JWT", - "type": "http" - } - }, - "schemas": { - "OnboardingType": { - "type": "string", - "enum": [ - "individual", - "company", - "non-profit" - ] - }, - "VendorReferencePayload": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "email": { - "type": "string", - "format": "email", - "example": "john.doe@example.com" - }, - "reference": { - "type": "string", - "example": "vendor-ref-123" - }, - "type": { - "example": "individual", - "$ref": "#/components/schemas/OnboardingType" - }, - "category": { - "type": "string" - }, - "categoryDescription": { - "type": "string" - } - }, - "required": [ - "reference" - ] - }, - "AuthorizeRequest": { - "type": "object", - "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "master", - "viewer", - "developer", - "onboarding_read", - "onboarding_write", - "ewallet_read", - "ewallet_write", - "websdk_access", - "payout_write", - "payout_read", - "checkout_create", - "link_read", - "link_write", - "public_config_read", - "notification_read", - "notification_write", - "config_read", - "login_access", - "direct_debit_write", - "direct_debit_read", - "consumer_public_access" - ] - } - }, - "vendorId": { - "type": "string" - }, - "vendor": { - "$ref": "#/components/schemas/VendorReferencePayload" - } - }, - "required": [ - "scopes" - ] - }, - "AuthorizeResponse": { - "type": "object", - "properties": { - "accessToken": { - "type": "string" - }, - "expiresIn": { - "type": "string" - }, - "vendorId": { - "type": "string" - }, - "scopes": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "master", - "viewer", - "developer", - "onboarding_read", - "onboarding_write", - "ewallet_read", - "ewallet_write", - "websdk_access", - "payout_write", - "payout_read", - "checkout_create", - "link_read", - "link_write", - "public_config_read", - "notification_read", - "notification_write", - "config_read", - "login_access", - "direct_debit_write", - "direct_debit_read", - "consumer_public_access" - ] - } - } - }, - "required": [ - "accessToken", - "expiresIn", - "vendorId", - "scopes" - ] - }, - "VendorPayload": { - "type": "object", - "properties": { - "businessName": { - "type": "string", - "example": "UNIPaaS" - }, - "firstName": { - "type": "string", - "example": "John" - }, - "middleName": { - "type": "string", - "example": "Fitzgerald" - }, - "lastName": { - "type": "string", - "example": "Doe" - }, - "email": { - "type": "string", - "format": "email", - "example": "john.doe@example.com" - }, - "country": { - "type": "string", - "format": "ISO 3166-1 alpha-2", - "example": "GB" - }, - "phone": { - "type": "string", - "example": "+447911123456" - }, - "birthDate": { - "type": "string", - "format": "YYYY-MM-DD", - "example": "1980-01-01" - }, - "serviceDescription": { - "type": "string", - "example": "Service description" - }, - "url": { - "type": "string", - "example": "https://platform.com" - }, - "category": { - "type": "string", - "enum": [ - "ONLINE_SERVICES", - "DIGITAL_GOODS", - "ONLINE_RETAIL", - "AGRICULTURAL_CO_OP", - "ARTIST_SUPPLY", - "MEMBERSHIP_CLUB", - "RECREATIONAL_FISHING", - "HEALTH_AND_FITNESS", - "SPORTS_CLUB", - "CATERERS", - "CONSTRUCTION_MATERIALS", - "SCHOOLS_EDUCATION_SERVICES", - "ENGINEERING_AND_SURVEYING_SERVICES", - "HEALTH_AND_MEDICAL_SERVICES", - "TELECOMMUNICATION_SERVICES", - "INDUSTRIAL_SUPPLIES", - "MEDIA_ADVERTISING_SERVICES", - "UTILITIES", - "FURNITURE_AND_HOME_FURNISHINGS", - "PROFESSIONAL_SERVICES", - "MISC_AND_RETAIL_STORES", - "PERSONAL_SERVICES", - "WHOLESALE_CLUBS", - "MANAGEMENT", - "ARCHITECTURAL_SERVICES", - "GENERAL_CONTRACTORS", - "GROCERIES_AND_SUPERMARKETS", - "TRANSPORTATION", - "TRANSPORT", - "VETERINARY_SERVICES", - "REAL_ESTATE_AGENTS", - "FUNERAL_SERVICES", - "CHILD_CARE_SERVICES", - "MOTOR_VEHICLE_SUPPLIES", - "CHARITABLE_AND_SOCIAL_SERVICE_ORGANIZATIONS", - "STUDIOS_AND_REHEARSAL_ROOMS", - "CREATIVE_SPACES", - "ELEMENTARY_OR_SECONDARY_SCHOOLS" - ], - "example": "DIGITAL_GOODS" - }, - "type": { - "example": "individual", - "$ref": "#/components/schemas/OnboardingType" - }, - "createOnboardingLink": { - "type": "boolean", - "default": false, - "example": true - }, - "metadata": { - "type": "object", - "example": { - "product": "Embedded Components" - } - }, - "communicationEmail": { - "type": "string", - "format": "email", - "example": "john.doe@example.com" - } - }, - "required": [ - "firstName", - "lastName", - "email", - "country" - ] - }, - "CreatedVendor": { - "type": "object", - "properties": { - "businessName": { - "type": "string", - "example": "UNIPaaS" - }, - "middleName": { - "type": "string", - "example": "Fitzgerald" - }, - "email": { - "type": "string", - "format": "email", - "example": "john.doe@example.com" - }, - "phone": { - "type": "string", - "example": "+447911123456" - }, - "birthDate": { - "type": "string", - "format": "YYYY-MM-DD", - "example": "1980-01-01" - }, - "serviceDescription": { - "type": "string", - "example": "Service description" - }, - "url": { - "type": "string", - "example": "https://platform.com" - }, - "category": { - "type": "string", - "enum": [ - "ONLINE_SERVICES", - "DIGITAL_GOODS", - "ONLINE_RETAIL", - "AGRICULTURAL_CO_OP", - "ARTIST_SUPPLY", - "MEMBERSHIP_CLUB", - "RECREATIONAL_FISHING", - "HEALTH_AND_FITNESS", - "SPORTS_CLUB", - "CATERERS", - "CONSTRUCTION_MATERIALS", - "SCHOOLS_EDUCATION_SERVICES", - "ENGINEERING_AND_SURVEYING_SERVICES", - "HEALTH_AND_MEDICAL_SERVICES", - "TELECOMMUNICATION_SERVICES", - "INDUSTRIAL_SUPPLIES", - "MEDIA_ADVERTISING_SERVICES", - "UTILITIES", - "FURNITURE_AND_HOME_FURNISHINGS", - "PROFESSIONAL_SERVICES", - "MISC_AND_RETAIL_STORES", - "PERSONAL_SERVICES", - "WHOLESALE_CLUBS", - "MANAGEMENT", - "ARCHITECTURAL_SERVICES", - "GENERAL_CONTRACTORS", - "GROCERIES_AND_SUPERMARKETS", - "TRANSPORTATION", - "TRANSPORT", - "VETERINARY_SERVICES", - "REAL_ESTATE_AGENTS", - "FUNERAL_SERVICES", - "CHILD_CARE_SERVICES", - "MOTOR_VEHICLE_SUPPLIES", - "CHARITABLE_AND_SOCIAL_SERVICE_ORGANIZATIONS", - "STUDIOS_AND_REHEARSAL_ROOMS", - "CREATIVE_SPACES", - "ELEMENTARY_OR_SECONDARY_SCHOOLS" - ], - "example": "DIGITAL_GOODS" - }, - "createOnboardingLink": { - "type": "boolean", - "default": false, - "example": true - }, - "metadata": { - "type": "object", - "example": { - "product": "Embedded Components" - } - }, - "communicationEmail": { - "type": "string", - "format": "email", - "example": "john.doe@example.com" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "lastName": { - "type": "string" - }, - "createdAt": { - "format": "date-time", - "type": "string" - }, - "updatedAt": { - "format": "date-time", - "type": "string" - }, - "merchantId": { - "type": "string" - }, - "acceptPayments": { - "type": "boolean" - }, - "receivePayout": { - "type": "boolean" - }, - "onboardingLink": { - "type": "string" - } - }, - "required": [ - "email", - "name" - ] - }, - "UpdateDescriptor": { - "type": "object", - "properties": { - "descriptor": { - "type": "string" - }, - "phone": { - "type": "string" - } - } - }, - "ComponentsSettings": { - "type": "object", - "properties": {} - }, - "PublicConfigurationResponse": { - "type": "object", - "properties": { - "platformName": { - "type": "string", - "example": "X-Pay" - }, - "pages": { - "type": "object", - "example": { - "promoPageUrl": "https://www.google.co.il/", - "feesPageUrl": "https://www.google.co.il/", - "payPortalUrl": "https://www.google.co.il/" - } - }, - "components": { - "example": { - "payPortal": { - "payments": true, - "directDebit": false - } - }, - "allOf": [ - { - "$ref": "#/components/schemas/ComponentsSettings" - } - ] - }, - "analyticsTokens": { - "example": { - "mixpanel": "aa36048ef1dc5147f21ccbe9eaaaaaaa" - }, - "allOf": [ - { - "$ref": "#/components/schemas/ComponentsSettings" - } - ] - } - }, - "required": [ - "platformName", - "pages", - "components", - "analyticsTokens" - ] - }, - "MarketingConfigurationResponse": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "message": { - "type": "string" - }, - "specialWords": { - "items": { - "type": "array" - }, - "type": "array" - }, - "callToAction": { - "type": "string" - }, - "options": { - "items": { - "type": "array" - }, - "type": "array" - }, - "followUpText": { - "type": "string" - } - } - }, - "MarketingDataResponse": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "body1": { - "type": "string" - }, - "body2": { - "type": "string" - }, - "experimentId": { - "type": "string" - }, - "vendorId": { - "type": "string" - }, - "merchantId": { - "type": "string" - }, - "groupName": { - "type": "string" - }, - "message": { - "type": "string" - }, - "specialWords": { - "items": { - "type": "array" - }, - "type": "array" - }, - "callToAction": { - "type": "string" - }, - "options": { - "items": { - "type": "array" - }, - "type": "array" - }, - "followUpText": { - "type": "string" - }, - "templateUrl": { - "type": "string" - }, - "primaryCtaLabel": { - "type": "string" - }, - "secondaryCtaLabel": { - "type": "string" - }, - "hidePrimaryCta": { - "type": "boolean" - }, - "secondaryCtaUrl": { - "type": "string" - }, - "smallTemplateUrl": { - "type": "string" - } - } - }, - "UpdateCommunicationEmailRequestPayload": { - "type": "object", - "properties": { - "communicationEmail": { - "type": "string", - "format": "email", - "example": "john.doe@example.com" - } - } - }, - "UpdateCommunicationEmailResponse": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "communicationEmail": { - "type": "string", - "format": "email", - "example": "john.doe@example.com" - } - } - }, - "VendorFeeItemDto": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "merchant_id": { - "type": "string" - }, - "transaction_fee_collection_id": { - "type": "number" - }, - "fee_type_name": { - "type": "string" - }, - "campaign": { - "type": "string", - "description": "The campaign this rule belongs to" - }, - "rate": { - "type": "number" - }, - "capped_value": { - "type": "number" - }, - "transaction_type": { - "type": "string" - }, - "transaction_result": { - "type": "string" - }, - "region": { - "type": "string" - } - }, - "required": [ - "id", - "merchant_id", - "fee_type_name", - "rate", - "capped_value" - ] - }, - "VendorFeesResponseDto": { - "type": "object", - "properties": { - "items": { - "description": "Array of fee configuration rules", - "type": "array", - "items": { - "$ref": "#/components/schemas/VendorFeeItemDto" - } - } - }, - "required": [ - "items" - ] - }, - "CreateEwalletBody": { - "type": "object", - "properties": { - "currency": { - "type": "string", - "enum": [ - "USD", - "GBP", - "EUR" - ], - "example": "GBP", - "default": "GBP" - }, - "name": { - "type": "string" - } - }, - "required": [ - "currency", - "name" - ] - }, - "Ewallet": { - "type": "object", - "properties": { - "currency": { - "type": "string" - }, - "pendingBalance": { - "type": "number" - }, - "payableBalance": { - "type": "number" - }, - "reserveBalance": { - "type": "number" - }, - "id": { - "type": "string" - }, - "merchantName": { - "type": "string" - }, - "merchantId": { - "type": "string" - }, - "vendorId": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "id", - "merchantName", - "merchantId", - "vendorId", - "name" - ] - }, - "EwalletTransaction": { - "type": "object", - "properties": { - "currency": { - "type": "string", - "enum": [ - "USD", - "GBP", - "EUR" - ], - "example": "GBP", - "default": "GBP" - }, - "pendingBalance": { - "type": "number" - }, - "payableBalance": { - "type": "number" - }, - "reserveBalance": { - "type": "number" - }, - "id": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "vendorId": { - "type": "number" - }, - "fees": { - "type": "number" - }, - "transactionId": { - "type": "string" - }, - "merchantId": { - "type": "string" - }, - "transactionType": { - "type": "string", - "enum": [ - "Auth", - "Sale", - "Auth3D", - "Sale3D", - "Settle", - "Void", - "Refund", - "Auth3D_Challange", - "Init3D" - ], - "default": "Sale" - }, - "transactionResult": { - "type": "string" - }, - "reconciled": { - "type": "string", - "enum": [ - "true", - "false", - "irrelevant", - "unknown" - ], - "default": "true" - }, - "eWalletId": { - "type": "string" - }, - "netAmount": { - "type": "number" - }, - "pendingAmount": { - "type": "number" - }, - "payableAmount": { - "type": "number" - }, - "reservedAmount": { - "type": "number" - }, - "payoutId": { - "type": "number" - }, - "originalAmount": { - "type": "number" - }, - "brand": { - "type": "string" - }, - "issuerCountry": { - "type": "string", - "default": "GB" - }, - "authorizationId": { - "type": "string" - } - }, - "required": [ - "id", - "transactionType", - "reconciled", - "issuerCountry" - ] - }, - "PayoutPaymentMethods": { - "type": "string", - "enum": [ - "bank_transfer", - "visa_direct", - "internal_transfer" - ] - }, - "PayoutStatus": { - "type": "string", - "enum": [ - "initialized", - "pending", - "sent", - "completed", - "failed", - "canceled", - "declined", - "unknown", - "in_review" - ] - }, - "Payout": { - "type": "object", - "properties": { - "eWalletId": { - "type": "string" - }, - "payoutOptionId": { - "type": "string" - }, - "payoutMethod": { - "default": "bank_transfer", - "$ref": "#/components/schemas/PayoutPaymentMethods" - }, - "currency": { - "type": "string", - "enum": [ - "USD", - "GBP", - "EUR" - ], - "default": "GBP" - }, - "id": { - "type": "number" - }, - "amount": { - "type": "number" - }, - "status": { - "default": "pending", - "$ref": "#/components/schemas/PayoutStatus" - }, - "merchantId": { - "type": "string" - }, - "vendorId": { - "type": "string" - } - }, - "required": [ - "eWalletId", - "payoutOptionId", - "payoutMethod", - "currency", - "id", - "amount", - "status", - "merchantId", - "vendorId" - ] - }, - "CreatePayoutBody": { - "type": "object", - "properties": { - "eWalletId": { - "type": "string" - }, - "payoutOptionId": { - "type": "string" - }, - "payoutMethod": { - "default": "bank_transfer", - "$ref": "#/components/schemas/PayoutPaymentMethods" - }, - "currency": { - "type": "string", - "enum": [ - "USD", - "GBP", - "EUR" - ], - "default": "GBP" - } - }, - "required": [ - "eWalletId", - "payoutOptionId", - "payoutMethod", - "currency" - ] - }, - "PayoutFrequency": { - "type": "string", - "enum": [ - "daily", - "weekly", - "biWeekly", - "monthly" - ] - }, - "PayoutConfiguration": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "frequency": { - "example": "daily", - "$ref": "#/components/schemas/PayoutFrequency" - }, - "id": { - "type": "number" - }, - "merchant_id": { - "type": "string" - } - }, - "required": [ - "enabled", - "frequency", - "id", - "merchant_id" - ] - }, - "CreatePayoutConfigurationBody": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "frequency": { - "example": "daily", - "$ref": "#/components/schemas/PayoutFrequency" - } - }, - "required": [ - "enabled", - "frequency" - ] - }, - "PaymentStatus": { - "type": "string", - "enum": [ - "Charged", - "Settled", - "PaidIntoBank" - ] - }, - "TransactionType": { - "type": "string", - "enum": [ - "Auth", - "Sale", - "Auth3D", - "Sale3D", - "Settle", - "Capture", - "Void", - "Refund", - "Auth3D_Challange", - "Init3D", - "Funding", - "Payout", - "Transfer", - "Chargeback", - "Cancel Chargeback", - "Correction", - "Partial Correction", - "Risk" - ] - }, - "PayoutOptionType": { - "type": "string", - "enum": [ - "card", - "alternative", - "bankAccount" - ] - }, - "CreateCardAccountBody": { - "type": "object", - "properties": {} - }, - "BankProvider": { - "type": "object", - "properties": { - "bankName": { - "type": "string", - "example": "Barclays" - }, - "bankId": { - "type": "string", - "example": "ob-barclays" - }, - "bankType": { - "example": [ - "corporate" - ], - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "bankName", - "bankId", - "bankType" - ] - }, - "BankAccount": { - "type": "object", - "properties": { - "provider": { - "$ref": "#/components/schemas/BankProvider" - } - } - }, - "ApmAccount": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - } - }, - "PayoutOption": { - "type": "object", - "properties": { - "payoutOptionType": { - "example": "card", - "$ref": "#/components/schemas/PayoutOptionType" - }, - "cardAccount": { - "$ref": "#/components/schemas/CreateCardAccountBody" - }, - "bankAccount": { - "$ref": "#/components/schemas/BankAccount" - }, - "apmAccount": { - "$ref": "#/components/schemas/ApmAccount" - } - }, - "required": [ - "payoutOptionType" - ] - }, - "PaymentOptionType": { - "type": "string", - "enum": [ - "Card", - "Alternative", - "Bank Account" - ] - }, - "IdentityType": { - "type": "string", - "enum": [ - "consumer", - "vendor", - "platform" - ] - }, - "CreatedPaymentOption": { - "type": "object", - "properties": { - "paymentOptionType": { - "example": "Card", - "$ref": "#/components/schemas/PaymentOptionType" - }, - "cardAccount": { - "$ref": "#/components/schemas/CreateCardAccountBody" - }, - "bankAccount": { - "$ref": "#/components/schemas/BankAccount" - }, - "apmAccount": { - "$ref": "#/components/schemas/ApmAccount" - }, - "identityType": { - "example": "vendor", - "$ref": "#/components/schemas/IdentityType" - }, - "identity": { - "type": "string" - }, - "paymentOptionId": { - "type": "string" - } - }, - "required": [ - "paymentOptionType", - "identityType", - "identity", - "paymentOptionId" - ] - }, - "SavedCardAccount": { - "type": "object", - "properties": { - "expirationYear": { - "type": "string", - "description": "Card expiration year (2-digit format)", - "example": "34" - }, - "expirationMonth": { - "type": "string", - "description": "Card expiration month (2-digit format)", - "example": "02" - }, - "brand": { - "type": "string", - "description": "Card brand", - "example": "VISA" - }, - "last4digits": { - "type": "string", - "description": "Last 4 digits of the card", - "example": "1390" - } - }, - "required": [ - "expirationYear", - "expirationMonth", - "brand", - "last4digits" - ] - }, - "SavedPaymentOptionResponse": { - "type": "object", - "properties": { - "paymentOptionId": { - "type": "string", - "description": "Unique identifier for the payment option" - }, - "cardAccount": { - "description": "Card account details", - "allOf": [ - { - "$ref": "#/components/schemas/SavedCardAccount" - } - ] - }, - "lastUsed": { - "type": "string", - "description": "Timestamp when the card was last used", - "example": "2025-09-15T11:10:44.043Z" - } - }, - "required": [ - "paymentOptionId", - "cardAccount", - "lastUsed" - ] - }, - "MixpanelData": { - "type": "object", - "properties": { - "distinct_id": { - "type": "string" - } - }, - "required": [ - "distinct_id" - ] - }, - "Metadata": { - "type": "object", - "properties": { - "mixpanel": { - "$ref": "#/components/schemas/MixpanelData" - } - }, - "required": [ - "mixpanel" - ] - }, - "CreatePaymentOptionPayload": { - "type": "object", - "properties": { - "paymentOptionType": { - "type": "string" - }, - "number": { - "type": "string" - }, - "expMonth": { - "type": "string" - }, - "expYear": { - "type": "string" - }, - "nameOnCard": { - "type": "string" - }, - "securityCode": { - "type": "string" - }, - "outboundChildPaymentRef": { - "type": "string" - }, - "childDateOfBirth": { - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/Metadata" - } - } - }, - "OnboardingLegacyStatus": { - "type": "string", - "enum": [ - "PENDING", - "STARTED", - "PAY_IN_SUCCESS", - "PAY_IN_IN_REVIEW", - "PAY_OUT_IN_REVIEW", - "PAY_OUT_SUCCESS", - "REJECTED" - ] - }, - "OnboardingStatus": { - "type": "string", - "enum": [ - "CREATED", - "PENDING", - "STARTED", - "ACTION_REQUIRED", - "RESTRICTED", - "IN_REVIEW", - "REJECTED", - "ACCEPT_PAYMENTS", - "COMPLETED", - "CLOSED", - "TERMINATED" - ] - }, - "OnboardingCompletedIndividual": { - "type": "object", - "properties": { - "status": { - "example": "PENDING", - "$ref": "#/components/schemas/OnboardingLegacyStatus" - }, - "onboardingStatus": { - "example": "RESTRICTED", - "$ref": "#/components/schemas/OnboardingStatus" - }, - "acceptPayments": { - "type": "boolean", - "example": true - }, - "receivePayout": { - "type": "boolean", - "example": true - }, - "fields": { - "example": [ - { - "alias": "individual.firstName", - "editable": true, - "status": "COMPLETED", - "value": "John", - "required": true - }, - { - "alias": "individual.lastName", - "editable": true, - "status": "COMPLETED", - "value": "Doe", - "required": true - }, - { - "alias": "individual.birthDate", - "editable": true, - "status": "COMPLETED", - "value": "1991-04-02", - "required": true - }, - { - "alias": "individual.email", - "status": "COMPLETED", - "value": "messi@example.com", - "editable": null, - "required": true - }, - { - "alias": "individual.phone", - "status": "COMPLETED", - "value": "+447911123456", - "editable": null, - "required": true - }, - { - "alias": "individual.address", - "editable": true, - "status": "COMPLETED", - "value": { - "country": "GB", - "city": "London", - "state": "England", - "houseNumber": "64", - "street": "New Cavendish Street", - "postCode": "SW1W 0NY" - }, - "required": true - }, - { - "alias": "business.url", - "editable": true, - "status": "COMPLETED", - "value": "example.com", - "required": true - }, - { - "alias": "business.category", - "editable": true, - "status": "COMPLETED", - "value": "DIGITAL_GOODS", - "required": true - }, - { - "alias": "business.serviceDescription", - "editable": true, - "status": "COMPLETED", - "value": "example.com", - "required": true - }, - { - "type": "HTML", - "code": "\n\n\n\n
\n
\n

Here are some requierments form our legal department that you need to confirm:

\n

I have fully read, understood and hereby accept the UNIPaaS Merchant Services Terms (“Terms”) for the use of its payments services and agree to be bound by it;

\n

I consent to the sharing of my documents and information with UNIPaaS, its affiliates and its third parties’ providers necessary for the payments services provided by UNIPaaS as stated in the Terms.

\n

I confirm that I will NOT sell any of the prohibited items, I understand that breaching this term will lead to immediate termination of my merchant account.

\n ", - "status": "PENDING", - "required": true - }, - { - "alias": "business.agreement", - "status": "COMPLETED", - "value": { - "accepted": true, - "ipAddress": "1.1.1.1", - "publicUrl": "https://unipaas-static-documents.s3.eu-west-1.amazonaws.com/vendors/{vendorId}/signature/{signatureId}/msa.pdf" - }, - "editable": null, - "required": true - }, - { - "alias": "business.accountHolderName", - "editable": true, - "status": "COMPLETED", - "value": "Doe", - "required": true - }, - { - "alias": "business.bankAccount", - "status": "COMPLETED", - "value": "38290008", - "editable": null, - "required": true - }, - { - "alias": "business.sortCode", - "status": "COMPLETED", - "value": "200415", - "editable": null, - "required": true - }, - { - "alias": "individual.passport", - "label": "Passport copy", - "type": "FILE_INPUT", - "required": false, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null - }, - { - "alias": "individual.drivingLicense", - "label": "Driving license", - "type": "FILE_INPUT", - "required": false, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null - }, - { - "alias": "business.bankStatement", - "label": "Upload a copy of your bank statement", - "type": "FILE_INPUT", - "required": false, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null - } - ], - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "status", - "onboardingStatus", - "acceptPayments", - "receivePayout", - "fields" - ] - }, - "OnboardingCompletedCompany": { - "type": "object", - "properties": { - "status": { - "example": "PAY_OUT_SUCCESS", - "$ref": "#/components/schemas/OnboardingStatus" - }, - "onboardingStatus": { - "example": "RESTRICTED", - "$ref": "#/components/schemas/OnboardingStatus" - }, - "acceptPayments": { - "type": "boolean", - "example": true - }, - "receivePayout": { - "type": "boolean", - "example": true - }, - "fields": { - "example": [ - { - "alias": "company.registrationNumber", - "type": "TEXT_FIELD", - "label": "Company registration number", - "editable": true, - "rules": [ - { - "pattern": "^\\d{8}$", - "message": "Registration Number must be exactly 8 digits" - } - ], - "maxLength": 8, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "company.name", - "status": "COMPLETED", - "value": "Bitter Sweet", - "editable": null, - "required": true - }, - { - "alias": "company.address", - "label": "Corporate address", - "editable": true, - "tooltip": "Please enter a full address, including house number or name", - "type": "ADDRESS_INPUT", - "comment": "Example: 15 George Eliot, London WC2N 5DU, UK", - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "company.email", - "status": "COMPLETED", - "value": "messi@example.com", - "editable": null, - "required": true - }, - { - "alias": "company.phone", - "type": "PHONE", - "label": "Phone Number", - "rules": [ - { - "pattern": "^\\+[0-9]{0,14}$", - "message": "Invalid Phone number" - } - ], - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "alias": "business.vat", - "type": "TEXT_FIELD", - "label": "VAT Number (optional)", - "editable": true, - "required": false, - "rules": [ - { - "pattern": "^\\d{9}$", - "message": "VAT Number must be exactly 9 digits" - } - ], - "maxLength": 8, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null - }, - { - "alias": "business.url", - "type": "TEXT_FIELD", - "label": "Commercial website URL", - "editable": true, - "tooltip": "This should be the website you use to sell your goods or services.\nIt can be your business profile page hosted by your platform’s website", - "comment": "Please ensure that you have added the website's URL that you are planning to use to sell goods and services.", - "rules": [ - { - "pattern": "^.+..+$", - "message": "Invalid Website URL" - } - ], - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "business.category", - "editable": true, - "status": "COMPLETED", - "value": "DIGITAL_GOODS", - "required": true - }, - { - "alias": "representative.firstName", - "editable": true, - "status": "COMPLETED", - "value": "Lionel", - "required": true - }, - { - "alias": "representative.lastName", - "editable": true, - "status": "COMPLETED", - "value": "Messi", - "required": true - }, - { - "alias": "representative.birthDate", - "type": "DATE_PICKER", - "label": "Date of Birth", - "min": "1902-02-17", - "max": "2004-02-17", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.address", - "type": "ADDRESS_INPUT", - "label": "Home address", - "comment": "Example: 15 George Eliot, London WC2N 5DU, UK", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.nationality", - "type": "SELECT", - "label": "Nationality", - "items": [ - "Afghan", - "Albanian", - "Algerian", - "Argentinian", - "Australian", - "Austrian", - "Bangladeshi", - "Belgian", - "Bolivian", - "Batswana", - "Brazilian", - "Bulgarian", - "Cambodian", - "Cameroonian", - "Canadian", - "Chilean", - "Chinese", - "Colombian", - "Costa Rican", - "Croatian", - "Cuban", - "Czech", - "Danish", - "Dominican", - "Ecuadorian", - "Egyptian", - "Salvadorian", - "English", - "Estonian", - "Ethiopian", - "Fijian", - "Finnish", - "French", - "German", - "Ghanaian", - "Greek", - "Guatemalan", - "Haitian", - "Honduran", - "Hungarian", - "Icelandic", - "Indian", - "Indonesian", - "Iranian", - "Iraqi", - "Irish", - "Israeli", - "Italian", - "Jamaican", - "Japanese", - "Jordanian", - "Kenyan", - "Kuwaiti", - "Lao", - "Latvian", - "Lebanese", - "Libyan", - "Lithuanian", - "Malagasy", - "Malaysian", - "Malian", - "Maltese", - "Mexican", - "Mongolian", - "Moroccan", - "Mozambican", - "Namibian", - "Nepalese", - "Dutch", - "New Zealand", - "Nicaraguan", - "Nigerian", - "Norwegian", - "Pakistani", - "Panamanian", - "Paraguayan", - "Peruvian", - "Philippine", - "Polish", - "Portuguese", - "Romanian", - "Russian", - "Saudi", - "Scottish", - "Senegalese", - "Serbian", - "Singaporean", - "Slovak", - "South African", - "Korean", - "Spanish", - "Sri Lankan", - "Sudanese", - "Swedish", - "Swiss", - "Syrian", - "Taiwanese", - "Tajikistani", - "Thai", - "Tongan", - "Tunisian", - "Turkish", - "Ukrainian", - "Emirati", - "British", - "American **", - "Uruguayan", - "Venezuelan", - "Vietnamese", - "Welsh", - "Zambian", - "Zimbabwean" - ], - "value": "English", - "editable": true, - "status": "PENDING", - "completedAt": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.role", - "type": "SELECT", - "label": "Role / Title", - "items": [ - "CEO", - "CFO", - "SMO", - "DIRECTOR", - "OTHER" - ], - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.ownershipPercentage", - "type": "TEXT_FIELD", - "label": "% ownership of the business entity", - "tooltip": "If you hold any ownership of the business entity,\nplease insert the percentage. Otherwise type 0", - "rules": [ - { - "pattern": "^[0-9][0-9]?$|^100$", - "message": "Field should be a number between 0-100" - } - ], - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.passport", - "label": "Passport copy", - "type": "FILE_INPUT", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.drivingLicense", - "label": "Driving license", - "type": "FILE_INPUT", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.isAuthorized", - "type": "CHECKBOX", - "label": "I am the duly authorized representative of Bitter Sweet business entity", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "type": "HTML", - "code": "\n\n\n\n\n\n\n\n
\n
\n\n

Here are some requierments form our legal department that you need to confirm:

\n\n

On behalf of the Business, \n
\nI represent and undertake that, I have fully read, understood and hereby accept the UNIPaaS Merchant Services Terms (“Terms”) for the use of its payments services and agree to be bound (and have the Business be bound) by it; \n

\n\n\n

The sharing of documents and information with UNIPaaS, its affiliates and its third parties’ providers necessary for the payments services provided as stated in the Terms.

\n

I confirm that the business will NOT sell any of the prohibited items.

\n\n\n\n\n\n", - "status": "PENDING", - "required": true - }, - { - "alias": "business.agreement", - "type": "AGREEMENT", - "label": "I agree", - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "alias": "business.accountHolderName", - "editable": true, - "type": "TEXT_FIELD", - "label": "Bank Account holder name", - "tooltip": "Enter the full name of the business entity that is associated with the bank account", - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "business.bankAccount", - "type": "TEXT_FIELD", - "label": "Account number", - "comment": "For example: 38290008", - "rules": [ - { - "pattern": "^[0-9]{8}$", - "message": "Bank Account Number must be exactly 8 digits" - } - ], - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "alias": "business.sortCode", - "type": "TEXT_FIELD", - "label": "Sort code", - "comment": "For example: 200415", - "rules": [ - { - "pattern": "^[0-9]{6}$", - "message": "Sort-code must be exactly 6 digits" - } - ], - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "type": "HTML", - "code": "The following information can be found on your bank statement, or on the account page of your online banking web page or on your mobile banking application.", - "status": "PENDING", - "required": true - }, - { - "label": "Stakeholders", - "alias": "company.ultimateBeneficialOwners", - "type": "STAKEHOLDERS", - "collapsed": true, - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "company.incorporationDocument", - "label": "Incorporation Document", - "type": "FILE_INPUT", - "viewButton": true, - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "business.bankStatement", - "type": "FILE_INPUT", - "editable": true, - "label": "Bank Statement or a Voided Cheque", - "comment": "Please upload a file dated within the past 3 months", - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - } - ], - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "status", - "onboardingStatus", - "acceptPayments", - "receivePayout", - "fields" - ] - }, - "PendingOnboardingIndividual": { - "type": "object", - "properties": { - "status": { - "example": "PENDING", - "$ref": "#/components/schemas/OnboardingStatus" - }, - "fields": { - "example": [ - { - "alias": "individual.firstName", - "editable": true, - "status": "PENDING", - "value": null, - "required": true - }, - { - "alias": "individual.lastName", - "editable": true, - "status": "PENDING", - "value": null, - "required": true - }, - { - "alias": "individual.birthDate", - "type": "DATE_PICKER", - "label": "Date of Birth", - "min": "1902-02-17", - "max": "2004-02-17", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "individual.email", - "status": "PENDING", - "value": null, - "editable": null, - "required": true - }, - { - "alias": "individual.phone", - "type": "PHONE", - "label": "Phone Number", - "rules": [ - { - "pattern": "^\\+[0-9]{0,14}$", - "message": "Invalid Phone number" - } - ], - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "alias": "individual.address", - "type": "ADDRESS_INPUT", - "label": "Address", - "editable": true, - "comment": "Example: 15 George Eliot, London WC2N 5DU, UK", - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "business.url", - "type": "TEXT_FIELD", - "label": "Profile URL", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "business.category", - "editable": true, - "status": "COMPLETED", - "value": "DIGITAL_GOODS", - "required": true - }, - { - "alias": "business.serviceDescription", - "type": "TEXTAREA", - "label": "Service Description", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "type": "HTML", - "code": "\n\n\n\n
\n
\n

Here are some requierments form our legal department that you need to confirm:

\n

I have fully read, understood and hereby accept the UNIPaaS Merchant Services Terms (“Terms”) for the use of its payments services and agree to be bound by it;

\n

I consent to the sharing of my documents and information with UNIPaaS, its affiliates and its third parties’ providers necessary for the payments services provided by UNIPaaS as stated in the Terms.

\n

I confirm that I will NOT sell any of the prohibited items, I understand that breaching this term will lead to immediate termination of my merchant account.

\n ", - "status": "PENDING", - "required": true - }, - { - "alias": "business.agreement", - "type": "AGREEMENT", - "label": "I agree", - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "alias": "business.accountHolderName", - "type": "TEXT_FIELD", - "label": "Bank Account holder name", - "editable": true, - "tooltip": "Enter the full name of the business entity that is associated with the bank account", - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "business.bankAccount", - "type": "TEXT_FIELD", - "label": "Your Bank Account Number", - "comment": "For example: 38290008", - "rules": [ - { - "pattern": "^[0-9]{8}$", - "message": "Bank Account Number must be exactly 8 digits" - } - ], - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "alias": "business.sortCode", - "type": "TEXT_FIELD", - "label": "Your Sort-code", - "comment": "For example: 200415", - "rules": [ - { - "pattern": "^[0-9]{6}$", - "message": "Sort-code must be exactly 6 digits" - } - ], - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "alias": "individual.passport", - "label": "Passport copy", - "type": "FILE_INPUT", - "required": false, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null - }, - { - "alias": "individual.drivingLicense", - "label": "Driving license", - "type": "FILE_INPUT", - "required": false, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null - }, - { - "alias": "business.bankStatement", - "label": "Upload a copy of your bank statement", - "type": "FILE_INPUT", - "required": false, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null - } - ], - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "status", - "fields" - ] - }, - "PendingOnboardingCompany": { - "type": "object", - "properties": { - "status": { - "example": "PENDING", - "$ref": "#/components/schemas/OnboardingStatus" - }, - "fields": { - "example": [ - { - "alias": "company.registrationNumber", - "type": "TEXT_FIELD", - "label": "Company registration number", - "editable": true, - "rules": [ - { - "pattern": "^\\d{8}$", - "message": "Registration Number must be exactly 8 digits" - } - ], - "maxLength": 8, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "company.name", - "status": "PENDING", - "value": null, - "editable": null, - "required": true - }, - { - "alias": "company.address", - "label": "Corporate address", - "editable": true, - "tooltip": "Please enter a full address, including house number or name", - "type": "ADDRESS_INPUT", - "comment": "Example: 15 George Eliot, London WC2N 5DU, UK", - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "company.email", - "status": "PENDING", - "value": null, - "editable": null, - "required": true - }, - { - "alias": "company.phone", - "type": "PHONE", - "label": "Phone Number", - "rules": [ - { - "pattern": "^\\+[0-9]{0,14}$", - "message": "Invalid Phone number" - } - ], - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "alias": "business.vat", - "type": "TEXT_FIELD", - "label": "VAT Number (optional)", - "editable": true, - "required": false, - "rules": [ - { - "pattern": "^\\d{9}$", - "message": "VAT Number must be exactly 9 digits" - } - ], - "maxLength": 8, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null - }, - { - "alias": "business.url", - "type": "TEXT_FIELD", - "label": "Commercial website URL", - "editable": true, - "tooltip": "This should be the website you use to sell your goods or services.\nIt can be your business profile page hosted by your platform’s website", - "comment": "Please ensure that you have added the website's URL that you are planning to use to sell goods and services.", - "rules": [ - { - "pattern": "^.+..+$", - "message": "Invalid Website URL" - } - ], - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "business.category", - "editable": true, - "status": "PENDING", - "value": null, - "required": true - }, - { - "alias": "representative.firstName", - "editable": true, - "status": "PENDING", - "value": null, - "required": true - }, - { - "alias": "representative.lastName", - "editable": true, - "status": "PENDING", - "value": null, - "required": true - }, - { - "alias": "representative.birthDate", - "type": "DATE_PICKER", - "label": "Date of Birth", - "min": "1902-02-17", - "max": "2004-02-17", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.address", - "type": "ADDRESS_INPUT", - "label": "Home address", - "comment": "Example: 15 George Eliot, London WC2N 5DU, UK", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.nationality", - "type": "SELECT", - "label": "Nationality", - "items": [ - "Afghan", - "Albanian", - "Algerian", - "Argentinian", - "Australian", - "Austrian", - "Bangladeshi", - "Belgian", - "Bolivian", - "Batswana", - "Brazilian", - "Bulgarian", - "Cambodian", - "Cameroonian", - "Canadian", - "Chilean", - "Chinese", - "Colombian", - "Costa Rican", - "Croatian", - "Cuban", - "Czech", - "Danish", - "Dominican", - "Ecuadorian", - "Egyptian", - "Salvadorian", - "English", - "Estonian", - "Ethiopian", - "Fijian", - "Finnish", - "French", - "German", - "Ghanaian", - "Greek", - "Guatemalan", - "Haitian", - "Honduran", - "Hungarian", - "Icelandic", - "Indian", - "Indonesian", - "Iranian", - "Iraqi", - "Irish", - "Israeli", - "Italian", - "Jamaican", - "Japanese", - "Jordanian", - "Kenyan", - "Kuwaiti", - "Lao", - "Latvian", - "Lebanese", - "Libyan", - "Lithuanian", - "Malagasy", - "Malaysian", - "Malian", - "Maltese", - "Mexican", - "Mongolian", - "Moroccan", - "Mozambican", - "Namibian", - "Nepalese", - "Dutch", - "New Zealand", - "Nicaraguan", - "Nigerian", - "Norwegian", - "Pakistani", - "Panamanian", - "Paraguayan", - "Peruvian", - "Philippine", - "Polish", - "Portuguese", - "Romanian", - "Russian", - "Saudi", - "Scottish", - "Senegalese", - "Serbian", - "Singaporean", - "Slovak", - "South African", - "Korean", - "Spanish", - "Sri Lankan", - "Sudanese", - "Swedish", - "Swiss", - "Syrian", - "Taiwanese", - "Tajikistani", - "Thai", - "Tongan", - "Tunisian", - "Turkish", - "Ukrainian", - "Emirati", - "British", - "American **", - "Uruguayan", - "Venezuelan", - "Vietnamese", - "Welsh", - "Zambian", - "Zimbabwean" - ], - "value": "English", - "editable": true, - "status": "PENDING", - "completedAt": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.role", - "type": "SELECT", - "label": "Role / Title", - "items": [ - "CEO", - "CFO", - "SMO", - "DIRECTOR", - "OTHER" - ], - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.ownershipPercentage", - "type": "TEXT_FIELD", - "label": "% ownership of the business entity", - "tooltip": "If you hold any ownership of the business entity,\nplease insert the percentage. Otherwise type 0", - "rules": [ - { - "pattern": "^[0-9][0-9]?$|^100$", - "message": "Field should be a number between 0-100" - } - ], - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.passport", - "label": "Passport copy", - "type": "FILE_INPUT", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.drivingLicense", - "label": "Driving license", - "type": "FILE_INPUT", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "representative.isAuthorized", - "type": "CHECKBOX", - "label": "I am the duly authorized representative of Bitter Sweet business entity", - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "type": "HTML", - "code": "\n\n\n\n\n\n\n\n
\n
\n\n

Here are some requierments form our legal department that you need to confirm:

\n\n

On behalf of the Business, \n
\nI represent and undertake that, I have fully read, understood and hereby accept the UNIPaaS Merchant Services Terms (“Terms”) for the use of its payments services and agree to be bound (and have the Business be bound) by it; \n

\n\n\n

The sharing of documents and information with UNIPaaS, its affiliates and its third parties’ providers necessary for the payments services provided as stated in the Terms.

\n

I confirm that the business will NOT sell any of the prohibited items.

\n\n\n\n\n\n", - "status": "PENDING", - "required": true - }, - { - "alias": "business.agreement", - "type": "AGREEMENT", - "label": "I agree", - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "alias": "business.accountHolderName", - "editable": true, - "type": "TEXT_FIELD", - "label": "Bank Account holder name", - "tooltip": "Enter the full name of the business entity that is associated with the bank account", - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "business.bankAccount", - "type": "TEXT_FIELD", - "label": "Account number", - "comment": "For example: 38290008", - "rules": [ - { - "pattern": "^[0-9]{8}$", - "message": "Bank Account Number must be exactly 8 digits" - } - ], - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "alias": "business.sortCode", - "type": "TEXT_FIELD", - "label": "Sort code", - "comment": "For example: 200415", - "rules": [ - { - "pattern": "^[0-9]{6}$", - "message": "Sort-code must be exactly 6 digits" - } - ], - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "editable": null, - "required": true - }, - { - "type": "HTML", - "code": "The following information can be found on your bank statement, or on the account page of your online banking web page or on your mobile banking application.", - "status": "PENDING", - "required": true - }, - { - "label": "Stakeholders", - "alias": "company.ultimateBeneficialOwners", - "type": "STAKEHOLDERS", - "collapsed": true, - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "company.incorporationDocument", - "label": "Incorporation Document", - "type": "FILE_INPUT", - "viewButton": true, - "editable": true, - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - }, - { - "alias": "business.bankStatement", - "type": "FILE_INPUT", - "editable": true, - "label": "Bank Statement or a Voided Cheque", - "comment": "Please upload a file dated within the past 3 months", - "status": "PENDING", - "completedAt": null, - "value": null, - "reason": null, - "errors": null, - "required": true - } - ], - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "status", - "fields" - ] - }, - "OnboardingApiPayload": { - "type": "object", - "properties": { - "fields": { - "example": [ - { - "alias": "individual.email", - "value": "john.doe@example.com" - }, - { - "alias": "individual.phone", - "value": "+447911123456" - }, - { - "alias": "individual.firstName", - "value": "John" - }, - { - "alias": "individual.lastName", - "value": "Doe" - }, - { - "alias": "individual.birthDate", - "value": "1991-04-02" - }, - { - "alias": "individual.address", - "value": { - "country": "GB", - "city": "London", - "state": "England", - "houseNumber": "64", - "street": "New Cavendish Street", - "postCode": "SW1W 0NY" - } - }, - { - "alias": "business.category", - "value": "DIGITAL_GOODS" - }, - { - "alias": "business.url", - "value": "example.com" - }, - { - "alias": "business.serviceDescription", - "value": "example.com" - }, - { - "alias": "business.accountHolderName", - "value": "Doe" - }, - { - "alias": "business.bankAccount", - "value": "38290008" - }, - { - "alias": "business.sortCode", - "value": "200415" - }, - { - "alias": "business.agreement", - "value": { - "accepted": true, - "ipAddress": "1.1.1.1" - } - } - ], - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "fields" - ] - }, - "RequireOnboardingPayload": { - "type": "object", - "properties": { - "fields": { - "example": [ - { - "alias": "individual.email", - "value": "john.doe@example.com" - }, - { - "alias": "individual.phone", - "value": "+447911123456" - }, - { - "alias": "individual.firstName", - "value": "John" - }, - { - "alias": "individual.lastName", - "value": "Doe" - }, - { - "alias": "individual.birthDate", - "value": "1991-04-02" - }, - { - "alias": "individual.address", - "value": { - "country": "GB", - "city": "London", - "state": "England", - "houseNumber": "64", - "street": "New Cavendish Street", - "postCode": "SW1W 0NY" - } - }, - { - "alias": "business.category", - "value": "DIGITAL_GOODS" - }, - { - "alias": "business.url", - "value": "example.com" - }, - { - "alias": "business.serviceDescription", - "value": "example.com" - }, - { - "alias": "business.accountHolderName", - "value": "Doe" - }, - { - "alias": "business.bankAccount", - "value": "38290008" - }, - { - "alias": "business.sortCode", - "value": "200415" - }, - { - "alias": "business.agreement", - "value": { - "accepted": true, - "ipAddress": "1.1.1.1" - } - } - ], - "type": "array", - "items": { - "type": "string" - } - }, - "createOnboardingLink": { - "type": "boolean", - "example": true - } - }, - "required": [ - "fields" - ] - }, - "OnboardingRequired": { - "type": "object", - "properties": { - "onboardingStatus": { - "example": "ACTION_REQUIRED", - "$ref": "#/components/schemas/OnboardingStatus" - }, - "acceptPayments": { - "type": "boolean", - "example": true - }, - "receivePayout": { - "type": "boolean", - "example": false - }, - "fields": { - "example": [ - { - "alias": "business.bankDetails", - "status": "PENDING", - "value": "John" - } - ], - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "onboardingStatus", - "acceptPayments", - "receivePayout", - "fields" - ] - }, - "CampaignVendorsPayload": { - "type": "object", - "properties": { - "vendorIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "campaign": { - "type": "string" - } - }, - "required": [ - "vendorIds", - "campaign" - ] - }, - "Currency": { - "type": "string", - "enum": [ - "GBP", - "USD", - "EUR", - "CAD" - ] - }, - "UOM": { - "type": "string", - "enum": [ - "day", - "week", - "month", - "quarter", - "year" - ] - }, - "RampInterval": { - "type": "object", - "properties": { - "unitAmount": { - "type": "number", - "example": 10 - }, - "cycles": { - "type": "number", - "example": 3 - } - }, - "required": [ - "unitAmount", - "cycles" - ] - }, - "PublicCreatePlanDto": { - "type": "object", - "properties": { - "vendorId": { - "type": "string" - }, - "name": { - "type": "string", - "maxLength": 100 - }, - "description": { - "type": "string" - }, - "price": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true, - "example": 100 - }, - "currency": { - "example": "GBP", - "$ref": "#/components/schemas/Currency" - }, - "period": { - "type": "number", - "minimum": 1, - "exclusiveMinimum": true, - "example": 12 - }, - "periodUOM": { - "example": "month", - "$ref": "#/components/schemas/UOM" - }, - "pricingModel": { - "type": "string", - "example": "ramp" - }, - "rampIntervals": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RampInterval" - } - }, - "autoRenewal": { - "type": "boolean", - "default": false - }, - "setupFee": { - "type": "number", - "default": 0, - "example": 50 - } - }, - "required": [ - "vendorId", - "name", - "description", - "price", - "currency", - "period", - "periodUOM", - "pricingModel", - "rampIntervals", - "setupFee" - ] - }, - "PayInPlan": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier/PK" - }, - "correlationId": { - "type": "string" - }, - "merchantId": { - "type": "string" - }, - "vendorId": { - "type": "string" - }, - "name": { - "type": "string", - "maxLength": 100 - }, - "description": { - "type": "string" - }, - "status": { - "type": "string", - "example": "active" - }, - "price": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true, - "example": 100 - }, - "currency": { - "example": "GBP", - "$ref": "#/components/schemas/Currency" - }, - "period": { - "type": "number", - "minimum": 1, - "exclusiveMinimum": true, - "example": 12 - }, - "periodUOM": { - "example": "month", - "$ref": "#/components/schemas/UOM" - }, - "pricingModel": { - "type": "string", - "example": "ramp" - }, - "rampIntervals": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RampInterval" - } - }, - "autoRenewal": { - "type": "boolean", - "default": false - }, - "createdBy": { - "type": "string" - }, - "updatedBy": { - "type": "string" - }, - "consent": { - "type": "string" - }, - "setupFee": { - "type": "number", - "default": 0, - "example": 50 - } - }, - "required": [ - "id", - "correlationId", - "merchantId", - "vendorId", - "name", - "description", - "status", - "price", - "currency", - "period", - "periodUOM", - "pricingModel", - "rampIntervals", - "createdBy", - "updatedBy", - "consent", - "setupFee" - ] - }, - "PublicUpdatePlanDto": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 100 - }, - "description": { - "type": "string" - }, - "status": { - "type": "string", - "example": "active" - } - } - }, - "PaymentOption": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "createdAt": { - "format": "date-time", - "type": "string" - }, - "createdBy": { - "type": "string" - }, - "updatedAt": { - "format": "date-time", - "type": "string" - }, - "updatedBy": { - "type": "string" - }, - "internalComment": { - "type": "string" - }, - "deletedAt": { - "format": "date-time", - "type": "string" - }, - "initialTransactionId": { - "type": "string" - }, - "paymentOptionId": { - "type": "string" - }, - "paymentOptionType": { - "type": "string" - } - }, - "required": [ - "id", - "createdAt", - "createdBy", - "updatedAt", - "updatedBy", - "internalComment", - "deletedAt", - "initialTransactionId", - "paymentOptionId", - "paymentOptionType" - ] - }, - "SubscriptionStatus": { - "type": "string", - "enum": [ - "pending", - "trial", - "enabled", - "onHold", - "cancelled", - "completed", - "pastDue" - ] - }, - "Subscription": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "createdAt": { - "format": "date-time", - "type": "string" - }, - "createdBy": { - "type": "string" - }, - "updatedAt": { - "format": "date-time", - "type": "string" - }, - "updatedBy": { - "type": "string" - }, - "internalComment": { - "type": "string" - }, - "deletedAt": { - "format": "date-time", - "type": "string" - }, - "planId": { - "type": "string" - }, - "identifier": { - "type": "string" - }, - "merchantId": { - "type": "string" - }, - "vendorId": { - "type": "string" - }, - "costumerId": { - "type": "string" - }, - "paymentOption": { - "$ref": "#/components/schemas/PaymentOption" - }, - "parent": { - "$ref": "#/components/schemas/Subscription" - }, - "price": { - "type": "number" - }, - "outstandingBalance": { - "type": "number" - }, - "currency": { - "type": "string" - }, - "period": { - "type": "number" - }, - "periodUOM": { - "example": "day", - "$ref": "#/components/schemas/UOM" - }, - "trialPeriod": { - "type": "number" - }, - "trialPeriodUOM": { - "example": "day", - "$ref": "#/components/schemas/UOM" - }, - "trialStart": { - "format": "date-time", - "type": "string" - }, - "trialEnd": { - "format": "date-time", - "type": "string" - }, - "status": { - "example": "enabled", - "$ref": "#/components/schemas/SubscriptionStatus" - }, - "taxable": { - "type": "boolean" - }, - "taxProfileId": { - "type": "string" - }, - "nextBillingOn": { - "format": "date-time", - "type": "string" - }, - "isInBillingRetry": { - "type": "boolean" - }, - "nextBillingRetryOn": { - "format": "date-time", - "type": "string" - }, - "billingRetryCount": { - "type": "number" - }, - "autoRenewal": { - "type": "boolean" - }, - "startedOn": { - "format": "date-time", - "type": "string" - }, - "endsOn": { - "format": "date-time", - "type": "string" - }, - "pausedAt": { - "format": "date-time", - "type": "string" - }, - "pauseExtension": { - "type": "number" - }, - "pauseExtensionUOM": { - "example": "day", - "$ref": "#/components/schemas/UOM" - } - }, - "required": [ - "id", - "createdAt", - "createdBy", - "updatedAt", - "updatedBy", - "internalComment", - "deletedAt", - "planId", - "identifier", - "merchantId", - "vendorId", - "costumerId", - "paymentOption", - "parent", - "price", - "outstandingBalance", - "currency", - "period", - "periodUOM", - "trialPeriod", - "trialPeriodUOM", - "trialStart", - "trialEnd", - "status", - "taxable", - "taxProfileId", - "nextBillingOn", - "isInBillingRetry", - "nextBillingRetryOn", - "billingRetryCount", - "autoRenewal", - "startedOn", - "endsOn", - "pausedAt", - "pauseExtension", - "pauseExtensionUOM" - ] - }, - "InternalUpdateSubscriptionDto": { - "type": "object", - "properties": { - "status": { - "type": "string" - }, - "paymentOptionId": { - "type": "string" - } - }, - "required": [ - "status", - "paymentOptionId" - ] - }, - "CheckoutConsumer": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 256, - "deprecated": true - }, - "lastName": { - "type": "string", - "maxLength": 256, - "deprecated": true - }, - "name": { - "type": "string", - "maxLength": 256 - }, - "reference": { - "type": "string", - "example": "CUS-EXP-REF-1", - "description": "Platform Identifier" - }, - "email": { - "type": "string" - }, - "country": { - "type": "string", - "format": "ISO 3166-1 alpha-2", - "example": "GB" - } - } - }, - "Item": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 256 - }, - "amount": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true, - "example": 100 - }, - "vendorId": { - "type": "string" - }, - "platformFee": { - "type": "number", - "description": "percentage fee", - "minimum": 0, - "maxLength": 100, - "example": 10 - }, - "description": { - "type": "string" - }, - "quantity": { - "type": "number" - }, - "fundingAmount": { - "type": "number" - } - }, - "required": [ - "name", - "amount" - ] - }, - "Address": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 256 - }, - "lastName": { - "type": "string", - "maxLength": 256 - }, - "city": { - "type": "string", - "example": "London", - "description": "City, district, suburb, town, or village." - }, - "country": { - "type": "string", - "format": "ISO 3166-1 alpha-2", - "example": "GB", - "description": "Two-letter country code (ISO 3166-1 alpha-2)." - }, - "line1": { - "type": "string", - "example": "64 New Cavendish Street", - "description": "Street, PO Box, or company name." - }, - "line2": { - "type": "string", - "description": "Apartment, suite, unit, or building." - }, - "postalCode": { - "type": "string", - "example": "W1G 8TB", - "description": "ZIP or postal code." - }, - "state": { - "type": "string", - "description": "State, county, province, or region." - } - }, - "required": [ - "city", - "country", - "line1", - "postalCode" - ] - }, - "CreateCheckoutBody": { - "type": "object", - "properties": { - "amount": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true, - "example": 100, - "multipleOf": 0.01 - }, - "currency": { - "type": "string", - "enum": [ - "GBP", - "USD", - "EUR", - "CAD" - ], - "example": "GBP", - "default": "GBP" - }, - "country": { - "type": "string", - "format": "ISO 3166-1 alpha-2", - "example": "GB" - }, - "vendorId": { - "type": "string" - }, - "consumerId": { - "type": "string" - }, - "firstName": { - "type": "string", - "deprecated": true - }, - "lastName": { - "type": "string", - "deprecated": true - }, - "consumer": { - "$ref": "#/components/schemas/CheckoutConsumer" - }, - "email": { - "type": "string", - "format": "email" - }, - "phone": { - "type": "string", - "format": "phone", - "description": "Phone number must contain 9–13 digits and may begin with a '+' for international format." - }, - "orderId": { - "type": "string", - "maxLength": 256 - }, - "reference": { - "type": "string", - "maxLength": 256 - }, - "metadata": { - "type": "object", - "example": { - "product": "Embedded Components" - } - }, - "description": { - "type": "string", - "maxLength": 256 - }, - "successfulPaymentRedirect": { - "type": "string", - "maxLength": 256, - "format": "uri", - "example": "https://platform.com/redirect" - }, - "embeddedRedirect": { - "type": "string", - "maxLength": 256, - "format": "uri", - "example": "https://platform.com/checkout" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Item" - } - }, - "invoiceUrl": { - "type": "string", - "example": "http://yourcompany.com/invoice.pdf" - }, - "dueDate": { - "format": "date-time", - "type": "string", - "example": "2024-01-18T00:00:00.000Z" - }, - "vatAmount": { - "type": "number" - }, - "plans": { - "type": "array", - "items": { - "type": "string" - } - }, - "billingAddress": { - "$ref": "#/components/schemas/Address" - }, - "shippingSameAsBilling": { - "type": "boolean" - }, - "shippingAddress": { - "$ref": "#/components/schemas/Address" - }, - "transactionType": { - "type": "string", - "enum": [ - "Auth", - "Sale", - "Auth3D", - "Sale3D", - "Settle", - "Capture", - "Void", - "Refund", - "Auth3D_Challange", - "Init3D" - ] - }, - "paymentMethods": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "creditCard", - "apm", - "bankTransfer", - "directDebit", - "taxFreeChildcare" - ] - } - }, - "vposLinkId": { - "type": "string", - "maxLength": 256 - }, - "isMoto": { - "type": "boolean", - "example": false, - "default": false - }, - "storePaymentMethod": { - "type": "boolean" - } - }, - "required": [ - "amount", - "currency", - "country", - "email" - ] - }, - "CheckoutStatuses": { - "type": "string", - "enum": [ - "open", - "pending", - "unpaid", - "expired", - "paid", - "declined" - ] - }, - "Shopper": { - "type": "object", - "properties": { - "email": { - "type": "string", - "format": "email" - } - }, - "required": [ - "email" - ] - }, - "CreatedCheckout": { - "type": "object", - "properties": { - "amount": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true, - "example": 100, - "multipleOf": 0.01 - }, - "currency": { - "type": "string", - "enum": [ - "GBP", - "USD", - "EUR", - "CAD" - ], - "example": "GBP", - "default": "GBP" - }, - "country": { - "type": "string", - "format": "ISO 3166-1 alpha-2", - "example": "GB" - }, - "vendorId": { - "type": "string" - }, - "consumerId": { - "type": "string" - }, - "firstName": { - "type": "string", - "deprecated": true - }, - "lastName": { - "type": "string", - "deprecated": true - }, - "consumer": { - "$ref": "#/components/schemas/CheckoutConsumer" - }, - "phone": { - "type": "string", - "format": "phone", - "description": "Phone number must contain 9–13 digits and may begin with a '+' for international format." - }, - "orderId": { - "type": "string", - "maxLength": 256 - }, - "reference": { - "type": "string", - "maxLength": 256 - }, - "metadata": { - "type": "object", - "example": { - "product": "Embedded Components" - } - }, - "description": { - "type": "string", - "maxLength": 256 - }, - "successfulPaymentRedirect": { - "type": "string", - "maxLength": 256, - "format": "uri", - "example": "https://platform.com/redirect" - }, - "embeddedRedirect": { - "type": "string", - "maxLength": 256, - "format": "uri", - "example": "https://platform.com/checkout" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Item" - } - }, - "invoiceUrl": { - "type": "string", - "example": "http://yourcompany.com/invoice.pdf" - }, - "dueDate": { - "format": "date-time", - "type": "string", - "example": "2024-01-18T00:00:00.000Z" - }, - "vatAmount": { - "type": "number" - }, - "plans": { - "type": "array", - "items": { - "type": "string" - } - }, - "billingAddress": { - "$ref": "#/components/schemas/Address" - }, - "shippingSameAsBilling": { - "type": "boolean" - }, - "shippingAddress": { - "$ref": "#/components/schemas/Address" - }, - "transactionType": { - "type": "string", - "enum": [ - "Auth", - "Sale", - "Auth3D", - "Sale3D", - "Settle", - "Capture", - "Void", - "Refund", - "Auth3D_Challange", - "Init3D" - ] - }, - "paymentMethods": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "creditCard", - "apm", - "bankTransfer", - "directDebit", - "taxFreeChildcare" - ] - } - }, - "vposLinkId": { - "type": "string", - "maxLength": 256 - }, - "isMoto": { - "type": "boolean", - "example": false, - "default": false - }, - "storePaymentMethod": { - "type": "boolean" - }, - "_id": { - "type": "string" - }, - "status": { - "default": "open", - "$ref": "#/components/schemas/CheckoutStatuses" - }, - "sessionToken": { - "type": "string" - }, - "shopper": { - "$ref": "#/components/schemas/Shopper" - }, - "shortLink": { - "type": "string" - }, - "createdAt": { - "format": "date-time", - "type": "string" - }, - "updatedAt": { - "format": "date-time", - "type": "string" - } - }, - "required": [ - "amount", - "currency", - "country", - "_id", - "status", - "sessionToken", - "shopper", - "shortLink", - "createdAt", - "updatedAt" - ] - }, - "Vendor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "example": "John Doe" - }, - "email": { - "type": "string", - "example": "john.doe@example.com", - "format": "email" - } - } - }, - "CheckoutMode": { - "type": "string", - "enum": [ - "offline", - "online" - ] - }, - "CheckoutPaymentLink": { - "type": "object", - "properties": { - "shopper": { - "$ref": "#/components/schemas/Shopper" - }, - "vendor": { - "$ref": "#/components/schemas/Vendor" - }, - "status": { - "default": "open", - "$ref": "#/components/schemas/CheckoutStatuses" - }, - "mode": { - "default": "online", - "$ref": "#/components/schemas/CheckoutMode" - }, - "paymentMethods": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "creditCard", - "apm", - "bankTransfer", - "directDebit", - "taxFreeChildcare" - ] - } - }, - "_id": { - "type": "string" - }, - "country": { - "type": "string", - "format": "ISO 3166-1 alpha-2", - "example": "GB" - }, - "amount": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true, - "example": 100, - "multipleOf": 0.01 - }, - "currency": { - "type": "string", - "enum": [ - "GBP", - "USD", - "EUR", - "CAD" - ], - "example": "GBP", - "default": "GBP" - }, - "type": { - "type": "string", - "example": "singleTimeType" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Item" - } - }, - "reference": { - "type": "string", - "maxLength": 256 - }, - "invoiceUrl": { - "type": "string", - "example": "http://yourcompany.com/invoice.pdf" - }, - "description": { - "type": "string", - "maxLength": 256 - }, - "sellerId": { - "type": "string" - }, - "shortLink": { - "type": "string" - }, - "signedLinkId": { - "type": "string" - }, - "merchantId": { - "type": "string" - }, - "createdAt": { - "format": "date-time", - "type": "string" - }, - "updatedAt": { - "format": "date-time", - "type": "string" - }, - "expiresAt": { - "format": "date-time", - "type": "string" - } - }, - "required": [ - "shortLink", - "signedLinkId" - ] - }, - "Bank": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "logo_url": { - "type": "string" - }, - "name": { - "type": "string" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "country": { - "type": "string" - } - }, - "required": [ - "id", - "logo_url", - "name", - "labels", - "country" - ] - }, - "BankList": { - "type": "object", - "properties": { - "result": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Bank" - } - } - }, - "required": [ - "result" - ] - }, - "GetBanksResponse": { - "type": "object", - "properties": { - "status": { - "type": "number" - }, - "data": { - "$ref": "#/components/schemas/BankList" - } - }, - "required": [ - "status", - "data" - ] - }, - "CreateTokenBody": { - "type": "object", - "properties": { - "country": { - "type": "string", - "format": "ISO 3166-1 alpha-2", - "example": "GB" - }, - "currency": { - "type": "string", - "enum": [ - "GBP", - "USD", - "EUR", - "CAD" - ], - "example": "GBP", - "default": "GBP" - }, - "email": { - "type": "string", - "format": "email" - } - }, - "required": [ - "country", - "email" - ] - }, - "CreatedToken": { - "type": "object", - "properties": { - "sessionToken": { - "type": "string" - } - }, - "required": [ - "sessionToken" - ] - }, - "CreatePaymentOptionBody": { - "type": "object", - "properties": { - "paymentOptionType": { - "example": "Card", - "$ref": "#/components/schemas/PaymentOptionType" - }, - "cardAccount": { - "$ref": "#/components/schemas/CreateCardAccountBody" - }, - "bankAccount": { - "$ref": "#/components/schemas/BankAccount" - }, - "apmAccount": { - "$ref": "#/components/schemas/ApmAccount" - } - }, - "required": [ - "paymentOptionType" - ] - }, - "PayInConsumer": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 256, - "deprecated": true - }, - "lastName": { - "type": "string", - "maxLength": 256, - "deprecated": true - }, - "name": { - "type": "string", - "maxLength": 256 - }, - "reference": { - "type": "string", - "example": "CUS-EXP-REF-1", - "description": "Platform Identifier" - }, - "email": { - "type": "string" - }, - "country": { - "type": "string", - "format": "ISO 3166-1 alpha-2", - "example": "GB" - }, - "ipAddress": { - "type": "string" - }, - "billingAddress": { - "$ref": "#/components/schemas/Address" - }, - "shippingSameAsBilling": { - "type": "boolean" - }, - "shippingAddress": { - "$ref": "#/components/schemas/Address" - } - }, - "required": [ - "email", - "country" - ] - }, - "Recurring": { - "type": "object", - "properties": { - "isRecurring": { - "type": "boolean" - }, - "initialAuthorizationId": { - "type": "string" - } - }, - "required": [ - "isRecurring" - ] - }, - "CreatePayInBody": { - "type": "object", - "properties": { - "amount": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true, - "example": 100, - "multipleOf": 0.01 - }, - "currency": { - "type": "string", - "enum": [ - "GBP", - "USD", - "EUR", - "CAD" - ], - "example": "GBP", - "default": "GBP" - }, - "orderId": { - "type": "string", - "maxLength": 256 - }, - "paymentOption": { - "$ref": "#/components/schemas/CreatePaymentOptionBody" - }, - "paymentOptionId": { - "type": "string" - }, - "deviceDetails": { - "type": "object" - }, - "consumerId": { - "type": "string" - }, - "consumer": { - "$ref": "#/components/schemas/PayInConsumer" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Item" - } - }, - "redirectUrl": { - "type": "string", - "description": "Required when PaymentOption type is Bank Account" - }, - "recurring": { - "$ref": "#/components/schemas/Recurring" - }, - "description": { - "type": "string", - "maxLength": 256 - }, - "vendorId": { - "type": "string" - }, - "urn": { - "type": "string", - "description": "Childcare provider URN for TFC payments" - } - }, - "required": [ - "amount", - "currency", - "consumer" - ] - }, - "AuthorizationStatus": { - "type": "string", - "enum": [ - "Authorized", - "Captured", - "Voided", - "Refunded" - ] - }, - "TransactionStatus": { - "type": "string", - "enum": [ - "Approved", - "Declined", - "Error", - "Pending" - ] - }, - "NextAction": { - "type": "object", - "properties": { - "redirectBankUrl": { - "type": "string", - "example": "https://someBank.com/payment/start" - } - }, - "required": [ - "redirectBankUrl" - ] - }, - "Authorization": { - "type": "object", - "properties": { - "authorizationId": { - "type": "string" - }, - "authorizationStatus": { - "example": "Captured", - "$ref": "#/components/schemas/AuthorizationStatus" - }, - "currency": { - "example": "GBP", - "$ref": "#/components/schemas/Currency" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Item" - } - }, - "orderId": { - "type": "string" - }, - "reference": { - "type": "string" - }, - "paymentOption": { - "$ref": "#/components/schemas/CreatedPaymentOption" - }, - "status": { - "example": "Approved", - "$ref": "#/components/schemas/TransactionStatus" - }, - "amount": { - "type": "number", - "example": 100 - }, - "transactionId": { - "type": "string" - }, - "nextAction": { - "$ref": "#/components/schemas/NextAction" - }, - "description": { - "type": "string", - "maxLength": 256 - } - }, - "required": [ - "authorizationId", - "authorizationStatus", - "currency", - "status", - "amount", - "transactionId" - ] - }, - "AuthorizationCaptureBody": { - "type": "object", - "properties": { - "amount": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true, - "example": 100, - "multipleOf": 0.01 - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Item" - } - } - }, - "required": [ - "amount" - ] - }, - "AuthorizationOperationBody": { - "type": "object", - "properties": { - "amount": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true, - "example": 100, - "multipleOf": 0.01 - } - }, - "required": [ - "amount" - ] - }, - "AvailablePaymentMethods": { - "type": "object", - "properties": {} - }, - "Validity": { - "type": "string", - "enum": [ - "valid", - "invalid" - ] - }, - "Webhook": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "merchantId": { - "type": "string" - }, - "sellerId": { - "type": "string" - }, - "webhookName": { - "type": "string", - "example": "ewallet/create" - }, - "validity": { - "example": "valid", - "$ref": "#/components/schemas/Validity" - }, - "email": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "id", - "merchantId", - "sellerId", - "webhookName", - "validity", - "email", - "url" - ] - }, - "CreateWebhookBody": { - "type": "object", - "properties": { - "webhookName": { - "type": "string", - "enum": [ - "authorization/update", - "ewallet/create", - "payout/update", - "onboarding/update", - "plan/create", - "plan/update", - "subscription/create", - "subscription/update", - "subscription/chargeSuccess", - "subscription/chargeFailure", - "ewalletTransaction/create", - "notification/create" - ], - "example": "authorization/update" - }, - "email": { - "type": "string", - "format": "email" - }, - "url": { - "type": "string" - }, - "sellerId": { - "type": "string" - } - }, - "required": [ - "webhookName", - "email", - "url" - ] - }, - "UpdateWebhookBody": { - "type": "object", - "properties": { - "sellerId": { - "type": "string" - }, - "email": { - "type": "string" - }, - "url": { - "type": "string" - }, - "validity": { - "example": "valid", - "$ref": "#/components/schemas/Validity" - } - }, - "required": [ - "sellerId", - "email", - "url", - "validity" - ] - }, - "LinkStatus": { - "type": "string", - "enum": [ - "created", - "opened", - "disabled" - ] - }, - "Link": { - "type": "object", - "properties": { - "uniqueId": { - "type": "string" - }, - "status": { - "example": "created", - "$ref": "#/components/schemas/LinkStatus" - }, - "vendorId": { - "type": "string", - "example": "5fba355e857efefdb5ae3cd1" - }, - "views": { - "example": [ - "onboarding" - ], - "type": "array", - "items": { - "type": "string" - } - }, - "refreshUrl": { - "type": "string" - }, - "returnUrl": { - "type": "string" - }, - "createdAt": { - "format": "date-time", - "type": "string", - "example": "2021-06-16T15:34:19.536Z" - }, - "updatedAt": { - "format": "date-time", - "type": "string", - "example": "2021-06-16T15:36:19.536Z" - }, - "expiresAt": { - "format": "date-time", - "type": "string", - "example": "2021-06-17T15:34:19.536Z" - } - }, - "required": [ - "uniqueId", - "status", - "vendorId", - "views", - "createdAt" - ] - }, - "SendLinkPayload": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "email": { - "type": "string" - }, - "phone": { - "type": "string" - }, - "platformName": { - "type": "string" - } - }, - "required": [ - "type" - ] - }, - "PublicCreateLinkDto": { - "type": "object", - "properties": { - "views": { - "example": [ - "onboarding" - ], - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "views" - ] - }, - "Transfer": { - "type": "object", - "properties": { - "eWalletId": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "currency": { - "type": "string", - "enum": [ - "USD", - "GBP", - "EUR" - ], - "example": "GBP", - "default": "GBP" - }, - "creditedVendorId": { - "type": "string" - }, - "id": { - "type": "number" - }, - "status": { - "type": "string", - "enum": [ - "initialized", - "pending", - "collected", - "sent", - "completed", - "failed", - "canceled" - ], - "example": "collected", - "default": "collected" - }, - "merchantId": { - "type": "string" - }, - "vendorId": { - "type": "string" - } - }, - "required": [ - "eWalletId", - "amount", - "currency", - "creditedVendorId", - "status", - "merchantId", - "vendorId" - ] - }, - "CreateTransferBody": { - "type": "object", - "properties": { - "eWalletId": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "currency": { - "type": "string", - "enum": [ - "USD", - "GBP", - "EUR" - ], - "example": "GBP", - "default": "GBP" - }, - "creditedVendorId": { - "type": "string" - } - }, - "required": [ - "eWalletId", - "amount", - "currency", - "creditedVendorId" - ] - }, - "ListNotification": { - "type": "object", - "properties": { - "items": { - "example": [ - { - "id": "624c567dfcb8145744c7a881", - "vendorId": "6384b75fc661567cd8b337b5", - "merchantId": "6384b75fc66156798567898a", - "group": "onboarding", - "subject": "You have reached 50% of your limit for accepting payments.", - "body": "You have reached 50% (750GBP) of your limit for accepting payments.\\nProvide additional details about your business in order to payout funds and lift any account limitations.", - "message": "You have reached 50% of your limit for accepting payments, please complete the onboarding process", - "actions": [ - { - "text": "Call to action", - "payload": { - "action": "onboarding", - "method": "link" - } - } - ], - "status": "read", - "importance": "low", - "createdAt": "2022-12-04T14:41:46.410Z", - "updatedAt": "2022-12-04T14:41:46.410Z" - } - ], - "type": "array", - "items": { - "type": "array" - } - }, - "total": { - "type": "number", - "example": 1 - } - }, - "required": [ - "items", - "total" - ] - }, - "UpdateReadNotifications": { - "type": "object", - "properties": { - "notificationIds": { - "example": [ - 52341, - 56123, - 123, - 5232 - ], - "type": "array", - "items": { - "type": "array" - } - } - }, - "required": [ - "notificationIds" - ] - }, - "NotificationSettings": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "624c567dfcb8145744c7a881" - }, - "vendorId": { - "type": "string", - "example": "6384b75fc661567cd8b337b5" - }, - "merchantId": { - "type": "string", - "example": "6384b75fc66156798567898a" - }, - "settings": { - "type": "object", - "example": { - "numberShowNotification": 5, - "textOpenFullView": "See all Notifications", - "popupBubbleNotification": true, - "popupBubbleNotificationTime": 30, - "refreshInterval": 3600, - "disable": { - "byGroup": [], - "byImportance": [], - "allNotifications": false - } - } - }, - "createdAt": { - "format": "date-time", - "type": "string" - }, - "updatedAt": { - "format": "date-time", - "type": "string" - } - }, - "required": [ - "id", - "vendorId", - "merchantId", - "settings", - "createdAt", - "updatedAt" - ] - }, - "UpdateVendorNotificationSettings": { - "type": "object", - "properties": { - "disable": { - "type": "object", - "example": { - "disable": { - "byGroup": [], - "byImportance": [], - "allNotifications": false - } - } - }, - "numberShowNotification": { - "type": "number" - }, - "popupBubbleNotification": { - "type": "boolean" - }, - "popupBubbleNotificationTime": { - "type": "number" - }, - "refreshInterval": { - "type": "number" - }, - "textOpenFullView": { - "type": "string" - } - }, - "required": [ - "disable", - "numberShowNotification", - "popupBubbleNotification", - "popupBubbleNotificationTime", - "refreshInterval", - "textOpenFullView" - ] - }, - "NotificationTemplateResponse": { - "type": "object", - "properties": { - "subject": { - "type": "string" - }, - "body": { - "type": "string" - } - }, - "required": [ - "subject", - "body" - ] - }, - "LineItem": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "unitPrice": { - "type": "number" - }, - "quantity": { - "type": "number" - } - }, - "required": [ - "description", - "unitPrice", - "quantity" - ] - }, - "InvoiceConsumer": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "61f77c108762f836412a00b7", - "description": "UNIPaaS Identifier" - }, - "reference": { - "type": "string", - "example": "CUS-EXMP-REF-1", - "description": "Platform Identifier" - }, - "firstName": { - "type": "string", - "deprecated": true - }, - "lastName": { - "type": "string", - "deprecated": true - }, - "name": { - "type": "string", - "example": "John Doe" - }, - "phone": { - "type": "string", - "example": "+447975777666" - }, - "email": { - "type": "string", - "example": "john.doe@email.com" - }, - "country": { - "type": "string", - "format": "ISO 3166-1 alpha-2", - "example": "GB" - } - }, - "required": [ - "reference" - ] - }, - "paymentStatus": { - "type": "string", - "enum": [ - "unpaid", - "paid", - "partially_paid", - "refunded", - "partially_refunded" - ] - }, - "Invoice": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "6391fd42a38e34b15b118d9b" - }, - "vendorId": { - "type": "string", - "example": "6384b75fc661567cd8b337b5" - }, - "merchantId": { - "type": "string", - "example": "6384b75fc66156798567898a" - }, - "currency": { - "type": "string", - "enum": [ - "GBP", - "USD", - "EUR", - "CAD" - ], - "example": "GBP", - "default": "GBP" - }, - "totalAmount": { - "type": "number", - "example": 99.5 - }, - "totalPaid": { - "type": "number", - "example": 99.5 - }, - "vatAmount": { - "type": "number", - "example": 19.9 - }, - "reference": { - "type": "string", - "example": "INV-123456" - }, - "publicUrl": { - "type": "string", - "example": "http://yourcompany.com/invoice.pdf" - }, - "lineItems": { - "example": [ - { - "description": "line 1", - "unitPrice": 10.6, - "quantity": 3 - }, - { - "description": "line 2", - "unitPrice": 19.3, - "quantity": 1 - } - ], - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" - } - }, - "invoiceObject": { - "type": "object", - "description": "Raw Invoice Object", - "example": {} - }, - "isRecurring": { - "type": "boolean", - "example": false - }, - "subscriptionId": { - "type": "string" - }, - "consumer": { - "$ref": "#/components/schemas/InvoiceConsumer" - }, - "paymentStatus": { - "example": "unpaid", - "$ref": "#/components/schemas/paymentStatus" - }, - "dueDate": { - "format": "date-time", - "type": "string" - }, - "createdAt": { - "format": "date-time", - "type": "string" - }, - "updatedAt": { - "format": "date-time", - "type": "string" - }, - "external": { - "type": "boolean", - "example": false - } - }, - "required": [ - "id", - "vendorId", - "merchantId", - "currency", - "totalAmount", - "totalPaid", - "vatAmount", - "reference", - "publicUrl", - "lineItems", - "invoiceObject", - "isRecurring", - "consumer", - "paymentStatus", - "dueDate", - "createdAt", - "updatedAt", - "external" - ] - }, - "ListInvoice": { - "type": "object", - "properties": { - "items": { - "example": [ - { - "id": "6391fd42a38e34b15b118d9b", - "vendorId": "6384b75fc661567cd8b337b5", - "merchantId": "6384b75fc66156798567898a", - "currency": "GBP", - "totalAmount": 99.5, - "reference": "INV-123456", - "publicUrl": "http://yourcompany.com/invoice.pdf", - "invoiceObject": {}, - "lineItems": [ - { - "description": "line 1", - "unitPrice": 10.6, - "quantity": 3 - }, - { - "description": "line 2", - "unitPrice": 19.3, - "quantity": 1 - } - ], - "customer": { - "id": "1234", - "email": "test@gmail.com", - "phone": "+447975777666" - }, - "paymentStatus": "unpaid", - "isRecurring": true, - "subscriptionId": "12312312", - "dueDate": "2022-12-04T08:55:28.544Z", - "createdAt": "2022-12-04T08:55:28.544Z", - "updatedAt": "2022-12-04T08:55:28.544Z" - } - ], - "type": "array", - "items": { - "$ref": "#/components/schemas/Invoice" - } - }, - "total": { - "example": [ - { - "count": 1 - } - ], - "type": "array", - "items": { - "type": "array" - } - } - }, - "required": [ - "items", - "total" - ] - }, - "CreateVendorInvoice": { - "type": "object", - "properties": { - "currency": { - "type": "string", - "enum": [ - "GBP", - "USD", - "EUR", - "CAD" - ], - "example": "GBP", - "default": "GBP" - }, - "totalAmount": { - "type": "number", - "example": 99.5 - }, - "totalPaid": { - "type": "number", - "example": 99.5 - }, - "reference": { - "type": "string", - "example": "INV-1234" - }, - "vatAmount": { - "type": "number", - "example": 19.9 - }, - "publicUrl": { - "type": "string", - "example": "http://yourcompany.com/invoice.pdf" - }, - "dueDate": { - "format": "date-time", - "type": "string", - "example": "2024-01-22T10:00:00.000Z" - }, - "paymentStatus": { - "example": "unpaid", - "$ref": "#/components/schemas/paymentStatus" - }, - "lineItems": { - "example": [ - { - "description": "line 1", - "unitPrice": 10.6, - "quantity": 3 - }, - { - "description": "line 2", - "unitPrice": 19.3, - "quantity": 1 - } - ], - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" - } - }, - "invoiceObject": { - "type": "object", - "description": "Raw Invoice Object", - "example": {} - }, - "isRecurring": { - "type": "boolean", - "example": false - }, - "subscriptionId": { - "type": "string" - }, - "batchId": { - "type": "string", - "example": "a90ab923-a80a-4b40-b29c-e83d94faa36c" - }, - "consumer": { - "$ref": "#/components/schemas/InvoiceConsumer" - }, - "customer": { - "deprecated": true, - "allOf": [ - { - "$ref": "#/components/schemas/InvoiceConsumer" - } - ] - }, - "paymentMethods": { - "type": "array", - "example": [ - "directDebit" - ], - "items": { - "type": "string", - "enum": [ - "apm", - "bankTransfer", - "creditCard", - "card", - "directDebit", - "taxFreeChildcare" - ] - } - }, - "external": { - "type": "boolean", - "example": false, - "default": false, - "description": "Setting the value as 'false' indicates this invoice is due to be paid/was paid with UNIPaaS and a checkout link will be created. Setting the value as 'true' indicates the invoice was paid with other payment providers orwith a direct bank transfer checkout link will not be created" - }, - "metadata": { - "type": "object", - "example": { - "product": "Embedded Components" - } - }, - "vendor": { - "type": "object" - } - }, - "required": [ - "currency", - "totalAmount", - "reference", - "dueDate", - "paymentStatus", - "lineItems", - "invoiceObject", - "isRecurring" - ] - }, - "UpdateVendorInvoice": { - "type": "object", - "properties": { - "currency": { - "type": "string", - "enum": [ - "GBP", - "USD", - "EUR", - "CAD" - ], - "example": "GBP", - "default": "GBP" - }, - "totalAmount": { - "type": "number", - "example": 99.5 - }, - "totalPaid": { - "type": "number", - "example": 99.5 - }, - "vatAmount": { - "type": "number", - "example": 19.9 - }, - "publicUrl": { - "type": "string", - "example": "http://yourcompany.com/invoice.pdf" - }, - "dueDate": { - "format": "date-time", - "type": "string" - }, - "paymentStatus": { - "example": "unpaid", - "$ref": "#/components/schemas/paymentStatus" - }, - "lineItems": { - "example": [ - { - "description": "line 1", - "unitPrice": 10.6, - "quantity": 3 - }, - { - "description": "line 2", - "unitPrice": 19.3, - "quantity": 1 - } - ], - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" - } - }, - "invoiceObject": { - "type": "object", - "description": "Raw Invoice Object", - "example": {} - }, - "isRecurring": { - "type": "boolean", - "example": false - }, - "subscriptionId": { - "type": "string" - }, - "batchId": { - "type": "string", - "example": "a90ab923-a80a-4b40-b29c-e83d94faa36c" - }, - "paymentMethods": { - "type": "array", - "example": [ - "directDebit" - ], - "items": { - "type": "string", - "enum": [ - "apm", - "bankTransfer", - "creditCard", - "card", - "directDebit", - "taxFreeChildcare" - ] - } - } - }, - "required": [ - "currency" - ] - }, - "ConsumerCreatePayload": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "email": { - "type": "string" - }, - "referenceConsumer": { - "type": "object" - } - }, - "required": [ - "name", - "email", - "referenceConsumer" - ] - }, - "Consumer": { - "type": "object", - "properties": { - "_id": { - "type": "string" - }, - "phone": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "lastName": { - "type": "string" - }, - "email": { - "type": "string" - }, - "shippingAddress": { - "type": "object" - }, - "billingAddress": { - "type": "object" - } - }, - "required": [ - "_id", - "phone", - "firstName", - "lastName", - "email" - ] - }, - "IConsumerPayload": { - "type": "object", - "properties": { - "email": { - "type": "string" - } - } - }, - "IRequestMandateEmail": { - "type": "object", - "properties": {} - }, - "MandateCreatePayload": { - "type": "object", - "properties": { - "consumer": { - "example": { - "name": "John Doe", - "email": "jdoe@mail.com", - "reference": "123456789" - }, - "allOf": [ - { - "$ref": "#/components/schemas/IConsumerPayload" - } - ] - }, - "createMandateLink": { - "type": "boolean", - "example": true - }, - "sendEmail": { - "type": "boolean", - "example": true - }, - "requestMandateEmailObject": { - "example": { - "subject": "Mandate email subject", - "body": "Mandate email body" - }, - "allOf": [ - { - "$ref": "#/components/schemas/IRequestMandateEmail" - } - ] - } - }, - "required": [ - "consumer", - "createMandateLink", - "sendEmail", - "requestMandateEmailObject" - ] - }, - "MandateSendPayload": { - "type": "object", - "properties": { - "subject": { - "type": "string" - }, - "body": { - "type": "string" - }, - "linkId": { - "type": "string" - }, - "consumer": { - "$ref": "#/components/schemas/IConsumerPayload" - } - }, - "required": [ - "subject", - "body", - "linkId" - ] - }, - "ISendMandateResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "64f876bb802585052e69810a" - }, - "paymentOptionId": { - "type": "string", - "example": "64f876bbd7f19c056cc2d186" - }, - "vendor": { - "type": "object", - "example": { - "id": "64f85536667e220571ee26de", - "name": "UNIPaaS", - "email": "john.doe@example.com" - } - }, - "merchant": { - "type": "object", - "example": { - "id": "64c91a1aab1ece1a36922d0a", - "name": "platform name" - } - }, - "status": { - "type": "string", - "example": "sent" - }, - "consumer": { - "type": "object", - "example": { - "id": "64f876ba899e32f19970f9e0", - "name": "consumer", - "reference": "12345699", - "email": "consumer@gmail.com" - } - }, - "mandateCreationFormLink": { - "type": "string", - "example": "OcOnYXMcFb4fo158XGZlV" - }, - "createdAt": { - "type": "string", - "example": "2023-09-06T12:55:23.754Z" - }, - "updatedAt": { - "type": "string", - "example": "2023-09-07T08:14:54.696Z" - }, - "link": { - "type": "object", - "example": { - "url": "https://hosted.unipaas.com/consumers/64f876ba899e32f19970f9e0/OcOnYXMcFb4fo158XGZlV/mandate" - } - } - }, - "required": [ - "id", - "paymentOptionId", - "vendor", - "merchant", - "status", - "consumer", - "mandateCreationFormLink", - "createdAt", - "updatedAt", - "link" - ] - }, - "IConsumer": { - "type": "object", - "properties": {} - }, - "IPaymentOption": { - "type": "object", - "properties": {} - }, - "ICommitMandatePayload": { - "type": "object", - "properties": { - "consumer": { - "example": { - "email": "john.doe@gmail.com", - "firstName": "John", - "lastName": "Doe", - "middleName": "A", - "companyName": "Company", - "address": { - "formattedAddress": "2-20 Western Rd, London NW10 7LW, UK", - "country": "GB", - "city": "London", - "state": "England", - "postCode": "NW10 7LW" - }, - "phone": "+44929929229" - }, - "allOf": [ - { - "$ref": "#/components/schemas/IConsumer" - } - ] - }, - "paymentOption": { - "example": { - "bankAccount": { - "name": "John Doe", - "bankCode": "200415", - "accountNumber": "38290008" - } - }, - "allOf": [ - { - "$ref": "#/components/schemas/IPaymentOption" - } - ] - }, - "deviceDetails": { - "type": "object", - "example": { - "acceptHeader": "text/html,application/xhtml+xml", - "javaEnabled": "N", - "deviceOS": "Windows", - "browser": "Google Chrome", - "javaScriptEnabled": "Y", - "language": "en-US", - "colorDepth": 30, - "screenHeight": 848, - "screenWidth": 1312, - "timeZone": -180, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", - "deviceType": "DESKTOP", - "ipAddress": "123.123.123.123" - } - }, - "mandateConsent": { - "type": "object", - "example": { - "accepted": true - } - } - }, - "required": [ - "consumer", - "paymentOption", - "deviceDetails" - ] - }, - "PaymentProviderDto": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "volumeWeight": { - "type": "number" - } - }, - "required": [ - "name" - ] - }, - "PaymentRoutingOutputDto": { - "type": "object", - "properties": { - "providers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PaymentProviderDto" - } - }, - "stickiness": { - "type": "boolean" - }, - "cascade": { - "type": "boolean" - } - }, - "required": [ - "providers" - ] - }, - "PaymentRoutingRuleDto": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "ruleSet": { - "type": "object" - }, - "output": { - "$ref": "#/components/schemas/PaymentRoutingOutputDto" - }, - "priority": { - "type": "number" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "createdAt": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - }, - "required": [ - "id", - "ruleSet", - "output", - "priority", - "title", - "description", - "isActive", - "createdAt", - "updatedAt" - ] - }, - "CreatePaymentRoutingRuleDto": { - "type": "object", - "properties": { - "ruleSet": { - "type": "object" - }, - "output": { - "$ref": "#/components/schemas/PaymentRoutingOutputDto" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "isActive": { - "type": "boolean" - } - }, - "required": [ - "ruleSet", - "output", - "title", - "description", - "isActive" - ] - }, - "UpdatePaymentRoutingRuleDto": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "ruleSet": { - "type": "object" - }, - "output": { - "$ref": "#/components/schemas/PaymentRoutingOutputDto" - }, - "priority": { - "type": "number" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "createdAt": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - } - } - } -} \ No newline at end of file diff --git a/spec/openapi.yaml b/spec/openapi.yaml deleted file mode 100644 index 4f5cb4b..0000000 --- a/spec/openapi.yaml +++ /dev/null @@ -1,8731 +0,0 @@ -openapi: 3.0.0 -paths: - /authorize: - post: - operationId: AuthController_authorize - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AuthorizeRequest' - examples: - onboarding-ui: - value: - scopes: - - onboarding_write - vendorId: string - ewallet-ui: - value: - scopes: - - ewallet_read - - payout_write - - link_read - - link_write - vendorId: string - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/AuthorizeResponse' - '400': - description: '' - '401': - description: '' - tags: - - Authentication - security: - - bearer: [] - /vendors: - post: - operationId: VendorController_createVendor - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/VendorPayload' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedVendor' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - get: - operationId: VendorController_getAllVendor - parameters: [] - responses: - '202': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/CreatedVendor' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}: - get: - operationId: VendorController_getVendorById - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '202': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedVendor' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/authorizations: - get: - operationId: VendorController_getAuthorizations - parameters: - - name: page - required: false - in: query - schema: - type: string - - name: limit - required: false - in: query - schema: - type: string - - name: sort - required: false - in: query - schema: - type: string - - name: daterange - required: false - in: query - schema: - type: array - items: - type: string - format: date-time - - name: status - required: false - in: query - schema: - type: array - items: - type: string - - name: mandateReference - required: false - in: query - schema: - type: string - - name: reference - required: false - in: query - schema: - type: string - - name: amount - required: false - in: query - schema: - type: string - - name: consumerName - required: false - in: query - schema: - type: string - - name: paymentMethod - required: false - in: query - schema: - enum: - - apm - - bankTransfer - - creditCard - - card - - directDebit - - taxFreeChildcare - type: string - - name: dueDaterange - required: false - in: query - schema: - type: array - items: - type: string - format: date-time - - name: consumerEmail - required: false - in: query - description: Search by buyer/customer email address (case-insensitive exact match) - example: jane.smith@example.com - schema: - type: string - - name: vendorEmail - required: false - in: query - description: Custom email address for CSV export delivery - schema: - type: string - - name: vendorId - required: true - in: path - schema: {} - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/settings/descriptor: - patch: - operationId: VendorController_updateDescriptor - parameters: - - name: vendorId - required: true - in: path - schema: {} - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateDescriptor' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateDescriptor' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/public-settings/fees: - get: - operationId: VendorController_getPlatformFeeConfiguration - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '202': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PublicConfigurationResponse' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/marketing-configuration/{templateName}: - get: - operationId: VendorController_getMarketingConfiguration - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: templateName - required: true - in: path - schema: - type: string - responses: - '202': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/MarketingConfigurationResponse' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/marketing-data: - get: - operationId: VendorController_getMarketingData - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - responses: - '202': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/MarketingDataResponse' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/communication-email: - patch: - operationId: VendorController_updateCommunicationEmail - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateCommunicationEmailRequestPayload' - responses: - '202': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateCommunicationEmailResponse' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/fees: - get: - operationId: VendorController_getVendorFees - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - responses: - '202': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/VendorFeesResponseDto' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/ewallets: - post: - operationId: VendorEwalletController_createEwallet - parameters: - - name: vendorId - required: true - in: path - schema: {} - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateEwalletBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Ewallet' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - get: - operationId: VendorEwalletController_getEwallet - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '202': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Ewallet' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/ewallets/transactions: - get: - operationId: VendorEwalletController_getEwalletTransactionsByVendorId - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '202': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/EwalletTransaction' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/ewallets/{ewalletId}/transactions: - get: - operationId: VendorEwalletController_getEwalletTransactions - parameters: - - name: ewalletId - required: true - in: path - schema: {} - - name: vendorId - required: true - in: path - schema: {} - responses: - '202': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/EwalletTransaction' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/payouts: - get: - operationId: VendorPayoutController_getPayouts - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Payout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - post: - operationId: VendorPayoutController_createPayout - parameters: - - name: vendorId - required: true - in: path - schema: {} - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePayoutBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Payout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/payouts-report: - get: - operationId: VendorPayoutController_getPayoutsReport - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - - bearer: [] - /vendors/{vendorId}/payouts/{payoutId}: - get: - operationId: VendorPayoutController_getPayoutDetails - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: payoutId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - - bearer: [] - /vendors/{vendorId}/payouts-configuration: - get: - operationId: VendorPayoutController_getVendorPayoutConfiguration - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PayoutConfiguration' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - delete: - operationId: VendorPayoutController_deleteVendorPayoutConfiguration - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PayoutConfiguration' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - post: - operationId: VendorPayoutController_setVendorPayoutConfiguration - parameters: - - name: vendorId - required: true - in: path - schema: {} - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePayoutConfigurationBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PayoutConfiguration' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/payouts/{payoutId}/commit: - post: - operationId: VendorPayoutController_commitPayout - parameters: - - name: vendorId - required: true - in: path - schema: {} - - name: payoutId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Payout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/payouts/{payoutId}/cancel: - post: - operationId: VendorPayoutController_cancelPayout - parameters: - - name: vendorId - required: true - in: path - schema: {} - - name: payoutId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Payout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/payouts/{payoutId}/drillthrough: - get: - operationId: VendorPayoutController_drillThroughPayout - parameters: - - name: vendorId - required: true - in: path - schema: {} - - name: payoutId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Payout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/payouts/{payoutId}/transactions: - get: - operationId: VendorPayoutController_getPayoutTransactionsById - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: payoutId - required: true - in: path - schema: - type: string - - name: page - required: false - in: query - schema: - type: string - - name: limit - required: false - in: query - schema: - type: string - - name: sort - required: false - in: query - schema: - type: string - - name: daterange - required: false - in: query - schema: - type: array - items: - type: string - format: date-time - - name: status - required: false - in: query - schema: - $ref: '#/components/schemas/PaymentStatus' - - name: vendorId - required: false - in: query - schema: - type: string - - name: paymentMethods - required: false - in: query - schema: - type: array - items: - type: string - - name: tokenizationMethods - required: false - in: query - schema: - type: array - items: - type: string - - name: transactionType - required: false - in: query - schema: - $ref: '#/components/schemas/TransactionType' - - name: consumerEmail - required: false - in: query - schema: - format: email - type: string - - name: invoiceReference - required: false - in: query - schema: - type: string - - name: payoutReference - required: false - in: query - schema: - type: string - - name: currency - required: false - in: query - schema: - type: string - - name: amount - required: false - in: query - schema: - type: string - - name: netAmount - required: false - in: query - schema: - type: string - - name: csv - required: false - in: query - schema: - type: string - - name: vendorEmail - required: false - in: query - description: Custom email address for CSV export delivery - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - - bearer: [] - /vendors/{vendorId}/payout-options: - get: - operationId: VendorPayoutOptionsController_getPayoutOptions - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PayoutOption' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/payment-options/available: - get: - operationId: VendorPaymentOptionsController_getAvailablePaymentOptions - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/payment-options: - get: - operationId: VendorPaymentOptionsController_getPaymentOptions - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/CreatedPaymentOption' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/consumers/{consumerId}/payment-options: - get: - operationId: VendorPaymentOptionsController_getConsumerPaymentOptions - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: consumerId - required: true - in: path - schema: - type: string - - name: limit - required: true - in: query - schema: - type: number - responses: - '201': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/SavedPaymentOptionResponse' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/consumers/{consumerId}/payment-options/{paymentOptionId}: - delete: - operationId: VendorPaymentOptionsController_deletePaymentOption - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: consumerId - required: true - in: path - schema: - type: string - - name: paymentOptionId - required: true - in: path - schema: - type: string - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /ewallets: - post: - operationId: EwalletController_createEwallet - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateEwalletBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Ewallet' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - eWallet - security: - - bearer: [] - get: - operationId: EwalletController_getEwallet - parameters: [] - responses: - '202': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Ewallet' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - eWallet - security: - - bearer: [] - /ewallets/{ewalletId}: - get: - operationId: EwalletController_getEwalletById - parameters: - - name: ewalletId - required: true - in: path - schema: {} - responses: - '202': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Ewallet' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - eWallet - security: - - bearer: [] - /ewallets/{ewalletId}/transactions: - get: - operationId: EwalletController_getEwalletTransactions - parameters: - - name: ewalletId - required: true - in: path - schema: {} - responses: - '202': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/EwalletTransaction' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - eWallet - security: - - bearer: [] - /payment-options: - get: - operationId: PaymentOptionsController_getPaymentOptions - parameters: [] - responses: - '201': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/CreatedPaymentOption' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payment Option - security: - - bearer: [] - post: - operationId: PaymentOptionsController_createPaymentOption - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePaymentOptionPayload' - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payment Option - security: - - bearer: [] - /payouts: - get: - operationId: PayoutController_getPayouts - parameters: - - name: currency - required: false - in: query - example: GBP - schema: {} - - name: status - required: false - in: query - schema: - type: array - items: - type: string - enum: - - initialized - - pending - - sent - - completed - - failed - - canceled - - declined - - unknown - - in_review - - name: order - required: false - in: query - example: DESC - schema: {} - - name: limit - required: false - in: query - example: 3 - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Payout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payout - security: - - bearer: [] - post: - operationId: PayoutController_createPayout - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePayoutBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Payout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payout - security: - - bearer: [] - /payouts/{payoutId}/commit: - post: - operationId: PayoutController_commitPayout - parameters: - - name: payoutId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Payout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payout - security: - - bearer: [] - /payouts/{payoutId}/cancel: - post: - operationId: PayoutController_cancelPayout - parameters: - - name: payoutId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Payout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payout - security: - - bearer: [] - /payouts/configuration: - get: - operationId: PayoutController_getPayoutConfiguration - parameters: [] - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PayoutConfiguration' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payout - security: - - bearer: [] - delete: - operationId: PayoutController_deletePayoutConfiguration - parameters: [] - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PayoutConfiguration' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payout - security: - - bearer: [] - post: - operationId: PayoutController_setPayoutConfiguration - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePayoutConfigurationBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PayoutConfiguration' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payout - security: - - bearer: [] - /payouts/{payoutId}: - get: - operationId: PayoutController_getPayoutById - parameters: - - name: payoutId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Payout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payout - security: - - bearer: [] - /payouts/{payoutId}/drillthrough: - get: - operationId: PayoutController_drillThroughPayout - parameters: - - name: payoutId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Payout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payout - security: - - bearer: [] - /vendors/{vendorId}/onboarding/file: - post: - operationId: OnboardingController_postAndSubmitFile - parameters: - - name: vendorId - required: true - in: path - schema: {} - requestBody: - required: true - content: - multipart/form-data: - schema: - type: object - properties: - file: - type: string - format: binary - alias: - type: string - example: individual.passport - responses: - '201': - description: '' - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/OnboardingCompletedIndividual' - - $ref: '#/components/schemas/OnboardingCompletedCompany' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Onboarding - security: - - bearer: [] - /vendors/{vendorId}/onboarding: - get: - operationId: OnboardingController_getOnboardingFlatForms - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '200': - description: '' - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/PendingOnboardingIndividual' - - $ref: '#/components/schemas/PendingOnboardingCompany' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Onboarding - security: - - bearer: [] - post: - operationId: OnboardingController_postOnboardingFlatForms - parameters: - - name: vendorId - required: true - in: path - schema: {} - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/OnboardingApiPayload' - examples: - individual: - value: - fields: - - alias: individual.email - value: john.doe@example.com - - alias: individual.phone - value: '+447911123456' - - alias: individual.firstName - value: John - - alias: individual.lastName - value: Doe - - alias: individual.birthDate - value: '1991-04-02' - - alias: individual.address - value: - country: GB - city: London - state: England - houseNumber: '64' - street: New Cavendish Street - postCode: SW1W 0NY - - alias: business.category - value: DIGITAL_GOODS - - alias: business.url - value: example.com - - alias: business.serviceDescription - value: example.com - - alias: business.accountHolderName - value: Doe - - alias: business.bankAccount - value: '38290008' - - alias: business.sortCode - value: '200415' - - alias: business.agreement - value: - accepted: true - ipAddress: 1.1.1.1 - company: - value: - fields: - - alias: company.email - value: john.doe@example.com - - alias: company.phone - value: '+447911123456' - - alias: representative.firstName - value: John - - alias: representative.lastName - value: Doe - - alias: company.name - value: Better Delivery - - alias: company.address - value: - country: GB - city: London - state: England - houseNumber: '64' - street: New Cavendish Street - postCode: SW1W 0NY - - alias: business.category - value: DIGITAL_GOODS - - alias: business.agreement - value: - accepted: true - ipAddress: 1.1.1.1 - responses: - '201': - description: '' - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/OnboardingCompletedIndividual' - - $ref: '#/components/schemas/OnboardingCompletedCompany' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Onboarding - security: - - bearer: [] - /vendors/{vendorId}/overview: - get: - operationId: OnboardingController_getOnboardingOverview - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '200': - description: '' - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/PendingOnboardingIndividual' - - $ref: '#/components/schemas/PendingOnboardingCompany' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Onboarding - security: - - bearer: [] - /vendors/{vendorId}/onboarding/require: - post: - operationId: OnboardingController_requireOnboardingAction - parameters: - - name: vendorId - required: true - in: path - schema: {} - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/RequireOnboardingPayload' - examples: - individual: - value: - createOnboardingLink: true - fields: - - alias: business.bankDetails - company: - value: - createOnboardingLink: true - fields: - - alias: business.accountNumber - - alias: business.sortCode - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/OnboardingRequired' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Onboarding - security: - - bearer: [] - /campaigns/vendors: - get: - operationId: CampaignController_getCampaignVendors - parameters: - - name: campaign - required: true - in: query - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Campaigns - security: - - bearer: [] - post: - operationId: CampaignController_addCampaignVendors - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CampaignVendorsPayload' - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Campaigns - security: - - bearer: [] - /campaigns/vendors/delete: - post: - operationId: CampaignController_removeCampaignVendors - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CampaignVendorsPayload' - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Campaigns - security: - - bearer: [] - /pay-ins/plans: - post: - operationId: PayInPlanController_createPayInPlan - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/PublicCreatePlanDto' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PayInPlan' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Recurring - security: - - bearer: [] - get: - operationId: PayInPlanController_getPayInPlans - parameters: [] - responses: - '200': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PayInPlan' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Recurring - security: - - bearer: [] - /pay-ins/plans/vendor/{vendorId}: - get: - operationId: PayInPlanController_getPayInPlansByVendor - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PayInPlan' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Recurring - security: - - bearer: [] - /pay-ins/plans/{planId}: - get: - operationId: PayInPlanController_getPayInPlan - parameters: - - name: planId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PayInPlan' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Recurring - security: - - bearer: [] - patch: - operationId: PayInPlanController_updatePayInPlan - parameters: - - name: planId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/PublicUpdatePlanDto' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PayInPlan' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Recurring - security: - - bearer: [] - delete: - operationId: PayInPlanController_deletePayInPlan - parameters: - - name: planId - required: true - in: path - schema: - type: string - responses: - '204': - description: No Content - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Recurring - security: - - bearer: [] - /pay-ins/plans/{planId}/subscriptions: - get: - operationId: PayInPlanController_getPayInPlanSubscriptions - parameters: - - name: planId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Subscription' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Recurring - security: - - bearer: [] - /pay-ins/plans/{planId}/subscriptions/{subscriptionId}: - get: - operationId: PayInPlanController_getPayInPlanSubscriptionById - parameters: - - name: planId - required: true - in: path - schema: - type: string - - name: subscriptionId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Subscription' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Recurring - security: - - bearer: [] - patch: - operationId: PayInPlanController_updatePayInPlanSubscriptionById - parameters: - - name: planId - required: true - in: path - schema: - type: string - - name: subscriptionId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/InternalUpdateSubscriptionDto' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PayInPlan' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Recurring - security: - - bearer: [] - /pay-ins/checkout: - post: - operationId: WebSdkPayInController_createCheckout - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateCheckoutBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedCheckout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - PayIn - security: - - bearer: [] - /pay-ins/checkout/{signedLinkId}: - patch: - operationId: WebSdkPayInController_updateCheckout - summary: Update checkout - parameters: - - name: signedLinkId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateCheckoutBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedCheckout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - PayIn - security: - - bearer: [] - get: - operationId: WebSdkPayInController_getCheckout - parameters: - - name: signedLinkId - required: true - in: path - schema: - type: string - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/CheckoutPaymentLink' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - PayIn - security: - - bearer: [] - /pay-ins/checkout/{signedLinkId}/expire: - post: - operationId: WebSdkPayInController_expireCheckout - summary: Expire checkout - parameters: - - name: signedLinkId - required: true - in: path - schema: - type: string - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedCheckout' - '401': - description: Unauthorized - '404': - description: Not Found - '405': - description: Method Not Allowed - tags: - - PayIn - security: - - bearer: [] - /pay-ins/banks: - get: - operationId: WebSdkPayInController_getBanks - parameters: - - name: currency - required: false - in: query - schema: - default: GBP - type: string - - name: country - required: false - in: query - schema: - default: GB - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/GetBanksResponse' - tags: - - PayIn - security: - - bearer: [] - /pay-ins/token: - post: - operationId: WebSdkPayInController_createToken - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTokenBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedToken' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - PayIn - security: - - bearer: [] - /pay-ins: - post: - operationId: WebSdkPayInController_createPayIn - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePayInBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Authorization' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - PayIn - security: - - bearer: [] - /pay-ins/{authorizationId}: - get: - operationId: WebSdkPayInController_getPayIn - parameters: - - name: authorizationId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Authorization' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - PayIn - security: - - bearer: [] - /pay-ins/{authorizationId}/capture: - post: - operationId: WebSdkPayInController_payInCapture - parameters: - - name: authorizationId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AuthorizationCaptureBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Authorization' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - PayIn - security: - - bearer: [] - /pay-ins/{authorizationId}/void: - post: - operationId: WebSdkPayInController_payInVoid - parameters: - - name: authorizationId - required: true - in: path - schema: - type: string - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Authorization' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - PayIn - security: - - bearer: [] - /pay-ins/{authorizationId}/refund: - post: - operationId: WebSdkPayInController_payInRefund - parameters: - - name: authorizationId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AuthorizationOperationBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Authorization' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - PayIn - security: - - bearer: [] - /pay-ins/{authorizationId}/activate: - post: - operationId: WebSdkPayInController_activateAuthorization - parameters: - - name: authorizationId - required: true - in: path - schema: - type: string - responses: - '201': - description: '' - tags: - - PayIn - security: - - bearer: [] - /pay-ins/{authorizationId}/reschedule: - post: - operationId: WebSdkPayInController_rescheduledCollection - parameters: - - name: authorizationId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateCheckoutBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedCheckout' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - PayIn - security: - - bearer: [] - /vendors/{vendorId}/payment-methods/available: - get: - operationId: VendorPaymentMethodController_getAvailablePaymentMethods - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/AvailablePaymentMethods' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /payout-options: - get: - operationId: PayoutOptionsController_getPayoutOptions - parameters: [] - responses: - '201': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PayoutOption' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Payout Option - security: - - bearer: [] - /webhooks: - get: - operationId: WebhookController_getWebhooks - parameters: [] - responses: - '200': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Webhook' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Webhook - security: - - bearer: [] - post: - operationId: WebhookController_createWebhook - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateWebhookBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Webhook' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Webhook - security: - - bearer: [] - /webhooks/{webhookId}: - get: - operationId: WebhookController_getWebhook - parameters: - - name: webhookId - required: true - in: path - schema: {} - responses: - '200': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Webhook' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Webhook - security: - - bearer: [] - patch: - operationId: WebhookController_updateWebhook - parameters: - - name: webhookId - required: true - in: path - schema: {} - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateWebhookBody' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Webhook' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Webhook - security: - - bearer: [] - delete: - operationId: WebhookController_deleteWebhook - parameters: - - name: webhookId - required: true - in: path - schema: {} - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Webhook' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Webhook - security: - - bearer: [] - /configuration/public-configurations: - get: - operationId: ConfigurationController_getPublicConfiguration - parameters: [] - responses: - '202': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PublicConfigurationResponse' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Configuration - security: - - bearer: [] - /vendors/{vendorId}/public-settings: - get: - operationId: VendorConfigurationController_getPublicConfiguration - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '202': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PublicConfigurationResponse' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /links/{linkId}: - get: - operationId: PublicLinkController_getLink - parameters: - - name: linkId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Link' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Link - /links/{linkId}/tokens: - get: - operationId: PublicLinkController_getTokens - parameters: - - name: linkId - required: true - in: path - schema: - type: string - - name: refreshToken - required: true - in: query - schema: - type: string - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Link - /links/{linkId}/tokens/login: - get: - operationId: PublicLinkController_getLoginToken - parameters: - - name: linkId - required: true - in: path - schema: - type: string - - name: merchantId - required: true - in: query - schema: - type: string - - name: vendorId - required: true - in: query - schema: - type: string - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Link - /links/{linkId}/send: - post: - operationId: PublicLinkController_sendLink - parameters: - - name: linkId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/SendLinkPayload' - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Link - security: - - bearer: [] - /vendors/{vendorId}/links: - get: - operationId: VendorLinkController_getLinks - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: status - required: true - in: query - schema: - type: array - items: - type: string - enum: - - created - - opened - - disabled - - name: limit - required: true - in: query - schema: - type: string - - name: view - required: true - in: query - schema: - type: array - items: - type: string - enum: - - onboarding - - payout - - vpos - - direct_debit - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Link' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - post: - operationId: VendorLinkController_createLink - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/PublicCreateLinkDto' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Link' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/links/{linkId}: - delete: - operationId: VendorLinkController_disableLink - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: linkId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Link' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /transfers: - get: - operationId: TransferController_getTransfers - parameters: [] - responses: - '201': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Transfer' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Transfer - security: - - bearer: [] - post: - operationId: TransferController_createTransfer - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTransferBody' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Transfer' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Transfer - security: - - bearer: [] - /transfers/{transferId}/commit: - post: - operationId: TransferController_commitTransfer - parameters: - - name: transferId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Transfer' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Transfer - security: - - bearer: [] - /transfers/{transferId}/cancel: - post: - operationId: TransferController_cancelTransfer - parameters: - - name: transferId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Transfer' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Transfer - security: - - bearer: [] - /transfers/{transferId}: - get: - operationId: TransferController_getTransferById - parameters: - - name: transferId - required: true - in: path - schema: {} - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Transfer' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Transfer - security: - - bearer: [] - /vendors/{vendorId}/settings/logo: - post: - operationId: VendorSettingsController_uploadVendorLogo - parameters: - - name: vendorId - required: true - in: path - schema: {} - requestBody: - required: true - content: - multipart/form-data: - schema: - type: object - required: - - logo - properties: - logo: - type: string - format: binary - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - '415': - description: Unsupported File Format - tags: - - Vendor - security: - - bearer: [] - get: - operationId: VendorSettingsController_getVendorLogo - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - delete: - operationId: VendorSettingsController_deleteVendorLogo - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '204': - description: No Content - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/open-banking/link: - post: - operationId: OpenBankingController_link - parameters: - - name: publicToken - required: true - in: query - schema: - type: string - - name: vendorId - required: true - in: path - schema: {} - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/open-banking/details: - get: - operationId: OpenBankingController_details - parameters: - - name: accessToken - required: true - in: query - schema: - type: string - - name: holderName - required: true - in: query - schema: - type: string - - name: accountNumber - required: true - in: query - schema: - type: string - - name: sortCode - required: true - in: query - schema: - type: string - - name: accountType - required: true - in: query - schema: - type: string - - name: vendorId - required: true - in: path - schema: {} - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/open-banking/exchange: - post: - operationId: OpenBankingController_exchange - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/embedded/payouts: - get: - operationId: PaymentController_getPayouts - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: page - required: false - in: query - schema: - type: string - - name: limit - required: false - in: query - schema: - type: string - - name: sort - required: false - in: query - schema: - type: string - - name: daterange - required: false - in: query - schema: - type: array - items: - type: string - format: date-time - - name: status - required: false - in: query - schema: - $ref: '#/components/schemas/PaymentStatus' - - name: vendorId - required: false - in: query - schema: - type: string - - name: paymentMethods - required: false - in: query - schema: - type: array - items: - type: string - - name: tokenizationMethods - required: false - in: query - schema: - type: array - items: - type: string - - name: transactionType - required: false - in: query - schema: - $ref: '#/components/schemas/TransactionType' - - name: consumerEmail - required: false - in: query - schema: - format: email - type: string - - name: invoiceReference - required: false - in: query - schema: - type: string - - name: payoutReference - required: false - in: query - schema: - type: string - - name: currency - required: false - in: query - schema: - type: string - - name: amount - required: false - in: query - schema: - type: string - - name: netAmount - required: false - in: query - schema: - type: string - - name: csv - required: false - in: query - schema: - type: string - - name: vendorEmail - required: false - in: query - description: Custom email address for CSV export delivery - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Payments - security: - - bearer: [] - /vendors/{vendorId}/payments: - get: - operationId: PaymentController_getPayments - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: page - required: false - in: query - schema: - type: string - - name: limit - required: false - in: query - schema: - type: string - - name: sort - required: false - in: query - schema: - type: string - - name: daterange - required: false - in: query - schema: - type: array - items: - type: string - format: date-time - - name: status - required: false - in: query - schema: - $ref: '#/components/schemas/PaymentStatus' - - name: vendorId - required: false - in: query - schema: - type: string - - name: paymentMethods - required: false - in: query - schema: - type: array - items: - type: string - - name: tokenizationMethods - required: false - in: query - schema: - type: array - items: - type: string - - name: transactionType - required: false - in: query - schema: - $ref: '#/components/schemas/TransactionType' - - name: consumerEmail - required: false - in: query - schema: - format: email - type: string - - name: invoiceReference - required: false - in: query - schema: - type: string - - name: payoutReference - required: false - in: query - schema: - type: string - - name: currency - required: false - in: query - schema: - type: string - - name: amount - required: false - in: query - schema: - type: string - - name: netAmount - required: false - in: query - schema: - type: string - - name: csv - required: false - in: query - schema: - type: string - - name: vendorEmail - required: false - in: query - description: Custom email address for CSV export delivery - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Payments - security: - - bearer: [] - /vendors/{vendorId}/payments/{reference}/receipt: - get: - operationId: PaymentController_getReceipt - summary: Get receipt by payment reference - description: Retrieve receipt for a specific payment reference - parameters: - - name: vendorId - required: true - in: path - description: Vendor ID - schema: - type: string - - name: reference - required: true - in: path - description: Payment reference ID (transactionId) - schema: - type: string - responses: - '200': - description: Receipt retrieved successfully - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Receipt not found - tags: - - Payments - security: - - bearer: [] - /vendors/{vendorId}/payments/{reference}/send-receipt: - post: - operationId: PaymentController_sendReceiptToEmail - summary: Send receipt to email - description: Send receipt for a specific payment to provided email address - parameters: - - name: vendorId - required: true - in: path - description: Vendor ID - schema: - type: string - - name: reference - required: true - in: path - description: Payment reference ID (transactionId) - schema: - type: string - responses: - '200': - description: Receipt sent successfully - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Receipt not found - tags: - - Payments - security: - - bearer: [] - /smsa/merchant/{merchantId}: - get: - operationId: SmsaController_getPlatformSmsaByDate - parameters: - - name: merchantId - required: true - in: path - schema: - type: string - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Smsa - security: - - bearer: [] - /vendors/{vendorId}/notifications: - get: - operationId: NotificationController_getVendorNotifications - parameters: - - name: page - required: false - in: query - schema: - type: string - - name: limit - required: false - in: query - schema: - type: string - - name: sort - required: false - in: query - schema: - type: string - - name: daterange - required: false - in: query - schema: - type: array - items: - type: string - format: date-time - - name: csv - required: false - in: query - schema: - type: string - - name: vendorId - required: true - in: path - schema: {} - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/ListNotification' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/notifications/read: - post: - operationId: NotificationController_updateVendorNotificationStatus - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateReadNotifications' - responses: - '204': - description: No Content - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/notifications/settings: - get: - operationId: NotificationController_getVendorNotificationSettings - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationSettings' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - post: - operationId: NotificationController_updateVendorNotificationSettings - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateVendorNotificationSettings' - responses: - '202': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationSettings' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/notifications/templates: - get: - operationId: NotificationController_getNotificationTemplate - parameters: - - name: vendorId - required: true - in: path - schema: {} - responses: - '202': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/NotificationTemplateResponse' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/invoices: - get: - operationId: InvoiceController_getListInvoices - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: page - required: false - in: query - schema: - type: string - - name: limit - required: false - in: query - schema: - type: string - - name: paymentStatus - required: false - in: query - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/ListInvoice' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - post: - operationId: InvoiceController_createInvoice - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateVendorInvoice' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Invoice' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/invoices/{invoicesId}: - get: - operationId: InvoiceController_getInvoice - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: invoicesId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Invoice' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - patch: - operationId: InvoiceController_updateInvoice - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: invoicesId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateVendorInvoice' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Invoice' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/reference/{vendorReference}/invoices: - post: - operationId: InvoiceController_createInvoiceByReference - parameters: - - name: vendorReference - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateVendorInvoice' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Invoice' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/reference/{vendorReference}/invoices/{invoicesId}: - patch: - operationId: InvoiceController_updateInvoiceByReference - parameters: - - name: vendorReference - required: true - in: path - schema: - type: string - - name: invoicesId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateVendorInvoice' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Invoice' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /consumers/{consumerId}/payment-options/{paymentOptionId}: - delete: - operationId: ConsumerController_deletePaymentOption - parameters: - - name: paymentOptionId - required: true - in: path - schema: - type: string - - name: consumerId - required: true - in: path - schema: - type: string - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Consumers - /consumers: - post: - operationId: ConsumerController_createConsumer - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ConsumerCreatePayload' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Consumer' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Consumers - security: - - bearer: [] - /vendors/{vendorId}/mandates: - post: - operationId: MandateController_createMandate - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/MandateCreatePayload' - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - get: - operationId: MandateController_getMandates - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: dates - required: false - in: query - schema: - type: array - items: - type: string - - name: consumerId - required: false - in: query - schema: - type: string - - name: consumerReference - required: false - in: query - schema: - type: string - - name: consumerEmail - required: false - in: query - schema: - type: string - - name: consumerName - required: false - in: query - schema: - type: string - - name: mandateReference - required: false - in: query - schema: - type: string - - name: status - required: false - in: query - schema: - type: string - - name: limit - required: false - in: query - schema: - type: string - - name: page - required: false - in: query - schema: - type: string - - name: sort - required: false - in: query - schema: - type: string - - name: csv - required: false - in: query - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/mandates/{mandateId}/send: - post: - operationId: MandateController_sendMandate - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: mandateId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/MandateSendPayload' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/ISendMandateResponse' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/consumers/{consumerId}/mandates/{mandateId}/commit: - post: - operationId: MandateController_commitMandate - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: consumerId - required: true - in: path - schema: - type: string - - name: mandateId - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ICommitMandatePayload' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/ICommitMandatePayload' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/mandates/{mandateId}/cancel: - post: - operationId: MandateController_cancelMandate - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: mandateId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/consumers/{consumerId}/mandates: - get: - operationId: MandateController_getMandateByConsumerId - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: consumerId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /vendors/{vendorId}/consumers/{consumerId}/mandates/pdf: - get: - operationId: MandateController_getMandatePdfByConsumerId - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: consumerId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - tags: - - Vendor - /vendors/{vendorId}/consumers/reference/{consumerReference}/mandates: - get: - operationId: MandateController_getMandateByConsumerReference - parameters: - - name: consumerReference - required: true - in: path - schema: - type: string - - name: vendorId - required: true - in: path - schema: {} - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Vendor - security: - - bearer: [] - /processors/{processorId}/webhooks: - get: - operationId: ProcessorController_getWebhooks - parameters: - - name: processorId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Processors - security: - - bearer: [] - post: - operationId: ProcessorController_postWebhooks - parameters: - - name: processorId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Processors - security: - - bearer: [] - /processors/{processorId}/webhooks/{eventType}: - post: - operationId: ProcessorController_postWebhooksByEventType - parameters: - - name: processorId - required: true - in: path - schema: - type: string - - name: eventType - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Processors - security: - - bearer: [] - /processors/{processorId}/webhooks/{externalProcessor}/{eventType}: - post: - operationId: ProcessorController_postWebhooksByExternalProcessorEventType - parameters: - - name: externalProcessor - required: true - in: path - schema: - type: string - - name: processorId - required: true - in: path - schema: - type: string - - name: eventType - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Processors - security: - - bearer: [] - /ai/payment-methods-recommendation/vendor/{vendorId}/customer/{customerReference}: - get: - operationId: AiController_getPaymentMethodsRecommendation - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: customerReference - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - AI - security: - - bearer: [] - /ai/email-template-recommendation/{vendorId}/invoices/{invoiceId}: - get: - operationId: AiController_generateEmailTemplateRecommendation - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: invoiceId - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - AI - security: - - bearer: [] - /vendors/{vendorId}/chargebacks: - get: - operationId: ChargebackController_getVendorChargebacks - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: page - required: false - in: query - schema: - type: string - - name: limit - required: false - in: query - schema: - type: string - - name: sort - required: false - in: query - schema: - type: string - - name: dateRange - required: false - in: query - schema: - type: array - items: - type: string - format: date-time - - name: invoiceReference - required: false - in: query - schema: - type: string - - name: amount - required: false - in: query - schema: - type: string - - name: csv - required: false - in: query - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - Chargebacks - security: - - bearer: [] - /qr-code/generate: - get: - operationId: QrCodeController_generate - parameters: - - name: url - required: true - in: query - schema: - type: string - responses: - '200': - description: '' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - QR Code - security: - - bearer: [] - /payment-routing-rules: - get: - operationId: PaymentRoutingRuleController_getPaymentRoutingRules - parameters: [] - responses: - '200': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PaymentRoutingRuleDto' - '401': - description: Unauthorized - tags: - - PaymentRoutingRule - security: - - bearer: [] - post: - operationId: PaymentRoutingRuleController_createPaymentRoutingRule - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePaymentRoutingRuleDto' - responses: - '201': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRoutingRuleDto' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - PaymentRoutingRule - security: - - bearer: [] - patch: - operationId: PaymentRoutingRuleController_updatePaymentRoutingRules - parameters: [] - requestBody: - required: true - content: - application/json: - schema: - type: array - items: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRoutingRuleDto' - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - PaymentRoutingRule - security: - - bearer: [] - /payment-routing-rules/available-providers: - get: - operationId: PaymentRoutingRuleController_getAvailableProviders - parameters: [] - responses: - '200': - description: Successful Response - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - PaymentRoutingRule - security: - - bearer: [] - /payment-routing-rules/{id}: - patch: - operationId: PaymentRoutingRuleController_updatePaymentRoutingRule - parameters: - - name: id - required: true - in: path - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatePaymentRoutingRuleDto' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRoutingRuleDto' - '400': - description: Bad Request - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - PaymentRoutingRule - security: - - bearer: [] - delete: - operationId: PaymentRoutingRuleController_deletePaymentRoutingRule - parameters: - - name: id - required: true - in: path - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRoutingRuleDto' - '401': - description: Unauthorized - '404': - description: Not Found - tags: - - PaymentRoutingRule - security: - - bearer: [] - /merchants/{merchantId}/feature-flags: - get: - operationId: MerchantFeatureFlagController_getMerchantFeatureFlag - parameters: - - name: merchantId - required: true - in: path - schema: - type: string - responses: - '200': - description: Feature flags retrieved successfully - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Merchant - security: - - bearer: [] - /terminal/vendor/{vendorId}: - get: - operationId: TerminalController_getVendorTerminals - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Terminal - security: - - bearer: [] - /terminal/{terminalId}/vendor/{vendorId}: - get: - operationId: TerminalController_getTerminalStatus - parameters: - - name: vendorId - required: true - in: path - schema: - type: string - - name: terminalId - required: true - in: path - schema: - type: string - responses: - '400': - description: Bad Request - '401': - description: Unauthorized - tags: - - Terminal - security: - - bearer: [] -info: - title: UNIPaaS Platform API - description: UNIPaaS API for Platforms was implemented in a RESTful state of mind, our API has straight-forward, resource-oriented endpoints and produces standard HTTP response codes to communicate back the result of operations. We comply with most common HTTP standard, such as HTTP verbs, authentication and resource nesting. - version: '1.12' - contact: {} -tags: [] -servers: - - url: https://sandbox.unipaas.com/platform - - url: https://api.unipaas.com/platform -components: - securitySchemes: - bearer: - scheme: bearer - bearerFormat: JWT - type: http - schemas: - OnboardingType: - type: string - enum: - - individual - - company - - non-profit - VendorReferencePayload: - type: object - properties: - name: - type: string - email: - type: string - format: email - example: john.doe@example.com - reference: - type: string - example: vendor-ref-123 - type: - example: individual - $ref: '#/components/schemas/OnboardingType' - category: - type: string - categoryDescription: - type: string - required: - - reference - AuthorizeRequest: - type: object - properties: - scopes: - type: array - items: - type: string - enum: - - master - - viewer - - developer - - onboarding_read - - onboarding_write - - ewallet_read - - ewallet_write - - websdk_access - - payout_write - - payout_read - - checkout_create - - link_read - - link_write - - public_config_read - - notification_read - - notification_write - - config_read - - login_access - - direct_debit_write - - direct_debit_read - - consumer_public_access - vendorId: - type: string - vendor: - $ref: '#/components/schemas/VendorReferencePayload' - required: - - scopes - AuthorizeResponse: - type: object - properties: - accessToken: - type: string - expiresIn: - type: string - vendorId: - type: string - scopes: - type: array - items: - type: string - enum: - - master - - viewer - - developer - - onboarding_read - - onboarding_write - - ewallet_read - - ewallet_write - - websdk_access - - payout_write - - payout_read - - checkout_create - - link_read - - link_write - - public_config_read - - notification_read - - notification_write - - config_read - - login_access - - direct_debit_write - - direct_debit_read - - consumer_public_access - required: - - accessToken - - expiresIn - - vendorId - - scopes - VendorPayload: - type: object - properties: - businessName: - type: string - example: UNIPaaS - firstName: - type: string - example: John - middleName: - type: string - example: Fitzgerald - lastName: - type: string - example: Doe - email: - type: string - format: email - example: john.doe@example.com - country: - type: string - format: ISO 3166-1 alpha-2 - example: GB - phone: - type: string - example: '+447911123456' - birthDate: - type: string - format: YYYY-MM-DD - example: '1980-01-01' - serviceDescription: - type: string - example: Service description - url: - type: string - example: https://platform.com - category: - type: string - enum: - - ONLINE_SERVICES - - DIGITAL_GOODS - - ONLINE_RETAIL - - AGRICULTURAL_CO_OP - - ARTIST_SUPPLY - - MEMBERSHIP_CLUB - - RECREATIONAL_FISHING - - HEALTH_AND_FITNESS - - SPORTS_CLUB - - CATERERS - - CONSTRUCTION_MATERIALS - - SCHOOLS_EDUCATION_SERVICES - - ENGINEERING_AND_SURVEYING_SERVICES - - HEALTH_AND_MEDICAL_SERVICES - - TELECOMMUNICATION_SERVICES - - INDUSTRIAL_SUPPLIES - - MEDIA_ADVERTISING_SERVICES - - UTILITIES - - FURNITURE_AND_HOME_FURNISHINGS - - PROFESSIONAL_SERVICES - - MISC_AND_RETAIL_STORES - - PERSONAL_SERVICES - - WHOLESALE_CLUBS - - MANAGEMENT - - ARCHITECTURAL_SERVICES - - GENERAL_CONTRACTORS - - GROCERIES_AND_SUPERMARKETS - - TRANSPORTATION - - TRANSPORT - - VETERINARY_SERVICES - - REAL_ESTATE_AGENTS - - FUNERAL_SERVICES - - CHILD_CARE_SERVICES - - MOTOR_VEHICLE_SUPPLIES - - CHARITABLE_AND_SOCIAL_SERVICE_ORGANIZATIONS - - STUDIOS_AND_REHEARSAL_ROOMS - - CREATIVE_SPACES - - ELEMENTARY_OR_SECONDARY_SCHOOLS - example: DIGITAL_GOODS - type: - example: individual - $ref: '#/components/schemas/OnboardingType' - createOnboardingLink: - type: boolean - default: false - example: true - metadata: - type: object - example: - product: Embedded Components - communicationEmail: - type: string - format: email - example: john.doe@example.com - required: - - firstName - - lastName - - email - - country - CreatedVendor: - type: object - properties: - businessName: - type: string - example: UNIPaaS - middleName: - type: string - example: Fitzgerald - email: - type: string - format: email - example: john.doe@example.com - phone: - type: string - example: '+447911123456' - birthDate: - type: string - format: YYYY-MM-DD - example: '1980-01-01' - serviceDescription: - type: string - example: Service description - url: - type: string - example: https://platform.com - category: - type: string - enum: - - ONLINE_SERVICES - - DIGITAL_GOODS - - ONLINE_RETAIL - - AGRICULTURAL_CO_OP - - ARTIST_SUPPLY - - MEMBERSHIP_CLUB - - RECREATIONAL_FISHING - - HEALTH_AND_FITNESS - - SPORTS_CLUB - - CATERERS - - CONSTRUCTION_MATERIALS - - SCHOOLS_EDUCATION_SERVICES - - ENGINEERING_AND_SURVEYING_SERVICES - - HEALTH_AND_MEDICAL_SERVICES - - TELECOMMUNICATION_SERVICES - - INDUSTRIAL_SUPPLIES - - MEDIA_ADVERTISING_SERVICES - - UTILITIES - - FURNITURE_AND_HOME_FURNISHINGS - - PROFESSIONAL_SERVICES - - MISC_AND_RETAIL_STORES - - PERSONAL_SERVICES - - WHOLESALE_CLUBS - - MANAGEMENT - - ARCHITECTURAL_SERVICES - - GENERAL_CONTRACTORS - - GROCERIES_AND_SUPERMARKETS - - TRANSPORTATION - - TRANSPORT - - VETERINARY_SERVICES - - REAL_ESTATE_AGENTS - - FUNERAL_SERVICES - - CHILD_CARE_SERVICES - - MOTOR_VEHICLE_SUPPLIES - - CHARITABLE_AND_SOCIAL_SERVICE_ORGANIZATIONS - - STUDIOS_AND_REHEARSAL_ROOMS - - CREATIVE_SPACES - - ELEMENTARY_OR_SECONDARY_SCHOOLS - example: DIGITAL_GOODS - createOnboardingLink: - type: boolean - default: false - example: true - metadata: - type: object - example: - product: Embedded Components - communicationEmail: - type: string - format: email - example: john.doe@example.com - id: - type: string - name: - type: string - firstName: - type: string - lastName: - type: string - createdAt: - format: date-time - type: string - updatedAt: - format: date-time - type: string - merchantId: - type: string - acceptPayments: - type: boolean - receivePayout: - type: boolean - onboardingLink: - type: string - required: - - email - - name - UpdateDescriptor: - type: object - properties: - descriptor: - type: string - phone: - type: string - ComponentsSettings: - type: object - properties: {} - PublicConfigurationResponse: - type: object - properties: - platformName: - type: string - example: X-Pay - pages: - type: object - example: - promoPageUrl: https://www.google.co.il/ - feesPageUrl: https://www.google.co.il/ - payPortalUrl: https://www.google.co.il/ - components: - example: - payPortal: - payments: true - directDebit: false - allOf: - - $ref: '#/components/schemas/ComponentsSettings' - analyticsTokens: - example: - mixpanel: aa36048ef1dc5147f21ccbe9eaaaaaaa - allOf: - - $ref: '#/components/schemas/ComponentsSettings' - required: - - platformName - - pages - - components - - analyticsTokens - MarketingConfigurationResponse: - type: object - properties: - title: - type: string - message: - type: string - specialWords: - items: - type: array - type: array - callToAction: - type: string - options: - items: - type: array - type: array - followUpText: - type: string - MarketingDataResponse: - type: object - properties: - title: - type: string - body1: - type: string - body2: - type: string - experimentId: - type: string - vendorId: - type: string - merchantId: - type: string - groupName: - type: string - message: - type: string - specialWords: - items: - type: array - type: array - callToAction: - type: string - options: - items: - type: array - type: array - followUpText: - type: string - templateUrl: - type: string - primaryCtaLabel: - type: string - secondaryCtaLabel: - type: string - hidePrimaryCta: - type: boolean - secondaryCtaUrl: - type: string - smallTemplateUrl: - type: string - UpdateCommunicationEmailRequestPayload: - type: object - properties: - communicationEmail: - type: string - format: email - example: john.doe@example.com - UpdateCommunicationEmailResponse: - type: object - properties: - id: - type: string - communicationEmail: - type: string - format: email - example: john.doe@example.com - VendorFeeItemDto: - type: object - properties: - id: - type: number - merchant_id: - type: string - transaction_fee_collection_id: - type: number - fee_type_name: - type: string - campaign: - type: string - description: The campaign this rule belongs to - rate: - type: number - capped_value: - type: number - transaction_type: - type: string - transaction_result: - type: string - region: - type: string - required: - - id - - merchant_id - - fee_type_name - - rate - - capped_value - VendorFeesResponseDto: - type: object - properties: - items: - description: Array of fee configuration rules - type: array - items: - $ref: '#/components/schemas/VendorFeeItemDto' - required: - - items - CreateEwalletBody: - type: object - properties: - currency: - type: string - enum: - - USD - - GBP - - EUR - example: GBP - default: GBP - name: - type: string - required: - - currency - - name - Ewallet: - type: object - properties: - currency: - type: string - pendingBalance: - type: number - payableBalance: - type: number - reserveBalance: - type: number - id: - type: string - merchantName: - type: string - merchantId: - type: string - vendorId: - type: string - name: - type: string - required: - - id - - merchantName - - merchantId - - vendorId - - name - EwalletTransaction: - type: object - properties: - currency: - type: string - enum: - - USD - - GBP - - EUR - example: GBP - default: GBP - pendingBalance: - type: number - payableBalance: - type: number - reserveBalance: - type: number - id: - type: string - amount: - type: number - vendorId: - type: number - fees: - type: number - transactionId: - type: string - merchantId: - type: string - transactionType: - type: string - enum: - - Auth - - Sale - - Auth3D - - Sale3D - - Settle - - Void - - Refund - - Auth3D_Challange - - Init3D - default: Sale - transactionResult: - type: string - reconciled: - type: string - enum: - - 'true' - - 'false' - - irrelevant - - unknown - default: 'true' - eWalletId: - type: string - netAmount: - type: number - pendingAmount: - type: number - payableAmount: - type: number - reservedAmount: - type: number - payoutId: - type: number - originalAmount: - type: number - brand: - type: string - issuerCountry: - type: string - default: GB - authorizationId: - type: string - required: - - id - - transactionType - - reconciled - - issuerCountry - PayoutPaymentMethods: - type: string - enum: - - bank_transfer - - visa_direct - - internal_transfer - PayoutStatus: - type: string - enum: - - initialized - - pending - - sent - - completed - - failed - - canceled - - declined - - unknown - - in_review - Payout: - type: object - properties: - eWalletId: - type: string - payoutOptionId: - type: string - payoutMethod: - default: bank_transfer - $ref: '#/components/schemas/PayoutPaymentMethods' - currency: - type: string - enum: - - USD - - GBP - - EUR - default: GBP - id: - type: number - amount: - type: number - status: - default: pending - $ref: '#/components/schemas/PayoutStatus' - merchantId: - type: string - vendorId: - type: string - required: - - eWalletId - - payoutOptionId - - payoutMethod - - currency - - id - - amount - - status - - merchantId - - vendorId - CreatePayoutBody: - type: object - properties: - eWalletId: - type: string - payoutOptionId: - type: string - payoutMethod: - default: bank_transfer - $ref: '#/components/schemas/PayoutPaymentMethods' - currency: - type: string - enum: - - USD - - GBP - - EUR - default: GBP - required: - - eWalletId - - payoutOptionId - - payoutMethod - - currency - PayoutFrequency: - type: string - enum: - - daily - - weekly - - biWeekly - - monthly - PayoutConfiguration: - type: object - properties: - enabled: - type: boolean - frequency: - example: daily - $ref: '#/components/schemas/PayoutFrequency' - id: - type: number - merchant_id: - type: string - required: - - enabled - - frequency - - id - - merchant_id - CreatePayoutConfigurationBody: - type: object - properties: - enabled: - type: boolean - frequency: - example: daily - $ref: '#/components/schemas/PayoutFrequency' - required: - - enabled - - frequency - PaymentStatus: - type: string - enum: - - Charged - - Settled - - PaidIntoBank - TransactionType: - type: string - enum: - - Auth - - Sale - - Auth3D - - Sale3D - - Settle - - Capture - - Void - - Refund - - Auth3D_Challange - - Init3D - - Funding - - Payout - - Transfer - - Chargeback - - Cancel Chargeback - - Correction - - Partial Correction - - Risk - PayoutOptionType: - type: string - enum: - - card - - alternative - - bankAccount - CreateCardAccountBody: - type: object - properties: {} - BankProvider: - type: object - properties: - bankName: - type: string - example: Barclays - bankId: - type: string - example: ob-barclays - bankType: - example: - - corporate - type: array - items: - type: string - required: - - bankName - - bankId - - bankType - BankAccount: - type: object - properties: - provider: - $ref: '#/components/schemas/BankProvider' - ApmAccount: - type: object - properties: - name: - type: string - PayoutOption: - type: object - properties: - payoutOptionType: - example: card - $ref: '#/components/schemas/PayoutOptionType' - cardAccount: - $ref: '#/components/schemas/CreateCardAccountBody' - bankAccount: - $ref: '#/components/schemas/BankAccount' - apmAccount: - $ref: '#/components/schemas/ApmAccount' - required: - - payoutOptionType - PaymentOptionType: - type: string - enum: - - Card - - Alternative - - Bank Account - IdentityType: - type: string - enum: - - consumer - - vendor - - platform - CreatedPaymentOption: - type: object - properties: - paymentOptionType: - example: Card - $ref: '#/components/schemas/PaymentOptionType' - cardAccount: - $ref: '#/components/schemas/CreateCardAccountBody' - bankAccount: - $ref: '#/components/schemas/BankAccount' - apmAccount: - $ref: '#/components/schemas/ApmAccount' - identityType: - example: vendor - $ref: '#/components/schemas/IdentityType' - identity: - type: string - paymentOptionId: - type: string - required: - - paymentOptionType - - identityType - - identity - - paymentOptionId - SavedCardAccount: - type: object - properties: - expirationYear: - type: string - description: Card expiration year (2-digit format) - example: '34' - expirationMonth: - type: string - description: Card expiration month (2-digit format) - example: '02' - brand: - type: string - description: Card brand - example: VISA - last4digits: - type: string - description: Last 4 digits of the card - example: '1390' - required: - - expirationYear - - expirationMonth - - brand - - last4digits - SavedPaymentOptionResponse: - type: object - properties: - paymentOptionId: - type: string - description: Unique identifier for the payment option - cardAccount: - description: Card account details - allOf: - - $ref: '#/components/schemas/SavedCardAccount' - lastUsed: - type: string - description: Timestamp when the card was last used - example: '2025-09-15T11:10:44.043Z' - required: - - paymentOptionId - - cardAccount - - lastUsed - MixpanelData: - type: object - properties: - distinct_id: - type: string - required: - - distinct_id - Metadata: - type: object - properties: - mixpanel: - $ref: '#/components/schemas/MixpanelData' - required: - - mixpanel - CreatePaymentOptionPayload: - type: object - properties: - paymentOptionType: - type: string - number: - type: string - expMonth: - type: string - expYear: - type: string - nameOnCard: - type: string - securityCode: - type: string - outboundChildPaymentRef: - type: string - childDateOfBirth: - type: string - metadata: - $ref: '#/components/schemas/Metadata' - OnboardingLegacyStatus: - type: string - enum: - - PENDING - - STARTED - - PAY_IN_SUCCESS - - PAY_IN_IN_REVIEW - - PAY_OUT_IN_REVIEW - - PAY_OUT_SUCCESS - - REJECTED - OnboardingStatus: - type: string - enum: - - CREATED - - PENDING - - STARTED - - ACTION_REQUIRED - - RESTRICTED - - IN_REVIEW - - REJECTED - - ACCEPT_PAYMENTS - - COMPLETED - - CLOSED - - TERMINATED - OnboardingCompletedIndividual: - type: object - properties: - status: - example: PENDING - $ref: '#/components/schemas/OnboardingLegacyStatus' - onboardingStatus: - example: RESTRICTED - $ref: '#/components/schemas/OnboardingStatus' - acceptPayments: - type: boolean - example: true - receivePayout: - type: boolean - example: true - fields: - example: - - alias: individual.firstName - editable: true - status: COMPLETED - value: John - required: true - - alias: individual.lastName - editable: true - status: COMPLETED - value: Doe - required: true - - alias: individual.birthDate - editable: true - status: COMPLETED - value: '1991-04-02' - required: true - - alias: individual.email - status: COMPLETED - value: messi@example.com - editable: null - required: true - - alias: individual.phone - status: COMPLETED - value: '+447911123456' - editable: null - required: true - - alias: individual.address - editable: true - status: COMPLETED - value: - country: GB - city: London - state: England - houseNumber: '64' - street: New Cavendish Street - postCode: SW1W 0NY - required: true - - alias: business.url - editable: true - status: COMPLETED - value: example.com - required: true - - alias: business.category - editable: true - status: COMPLETED - value: DIGITAL_GOODS - required: true - - alias: business.serviceDescription - editable: true - status: COMPLETED - value: example.com - required: true - - type: HTML - code: |- - - - - -
-
-

Here are some requierments form our legal department that you need to confirm:

-

I have fully read, understood and hereby accept the UNIPaaS Merchant Services Terms (“Terms”) for the use of its payments services and agree to be bound by it;

-

I consent to the sharing of my documents and information with UNIPaaS, its affiliates and its third parties’ providers necessary for the payments services provided by UNIPaaS as stated in the Terms.

-

I confirm that I will NOT sell any of the prohibited items, I understand that breaching this term will lead to immediate termination of my merchant account.

- - status: PENDING - required: true - - alias: business.agreement - status: COMPLETED - value: - accepted: true - ipAddress: 1.1.1.1 - publicUrl: https://unipaas-static-documents.s3.eu-west-1.amazonaws.com/vendors/{vendorId}/signature/{signatureId}/msa.pdf - editable: null - required: true - - alias: business.accountHolderName - editable: true - status: COMPLETED - value: Doe - required: true - - alias: business.bankAccount - status: COMPLETED - value: '38290008' - editable: null - required: true - - alias: business.sortCode - status: COMPLETED - value: '200415' - editable: null - required: true - - alias: individual.passport - label: Passport copy - type: FILE_INPUT - required: false - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - - alias: individual.drivingLicense - label: Driving license - type: FILE_INPUT - required: false - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - - alias: business.bankStatement - label: Upload a copy of your bank statement - type: FILE_INPUT - required: false - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - type: array - items: - type: string - required: - - status - - onboardingStatus - - acceptPayments - - receivePayout - - fields - OnboardingCompletedCompany: - type: object - properties: - status: - example: PAY_OUT_SUCCESS - $ref: '#/components/schemas/OnboardingStatus' - onboardingStatus: - example: RESTRICTED - $ref: '#/components/schemas/OnboardingStatus' - acceptPayments: - type: boolean - example: true - receivePayout: - type: boolean - example: true - fields: - example: - - alias: company.registrationNumber - type: TEXT_FIELD - label: Company registration number - editable: true - rules: - - pattern: ^\d{8}$ - message: Registration Number must be exactly 8 digits - maxLength: 8 - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: company.name - status: COMPLETED - value: Bitter Sweet - editable: null - required: true - - alias: company.address - label: Corporate address - editable: true - tooltip: Please enter a full address, including house number or name - type: ADDRESS_INPUT - comment: 'Example: 15 George Eliot, London WC2N 5DU, UK' - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: company.email - status: COMPLETED - value: messi@example.com - editable: null - required: true - - alias: company.phone - type: PHONE - label: Phone Number - rules: - - pattern: ^\+[0-9]{0,14}$ - message: Invalid Phone number - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - alias: business.vat - type: TEXT_FIELD - label: VAT Number (optional) - editable: true - required: false - rules: - - pattern: ^\d{9}$ - message: VAT Number must be exactly 9 digits - maxLength: 8 - status: PENDING - completedAt: null - value: null - reason: null - errors: null - - alias: business.url - type: TEXT_FIELD - label: Commercial website URL - editable: true - tooltip: |- - This should be the website you use to sell your goods or services. - It can be your business profile page hosted by your platform’s website - comment: Please ensure that you have added the website's URL that you are planning to use to sell goods and services. - rules: - - pattern: ^.+..+$ - message: Invalid Website URL - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: business.category - editable: true - status: COMPLETED - value: DIGITAL_GOODS - required: true - - alias: representative.firstName - editable: true - status: COMPLETED - value: Lionel - required: true - - alias: representative.lastName - editable: true - status: COMPLETED - value: Messi - required: true - - alias: representative.birthDate - type: DATE_PICKER - label: Date of Birth - min: '1902-02-17' - max: '2004-02-17' - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.address - type: ADDRESS_INPUT - label: Home address - comment: 'Example: 15 George Eliot, London WC2N 5DU, UK' - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.nationality - type: SELECT - label: Nationality - items: - - Afghan - - Albanian - - Algerian - - Argentinian - - Australian - - Austrian - - Bangladeshi - - Belgian - - Bolivian - - Batswana - - Brazilian - - Bulgarian - - Cambodian - - Cameroonian - - Canadian - - Chilean - - Chinese - - Colombian - - Costa Rican - - Croatian - - Cuban - - Czech - - Danish - - Dominican - - Ecuadorian - - Egyptian - - Salvadorian - - English - - Estonian - - Ethiopian - - Fijian - - Finnish - - French - - German - - Ghanaian - - Greek - - Guatemalan - - Haitian - - Honduran - - Hungarian - - Icelandic - - Indian - - Indonesian - - Iranian - - Iraqi - - Irish - - Israeli - - Italian - - Jamaican - - Japanese - - Jordanian - - Kenyan - - Kuwaiti - - Lao - - Latvian - - Lebanese - - Libyan - - Lithuanian - - Malagasy - - Malaysian - - Malian - - Maltese - - Mexican - - Mongolian - - Moroccan - - Mozambican - - Namibian - - Nepalese - - Dutch - - New Zealand - - Nicaraguan - - Nigerian - - Norwegian - - Pakistani - - Panamanian - - Paraguayan - - Peruvian - - Philippine - - Polish - - Portuguese - - Romanian - - Russian - - Saudi - - Scottish - - Senegalese - - Serbian - - Singaporean - - Slovak - - South African - - Korean - - Spanish - - Sri Lankan - - Sudanese - - Swedish - - Swiss - - Syrian - - Taiwanese - - Tajikistani - - Thai - - Tongan - - Tunisian - - Turkish - - Ukrainian - - Emirati - - British - - American ** - - Uruguayan - - Venezuelan - - Vietnamese - - Welsh - - Zambian - - Zimbabwean - value: English - editable: true - status: PENDING - completedAt: null - reason: null - errors: null - required: true - - alias: representative.role - type: SELECT - label: Role / Title - items: - - CEO - - CFO - - SMO - - DIRECTOR - - OTHER - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.ownershipPercentage - type: TEXT_FIELD - label: '% ownership of the business entity' - tooltip: |- - If you hold any ownership of the business entity, - please insert the percentage. Otherwise type 0 - rules: - - pattern: ^[0-9][0-9]?$|^100$ - message: Field should be a number between 0-100 - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.passport - label: Passport copy - type: FILE_INPUT - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.drivingLicense - label: Driving license - type: FILE_INPUT - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.isAuthorized - type: CHECKBOX - label: I am the duly authorized representative of Bitter Sweet business entity - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - type: HTML - code: |+ - - - - - - - - -
-
- -

Here are some requierments form our legal department that you need to confirm:

- -

On behalf of the Business, -
- I represent and undertake that, I have fully read, understood and hereby accept the UNIPaaS Merchant Services Terms (“Terms”) for the use of its payments services and agree to be bound (and have the Business be bound) by it; -

- - -

The sharing of documents and information with UNIPaaS, its affiliates and its third parties’ providers necessary for the payments services provided as stated in the Terms.

-

I confirm that the business will NOT sell any of the prohibited items.

- - - - - - status: PENDING - required: true - - alias: business.agreement - type: AGREEMENT - label: I agree - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - alias: business.accountHolderName - editable: true - type: TEXT_FIELD - label: Bank Account holder name - tooltip: Enter the full name of the business entity that is associated with the bank account - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: business.bankAccount - type: TEXT_FIELD - label: Account number - comment: 'For example: 38290008' - rules: - - pattern: ^[0-9]{8}$ - message: Bank Account Number must be exactly 8 digits - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - alias: business.sortCode - type: TEXT_FIELD - label: Sort code - comment: 'For example: 200415' - rules: - - pattern: ^[0-9]{6}$ - message: Sort-code must be exactly 6 digits - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - type: HTML - code: The following information can be found on your bank statement, or on the account page of your online banking web page or on your mobile banking application. - status: PENDING - required: true - - label: Stakeholders - alias: company.ultimateBeneficialOwners - type: STAKEHOLDERS - collapsed: true - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: company.incorporationDocument - label: Incorporation Document - type: FILE_INPUT - viewButton: true - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: business.bankStatement - type: FILE_INPUT - editable: true - label: Bank Statement or a Voided Cheque - comment: Please upload a file dated within the past 3 months - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - type: array - items: - type: string - required: - - status - - onboardingStatus - - acceptPayments - - receivePayout - - fields - PendingOnboardingIndividual: - type: object - properties: - status: - example: PENDING - $ref: '#/components/schemas/OnboardingStatus' - fields: - example: - - alias: individual.firstName - editable: true - status: PENDING - value: null - required: true - - alias: individual.lastName - editable: true - status: PENDING - value: null - required: true - - alias: individual.birthDate - type: DATE_PICKER - label: Date of Birth - min: '1902-02-17' - max: '2004-02-17' - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: individual.email - status: PENDING - value: null - editable: null - required: true - - alias: individual.phone - type: PHONE - label: Phone Number - rules: - - pattern: ^\+[0-9]{0,14}$ - message: Invalid Phone number - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - alias: individual.address - type: ADDRESS_INPUT - label: Address - editable: true - comment: 'Example: 15 George Eliot, London WC2N 5DU, UK' - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: business.url - type: TEXT_FIELD - label: Profile URL - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: business.category - editable: true - status: COMPLETED - value: DIGITAL_GOODS - required: true - - alias: business.serviceDescription - type: TEXTAREA - label: Service Description - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - type: HTML - code: |- - - - - -
-
-

Here are some requierments form our legal department that you need to confirm:

-

I have fully read, understood and hereby accept the UNIPaaS Merchant Services Terms (“Terms”) for the use of its payments services and agree to be bound by it;

-

I consent to the sharing of my documents and information with UNIPaaS, its affiliates and its third parties’ providers necessary for the payments services provided by UNIPaaS as stated in the Terms.

-

I confirm that I will NOT sell any of the prohibited items, I understand that breaching this term will lead to immediate termination of my merchant account.

- - status: PENDING - required: true - - alias: business.agreement - type: AGREEMENT - label: I agree - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - alias: business.accountHolderName - type: TEXT_FIELD - label: Bank Account holder name - editable: true - tooltip: Enter the full name of the business entity that is associated with the bank account - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: business.bankAccount - type: TEXT_FIELD - label: Your Bank Account Number - comment: 'For example: 38290008' - rules: - - pattern: ^[0-9]{8}$ - message: Bank Account Number must be exactly 8 digits - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - alias: business.sortCode - type: TEXT_FIELD - label: Your Sort-code - comment: 'For example: 200415' - rules: - - pattern: ^[0-9]{6}$ - message: Sort-code must be exactly 6 digits - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - alias: individual.passport - label: Passport copy - type: FILE_INPUT - required: false - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - - alias: individual.drivingLicense - label: Driving license - type: FILE_INPUT - required: false - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - - alias: business.bankStatement - label: Upload a copy of your bank statement - type: FILE_INPUT - required: false - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - type: array - items: - type: string - required: - - status - - fields - PendingOnboardingCompany: - type: object - properties: - status: - example: PENDING - $ref: '#/components/schemas/OnboardingStatus' - fields: - example: - - alias: company.registrationNumber - type: TEXT_FIELD - label: Company registration number - editable: true - rules: - - pattern: ^\d{8}$ - message: Registration Number must be exactly 8 digits - maxLength: 8 - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: company.name - status: PENDING - value: null - editable: null - required: true - - alias: company.address - label: Corporate address - editable: true - tooltip: Please enter a full address, including house number or name - type: ADDRESS_INPUT - comment: 'Example: 15 George Eliot, London WC2N 5DU, UK' - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: company.email - status: PENDING - value: null - editable: null - required: true - - alias: company.phone - type: PHONE - label: Phone Number - rules: - - pattern: ^\+[0-9]{0,14}$ - message: Invalid Phone number - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - alias: business.vat - type: TEXT_FIELD - label: VAT Number (optional) - editable: true - required: false - rules: - - pattern: ^\d{9}$ - message: VAT Number must be exactly 9 digits - maxLength: 8 - status: PENDING - completedAt: null - value: null - reason: null - errors: null - - alias: business.url - type: TEXT_FIELD - label: Commercial website URL - editable: true - tooltip: |- - This should be the website you use to sell your goods or services. - It can be your business profile page hosted by your platform’s website - comment: Please ensure that you have added the website's URL that you are planning to use to sell goods and services. - rules: - - pattern: ^.+..+$ - message: Invalid Website URL - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: business.category - editable: true - status: PENDING - value: null - required: true - - alias: representative.firstName - editable: true - status: PENDING - value: null - required: true - - alias: representative.lastName - editable: true - status: PENDING - value: null - required: true - - alias: representative.birthDate - type: DATE_PICKER - label: Date of Birth - min: '1902-02-17' - max: '2004-02-17' - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.address - type: ADDRESS_INPUT - label: Home address - comment: 'Example: 15 George Eliot, London WC2N 5DU, UK' - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.nationality - type: SELECT - label: Nationality - items: - - Afghan - - Albanian - - Algerian - - Argentinian - - Australian - - Austrian - - Bangladeshi - - Belgian - - Bolivian - - Batswana - - Brazilian - - Bulgarian - - Cambodian - - Cameroonian - - Canadian - - Chilean - - Chinese - - Colombian - - Costa Rican - - Croatian - - Cuban - - Czech - - Danish - - Dominican - - Ecuadorian - - Egyptian - - Salvadorian - - English - - Estonian - - Ethiopian - - Fijian - - Finnish - - French - - German - - Ghanaian - - Greek - - Guatemalan - - Haitian - - Honduran - - Hungarian - - Icelandic - - Indian - - Indonesian - - Iranian - - Iraqi - - Irish - - Israeli - - Italian - - Jamaican - - Japanese - - Jordanian - - Kenyan - - Kuwaiti - - Lao - - Latvian - - Lebanese - - Libyan - - Lithuanian - - Malagasy - - Malaysian - - Malian - - Maltese - - Mexican - - Mongolian - - Moroccan - - Mozambican - - Namibian - - Nepalese - - Dutch - - New Zealand - - Nicaraguan - - Nigerian - - Norwegian - - Pakistani - - Panamanian - - Paraguayan - - Peruvian - - Philippine - - Polish - - Portuguese - - Romanian - - Russian - - Saudi - - Scottish - - Senegalese - - Serbian - - Singaporean - - Slovak - - South African - - Korean - - Spanish - - Sri Lankan - - Sudanese - - Swedish - - Swiss - - Syrian - - Taiwanese - - Tajikistani - - Thai - - Tongan - - Tunisian - - Turkish - - Ukrainian - - Emirati - - British - - American ** - - Uruguayan - - Venezuelan - - Vietnamese - - Welsh - - Zambian - - Zimbabwean - value: English - editable: true - status: PENDING - completedAt: null - reason: null - errors: null - required: true - - alias: representative.role - type: SELECT - label: Role / Title - items: - - CEO - - CFO - - SMO - - DIRECTOR - - OTHER - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.ownershipPercentage - type: TEXT_FIELD - label: '% ownership of the business entity' - tooltip: |- - If you hold any ownership of the business entity, - please insert the percentage. Otherwise type 0 - rules: - - pattern: ^[0-9][0-9]?$|^100$ - message: Field should be a number between 0-100 - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.passport - label: Passport copy - type: FILE_INPUT - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.drivingLicense - label: Driving license - type: FILE_INPUT - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: representative.isAuthorized - type: CHECKBOX - label: I am the duly authorized representative of Bitter Sweet business entity - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - type: HTML - code: |+ - - - - - - - - -
-
- -

Here are some requierments form our legal department that you need to confirm:

- -

On behalf of the Business, -
- I represent and undertake that, I have fully read, understood and hereby accept the UNIPaaS Merchant Services Terms (“Terms”) for the use of its payments services and agree to be bound (and have the Business be bound) by it; -

- - -

The sharing of documents and information with UNIPaaS, its affiliates and its third parties’ providers necessary for the payments services provided as stated in the Terms.

-

I confirm that the business will NOT sell any of the prohibited items.

- - - - - - status: PENDING - required: true - - alias: business.agreement - type: AGREEMENT - label: I agree - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - alias: business.accountHolderName - editable: true - type: TEXT_FIELD - label: Bank Account holder name - tooltip: Enter the full name of the business entity that is associated with the bank account - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: business.bankAccount - type: TEXT_FIELD - label: Account number - comment: 'For example: 38290008' - rules: - - pattern: ^[0-9]{8}$ - message: Bank Account Number must be exactly 8 digits - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - alias: business.sortCode - type: TEXT_FIELD - label: Sort code - comment: 'For example: 200415' - rules: - - pattern: ^[0-9]{6}$ - message: Sort-code must be exactly 6 digits - status: PENDING - completedAt: null - value: null - reason: null - errors: null - editable: null - required: true - - type: HTML - code: The following information can be found on your bank statement, or on the account page of your online banking web page or on your mobile banking application. - status: PENDING - required: true - - label: Stakeholders - alias: company.ultimateBeneficialOwners - type: STAKEHOLDERS - collapsed: true - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: company.incorporationDocument - label: Incorporation Document - type: FILE_INPUT - viewButton: true - editable: true - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - - alias: business.bankStatement - type: FILE_INPUT - editable: true - label: Bank Statement or a Voided Cheque - comment: Please upload a file dated within the past 3 months - status: PENDING - completedAt: null - value: null - reason: null - errors: null - required: true - type: array - items: - type: string - required: - - status - - fields - OnboardingApiPayload: - type: object - properties: - fields: - example: - - alias: individual.email - value: john.doe@example.com - - alias: individual.phone - value: '+447911123456' - - alias: individual.firstName - value: John - - alias: individual.lastName - value: Doe - - alias: individual.birthDate - value: '1991-04-02' - - alias: individual.address - value: - country: GB - city: London - state: England - houseNumber: '64' - street: New Cavendish Street - postCode: SW1W 0NY - - alias: business.category - value: DIGITAL_GOODS - - alias: business.url - value: example.com - - alias: business.serviceDescription - value: example.com - - alias: business.accountHolderName - value: Doe - - alias: business.bankAccount - value: '38290008' - - alias: business.sortCode - value: '200415' - - alias: business.agreement - value: - accepted: true - ipAddress: 1.1.1.1 - type: array - items: - type: string - required: - - fields - RequireOnboardingPayload: - type: object - properties: - fields: - example: - - alias: individual.email - value: john.doe@example.com - - alias: individual.phone - value: '+447911123456' - - alias: individual.firstName - value: John - - alias: individual.lastName - value: Doe - - alias: individual.birthDate - value: '1991-04-02' - - alias: individual.address - value: - country: GB - city: London - state: England - houseNumber: '64' - street: New Cavendish Street - postCode: SW1W 0NY - - alias: business.category - value: DIGITAL_GOODS - - alias: business.url - value: example.com - - alias: business.serviceDescription - value: example.com - - alias: business.accountHolderName - value: Doe - - alias: business.bankAccount - value: '38290008' - - alias: business.sortCode - value: '200415' - - alias: business.agreement - value: - accepted: true - ipAddress: 1.1.1.1 - type: array - items: - type: string - createOnboardingLink: - type: boolean - example: true - required: - - fields - OnboardingRequired: - type: object - properties: - onboardingStatus: - example: ACTION_REQUIRED - $ref: '#/components/schemas/OnboardingStatus' - acceptPayments: - type: boolean - example: true - receivePayout: - type: boolean - example: false - fields: - example: - - alias: business.bankDetails - status: PENDING - value: John - type: array - items: - type: string - required: - - onboardingStatus - - acceptPayments - - receivePayout - - fields - CampaignVendorsPayload: - type: object - properties: - vendorIds: - type: array - items: - type: string - campaign: - type: string - required: - - vendorIds - - campaign - Currency: - type: string - enum: - - GBP - - USD - - EUR - - CAD - UOM: - type: string - enum: - - day - - week - - month - - quarter - - year - RampInterval: - type: object - properties: - unitAmount: - type: number - example: 10 - cycles: - type: number - example: 3 - required: - - unitAmount - - cycles - PublicCreatePlanDto: - type: object - properties: - vendorId: - type: string - name: - type: string - maxLength: 100 - description: - type: string - price: - type: number - minimum: 0 - exclusiveMinimum: true - example: 100 - currency: - example: GBP - $ref: '#/components/schemas/Currency' - period: - type: number - minimum: 1 - exclusiveMinimum: true - example: 12 - periodUOM: - example: month - $ref: '#/components/schemas/UOM' - pricingModel: - type: string - example: ramp - rampIntervals: - type: array - items: - $ref: '#/components/schemas/RampInterval' - autoRenewal: - type: boolean - default: false - setupFee: - type: number - default: 0 - example: 50 - required: - - vendorId - - name - - description - - price - - currency - - period - - periodUOM - - pricingModel - - rampIntervals - - setupFee - PayInPlan: - type: object - properties: - id: - type: string - description: Unique identifier/PK - correlationId: - type: string - merchantId: - type: string - vendorId: - type: string - name: - type: string - maxLength: 100 - description: - type: string - status: - type: string - example: active - price: - type: number - minimum: 0 - exclusiveMinimum: true - example: 100 - currency: - example: GBP - $ref: '#/components/schemas/Currency' - period: - type: number - minimum: 1 - exclusiveMinimum: true - example: 12 - periodUOM: - example: month - $ref: '#/components/schemas/UOM' - pricingModel: - type: string - example: ramp - rampIntervals: - type: array - items: - $ref: '#/components/schemas/RampInterval' - autoRenewal: - type: boolean - default: false - createdBy: - type: string - updatedBy: - type: string - consent: - type: string - setupFee: - type: number - default: 0 - example: 50 - required: - - id - - correlationId - - merchantId - - vendorId - - name - - description - - status - - price - - currency - - period - - periodUOM - - pricingModel - - rampIntervals - - createdBy - - updatedBy - - consent - - setupFee - PublicUpdatePlanDto: - type: object - properties: - name: - type: string - maxLength: 100 - description: - type: string - status: - type: string - example: active - PaymentOption: - type: object - properties: - id: - type: string - createdAt: - format: date-time - type: string - createdBy: - type: string - updatedAt: - format: date-time - type: string - updatedBy: - type: string - internalComment: - type: string - deletedAt: - format: date-time - type: string - initialTransactionId: - type: string - paymentOptionId: - type: string - paymentOptionType: - type: string - required: - - id - - createdAt - - createdBy - - updatedAt - - updatedBy - - internalComment - - deletedAt - - initialTransactionId - - paymentOptionId - - paymentOptionType - SubscriptionStatus: - type: string - enum: - - pending - - trial - - enabled - - onHold - - cancelled - - completed - - pastDue - Subscription: - type: object - properties: - id: - type: string - createdAt: - format: date-time - type: string - createdBy: - type: string - updatedAt: - format: date-time - type: string - updatedBy: - type: string - internalComment: - type: string - deletedAt: - format: date-time - type: string - planId: - type: string - identifier: - type: string - merchantId: - type: string - vendorId: - type: string - costumerId: - type: string - paymentOption: - $ref: '#/components/schemas/PaymentOption' - parent: - $ref: '#/components/schemas/Subscription' - price: - type: number - outstandingBalance: - type: number - currency: - type: string - period: - type: number - periodUOM: - example: day - $ref: '#/components/schemas/UOM' - trialPeriod: - type: number - trialPeriodUOM: - example: day - $ref: '#/components/schemas/UOM' - trialStart: - format: date-time - type: string - trialEnd: - format: date-time - type: string - status: - example: enabled - $ref: '#/components/schemas/SubscriptionStatus' - taxable: - type: boolean - taxProfileId: - type: string - nextBillingOn: - format: date-time - type: string - isInBillingRetry: - type: boolean - nextBillingRetryOn: - format: date-time - type: string - billingRetryCount: - type: number - autoRenewal: - type: boolean - startedOn: - format: date-time - type: string - endsOn: - format: date-time - type: string - pausedAt: - format: date-time - type: string - pauseExtension: - type: number - pauseExtensionUOM: - example: day - $ref: '#/components/schemas/UOM' - required: - - id - - createdAt - - createdBy - - updatedAt - - updatedBy - - internalComment - - deletedAt - - planId - - identifier - - merchantId - - vendorId - - costumerId - - paymentOption - - parent - - price - - outstandingBalance - - currency - - period - - periodUOM - - trialPeriod - - trialPeriodUOM - - trialStart - - trialEnd - - status - - taxable - - taxProfileId - - nextBillingOn - - isInBillingRetry - - nextBillingRetryOn - - billingRetryCount - - autoRenewal - - startedOn - - endsOn - - pausedAt - - pauseExtension - - pauseExtensionUOM - InternalUpdateSubscriptionDto: - type: object - properties: - status: - type: string - paymentOptionId: - type: string - required: - - status - - paymentOptionId - CheckoutConsumer: - type: object - properties: - firstName: - type: string - maxLength: 256 - deprecated: true - lastName: - type: string - maxLength: 256 - deprecated: true - name: - type: string - maxLength: 256 - reference: - type: string - example: CUS-EXP-REF-1 - description: Platform Identifier - email: - type: string - country: - type: string - format: ISO 3166-1 alpha-2 - example: GB - Item: - type: object - properties: - name: - type: string - maxLength: 256 - amount: - type: number - minimum: 0 - exclusiveMinimum: true - example: 100 - vendorId: - type: string - platformFee: - type: number - description: percentage fee - minimum: 0 - maxLength: 100 - example: 10 - description: - type: string - quantity: - type: number - fundingAmount: - type: number - required: - - name - - amount - Address: - type: object - properties: - firstName: - type: string - maxLength: 256 - lastName: - type: string - maxLength: 256 - city: - type: string - example: London - description: City, district, suburb, town, or village. - country: - type: string - format: ISO 3166-1 alpha-2 - example: GB - description: Two-letter country code (ISO 3166-1 alpha-2). - line1: - type: string - example: 64 New Cavendish Street - description: Street, PO Box, or company name. - line2: - type: string - description: Apartment, suite, unit, or building. - postalCode: - type: string - example: W1G 8TB - description: ZIP or postal code. - state: - type: string - description: State, county, province, or region. - required: - - city - - country - - line1 - - postalCode - CreateCheckoutBody: - type: object - properties: - amount: - type: number - minimum: 0 - exclusiveMinimum: true - example: 100 - multipleOf: 0.01 - currency: - type: string - enum: - - GBP - - USD - - EUR - - CAD - example: GBP - default: GBP - country: - type: string - format: ISO 3166-1 alpha-2 - example: GB - vendorId: - type: string - consumerId: - type: string - firstName: - type: string - deprecated: true - lastName: - type: string - deprecated: true - consumer: - $ref: '#/components/schemas/CheckoutConsumer' - email: - type: string - format: email - phone: - type: string - format: phone - description: Phone number must contain 9–13 digits and may begin with a '+' for international format. - orderId: - type: string - maxLength: 256 - reference: - type: string - maxLength: 256 - metadata: - type: object - example: - product: Embedded Components - description: - type: string - maxLength: 256 - successfulPaymentRedirect: - type: string - maxLength: 256 - format: uri - example: https://platform.com/redirect - embeddedRedirect: - type: string - maxLength: 256 - format: uri - example: https://platform.com/checkout - items: - type: array - items: - $ref: '#/components/schemas/Item' - invoiceUrl: - type: string - example: http://yourcompany.com/invoice.pdf - dueDate: - format: date-time - type: string - example: '2024-01-18T00:00:00.000Z' - vatAmount: - type: number - plans: - type: array - items: - type: string - billingAddress: - $ref: '#/components/schemas/Address' - shippingSameAsBilling: - type: boolean - shippingAddress: - $ref: '#/components/schemas/Address' - transactionType: - type: string - enum: - - Auth - - Sale - - Auth3D - - Sale3D - - Settle - - Capture - - Void - - Refund - - Auth3D_Challange - - Init3D - paymentMethods: - type: array - items: - type: string - enum: - - creditCard - - apm - - bankTransfer - - directDebit - - taxFreeChildcare - vposLinkId: - type: string - maxLength: 256 - isMoto: - type: boolean - example: false - default: false - storePaymentMethod: - type: boolean - required: - - amount - - currency - - country - - email - CheckoutStatuses: - type: string - enum: - - open - - pending - - unpaid - - expired - - paid - - declined - Shopper: - type: object - properties: - email: - type: string - format: email - required: - - email - CreatedCheckout: - type: object - properties: - amount: - type: number - minimum: 0 - exclusiveMinimum: true - example: 100 - multipleOf: 0.01 - currency: - type: string - enum: - - GBP - - USD - - EUR - - CAD - example: GBP - default: GBP - country: - type: string - format: ISO 3166-1 alpha-2 - example: GB - vendorId: - type: string - consumerId: - type: string - firstName: - type: string - deprecated: true - lastName: - type: string - deprecated: true - consumer: - $ref: '#/components/schemas/CheckoutConsumer' - phone: - type: string - format: phone - description: Phone number must contain 9–13 digits and may begin with a '+' for international format. - orderId: - type: string - maxLength: 256 - reference: - type: string - maxLength: 256 - metadata: - type: object - example: - product: Embedded Components - description: - type: string - maxLength: 256 - successfulPaymentRedirect: - type: string - maxLength: 256 - format: uri - example: https://platform.com/redirect - embeddedRedirect: - type: string - maxLength: 256 - format: uri - example: https://platform.com/checkout - items: - type: array - items: - $ref: '#/components/schemas/Item' - invoiceUrl: - type: string - example: http://yourcompany.com/invoice.pdf - dueDate: - format: date-time - type: string - example: '2024-01-18T00:00:00.000Z' - vatAmount: - type: number - plans: - type: array - items: - type: string - billingAddress: - $ref: '#/components/schemas/Address' - shippingSameAsBilling: - type: boolean - shippingAddress: - $ref: '#/components/schemas/Address' - transactionType: - type: string - enum: - - Auth - - Sale - - Auth3D - - Sale3D - - Settle - - Capture - - Void - - Refund - - Auth3D_Challange - - Init3D - paymentMethods: - type: array - items: - type: string - enum: - - creditCard - - apm - - bankTransfer - - directDebit - - taxFreeChildcare - vposLinkId: - type: string - maxLength: 256 - isMoto: - type: boolean - example: false - default: false - storePaymentMethod: - type: boolean - _id: - type: string - status: - default: open - $ref: '#/components/schemas/CheckoutStatuses' - sessionToken: - type: string - shopper: - $ref: '#/components/schemas/Shopper' - shortLink: - type: string - createdAt: - format: date-time - type: string - updatedAt: - format: date-time - type: string - required: - - amount - - currency - - country - - _id - - status - - sessionToken - - shopper - - shortLink - - createdAt - - updatedAt - Vendor: - type: object - properties: - name: - type: string - example: John Doe - email: - type: string - example: john.doe@example.com - format: email - CheckoutMode: - type: string - enum: - - offline - - online - CheckoutPaymentLink: - type: object - properties: - shopper: - $ref: '#/components/schemas/Shopper' - vendor: - $ref: '#/components/schemas/Vendor' - status: - default: open - $ref: '#/components/schemas/CheckoutStatuses' - mode: - default: online - $ref: '#/components/schemas/CheckoutMode' - paymentMethods: - type: array - items: - type: string - enum: - - creditCard - - apm - - bankTransfer - - directDebit - - taxFreeChildcare - _id: - type: string - country: - type: string - format: ISO 3166-1 alpha-2 - example: GB - amount: - type: number - minimum: 0 - exclusiveMinimum: true - example: 100 - multipleOf: 0.01 - currency: - type: string - enum: - - GBP - - USD - - EUR - - CAD - example: GBP - default: GBP - type: - type: string - example: singleTimeType - items: - type: array - items: - $ref: '#/components/schemas/Item' - reference: - type: string - maxLength: 256 - invoiceUrl: - type: string - example: http://yourcompany.com/invoice.pdf - description: - type: string - maxLength: 256 - sellerId: - type: string - shortLink: - type: string - signedLinkId: - type: string - merchantId: - type: string - createdAt: - format: date-time - type: string - updatedAt: - format: date-time - type: string - expiresAt: - format: date-time - type: string - required: - - shortLink - - signedLinkId - Bank: - type: object - properties: - id: - type: string - logo_url: - type: string - name: - type: string - labels: - type: array - items: - type: string - country: - type: string - required: - - id - - logo_url - - name - - labels - - country - BankList: - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/Bank' - required: - - result - GetBanksResponse: - type: object - properties: - status: - type: number - data: - $ref: '#/components/schemas/BankList' - required: - - status - - data - CreateTokenBody: - type: object - properties: - country: - type: string - format: ISO 3166-1 alpha-2 - example: GB - currency: - type: string - enum: - - GBP - - USD - - EUR - - CAD - example: GBP - default: GBP - email: - type: string - format: email - required: - - country - - email - CreatedToken: - type: object - properties: - sessionToken: - type: string - required: - - sessionToken - CreatePaymentOptionBody: - type: object - properties: - paymentOptionType: - example: Card - $ref: '#/components/schemas/PaymentOptionType' - cardAccount: - $ref: '#/components/schemas/CreateCardAccountBody' - bankAccount: - $ref: '#/components/schemas/BankAccount' - apmAccount: - $ref: '#/components/schemas/ApmAccount' - required: - - paymentOptionType - PayInConsumer: - type: object - properties: - firstName: - type: string - maxLength: 256 - deprecated: true - lastName: - type: string - maxLength: 256 - deprecated: true - name: - type: string - maxLength: 256 - reference: - type: string - example: CUS-EXP-REF-1 - description: Platform Identifier - email: - type: string - country: - type: string - format: ISO 3166-1 alpha-2 - example: GB - ipAddress: - type: string - billingAddress: - $ref: '#/components/schemas/Address' - shippingSameAsBilling: - type: boolean - shippingAddress: - $ref: '#/components/schemas/Address' - required: - - email - - country - Recurring: - type: object - properties: - isRecurring: - type: boolean - initialAuthorizationId: - type: string - required: - - isRecurring - CreatePayInBody: - type: object - properties: - amount: - type: number - minimum: 0 - exclusiveMinimum: true - example: 100 - multipleOf: 0.01 - currency: - type: string - enum: - - GBP - - USD - - EUR - - CAD - example: GBP - default: GBP - orderId: - type: string - maxLength: 256 - paymentOption: - $ref: '#/components/schemas/CreatePaymentOptionBody' - paymentOptionId: - type: string - deviceDetails: - type: object - consumerId: - type: string - consumer: - $ref: '#/components/schemas/PayInConsumer' - items: - type: array - items: - $ref: '#/components/schemas/Item' - redirectUrl: - type: string - description: Required when PaymentOption type is Bank Account - recurring: - $ref: '#/components/schemas/Recurring' - description: - type: string - maxLength: 256 - vendorId: - type: string - urn: - type: string - description: Childcare provider URN for TFC payments - required: - - amount - - currency - - consumer - AuthorizationStatus: - type: string - enum: - - Authorized - - Captured - - Voided - - Refunded - TransactionStatus: - type: string - enum: - - Approved - - Declined - - Error - - Pending - NextAction: - type: object - properties: - redirectBankUrl: - type: string - example: https://someBank.com/payment/start - required: - - redirectBankUrl - Authorization: - type: object - properties: - authorizationId: - type: string - authorizationStatus: - example: Captured - $ref: '#/components/schemas/AuthorizationStatus' - currency: - example: GBP - $ref: '#/components/schemas/Currency' - items: - type: array - items: - $ref: '#/components/schemas/Item' - orderId: - type: string - reference: - type: string - paymentOption: - $ref: '#/components/schemas/CreatedPaymentOption' - status: - example: Approved - $ref: '#/components/schemas/TransactionStatus' - amount: - type: number - example: 100 - transactionId: - type: string - nextAction: - $ref: '#/components/schemas/NextAction' - description: - type: string - maxLength: 256 - required: - - authorizationId - - authorizationStatus - - currency - - status - - amount - - transactionId - AuthorizationCaptureBody: - type: object - properties: - amount: - type: number - minimum: 0 - exclusiveMinimum: true - example: 100 - multipleOf: 0.01 - items: - type: array - items: - $ref: '#/components/schemas/Item' - required: - - amount - AuthorizationOperationBody: - type: object - properties: - amount: - type: number - minimum: 0 - exclusiveMinimum: true - example: 100 - multipleOf: 0.01 - required: - - amount - AvailablePaymentMethods: - type: object - properties: {} - Validity: - type: string - enum: - - valid - - invalid - Webhook: - type: object - properties: - id: - type: string - merchantId: - type: string - sellerId: - type: string - webhookName: - type: string - example: ewallet/create - validity: - example: valid - $ref: '#/components/schemas/Validity' - email: - type: string - url: - type: string - required: - - id - - merchantId - - sellerId - - webhookName - - validity - - email - - url - CreateWebhookBody: - type: object - properties: - webhookName: - type: string - enum: - - authorization/update - - ewallet/create - - payout/update - - onboarding/update - - plan/create - - plan/update - - subscription/create - - subscription/update - - subscription/chargeSuccess - - subscription/chargeFailure - - ewalletTransaction/create - - notification/create - example: authorization/update - email: - type: string - format: email - url: - type: string - sellerId: - type: string - required: - - webhookName - - email - - url - UpdateWebhookBody: - type: object - properties: - sellerId: - type: string - email: - type: string - url: - type: string - validity: - example: valid - $ref: '#/components/schemas/Validity' - required: - - sellerId - - email - - url - - validity - LinkStatus: - type: string - enum: - - created - - opened - - disabled - Link: - type: object - properties: - uniqueId: - type: string - status: - example: created - $ref: '#/components/schemas/LinkStatus' - vendorId: - type: string - example: 5fba355e857efefdb5ae3cd1 - views: - example: - - onboarding - type: array - items: - type: string - refreshUrl: - type: string - returnUrl: - type: string - createdAt: - format: date-time - type: string - example: '2021-06-16T15:34:19.536Z' - updatedAt: - format: date-time - type: string - example: '2021-06-16T15:36:19.536Z' - expiresAt: - format: date-time - type: string - example: '2021-06-17T15:34:19.536Z' - required: - - uniqueId - - status - - vendorId - - views - - createdAt - SendLinkPayload: - type: object - properties: - type: - type: string - email: - type: string - phone: - type: string - platformName: - type: string - required: - - type - PublicCreateLinkDto: - type: object - properties: - views: - example: - - onboarding - type: array - items: - type: string - required: - - views - Transfer: - type: object - properties: - eWalletId: - type: string - amount: - type: number - currency: - type: string - enum: - - USD - - GBP - - EUR - example: GBP - default: GBP - creditedVendorId: - type: string - id: - type: number - status: - type: string - enum: - - initialized - - pending - - collected - - sent - - completed - - failed - - canceled - example: collected - default: collected - merchantId: - type: string - vendorId: - type: string - required: - - eWalletId - - amount - - currency - - creditedVendorId - - status - - merchantId - - vendorId - CreateTransferBody: - type: object - properties: - eWalletId: - type: string - amount: - type: number - currency: - type: string - enum: - - USD - - GBP - - EUR - example: GBP - default: GBP - creditedVendorId: - type: string - required: - - eWalletId - - amount - - currency - - creditedVendorId - ListNotification: - type: object - properties: - items: - example: - - id: 624c567dfcb8145744c7a881 - vendorId: 6384b75fc661567cd8b337b5 - merchantId: 6384b75fc66156798567898a - group: onboarding - subject: You have reached 50% of your limit for accepting payments. - body: You have reached 50% (750GBP) of your limit for accepting payments.\nProvide additional details about your business in order to payout funds and lift any account limitations. - message: You have reached 50% of your limit for accepting payments, please complete the onboarding process - actions: - - text: Call to action - payload: - action: onboarding - method: link - status: read - importance: low - createdAt: '2022-12-04T14:41:46.410Z' - updatedAt: '2022-12-04T14:41:46.410Z' - type: array - items: - type: array - total: - type: number - example: 1 - required: - - items - - total - UpdateReadNotifications: - type: object - properties: - notificationIds: - example: - - 52341 - - 56123 - - 123 - - 5232 - type: array - items: - type: array - required: - - notificationIds - NotificationSettings: - type: object - properties: - id: - type: string - example: 624c567dfcb8145744c7a881 - vendorId: - type: string - example: 6384b75fc661567cd8b337b5 - merchantId: - type: string - example: 6384b75fc66156798567898a - settings: - type: object - example: - numberShowNotification: 5 - textOpenFullView: See all Notifications - popupBubbleNotification: true - popupBubbleNotificationTime: 30 - refreshInterval: 3600 - disable: - byGroup: [] - byImportance: [] - allNotifications: false - createdAt: - format: date-time - type: string - updatedAt: - format: date-time - type: string - required: - - id - - vendorId - - merchantId - - settings - - createdAt - - updatedAt - UpdateVendorNotificationSettings: - type: object - properties: - disable: - type: object - example: - disable: - byGroup: [] - byImportance: [] - allNotifications: false - numberShowNotification: - type: number - popupBubbleNotification: - type: boolean - popupBubbleNotificationTime: - type: number - refreshInterval: - type: number - textOpenFullView: - type: string - required: - - disable - - numberShowNotification - - popupBubbleNotification - - popupBubbleNotificationTime - - refreshInterval - - textOpenFullView - NotificationTemplateResponse: - type: object - properties: - subject: - type: string - body: - type: string - required: - - subject - - body - LineItem: - type: object - properties: - description: - type: string - unitPrice: - type: number - quantity: - type: number - required: - - description - - unitPrice - - quantity - InvoiceConsumer: - type: object - properties: - id: - type: string - example: 61f77c108762f836412a00b7 - description: UNIPaaS Identifier - reference: - type: string - example: CUS-EXMP-REF-1 - description: Platform Identifier - firstName: - type: string - deprecated: true - lastName: - type: string - deprecated: true - name: - type: string - example: John Doe - phone: - type: string - example: '+447975777666' - email: - type: string - example: john.doe@email.com - country: - type: string - format: ISO 3166-1 alpha-2 - example: GB - required: - - reference - paymentStatus: - type: string - enum: - - unpaid - - paid - - partially_paid - - refunded - - partially_refunded - Invoice: - type: object - properties: - id: - type: string - example: 6391fd42a38e34b15b118d9b - vendorId: - type: string - example: 6384b75fc661567cd8b337b5 - merchantId: - type: string - example: 6384b75fc66156798567898a - currency: - type: string - enum: - - GBP - - USD - - EUR - - CAD - example: GBP - default: GBP - totalAmount: - type: number - example: 99.5 - totalPaid: - type: number - example: 99.5 - vatAmount: - type: number - example: 19.9 - reference: - type: string - example: INV-123456 - publicUrl: - type: string - example: http://yourcompany.com/invoice.pdf - lineItems: - example: - - description: line 1 - unitPrice: 10.6 - quantity: 3 - - description: line 2 - unitPrice: 19.3 - quantity: 1 - type: array - items: - $ref: '#/components/schemas/LineItem' - invoiceObject: - type: object - description: Raw Invoice Object - example: {} - isRecurring: - type: boolean - example: false - subscriptionId: - type: string - consumer: - $ref: '#/components/schemas/InvoiceConsumer' - paymentStatus: - example: unpaid - $ref: '#/components/schemas/paymentStatus' - dueDate: - format: date-time - type: string - createdAt: - format: date-time - type: string - updatedAt: - format: date-time - type: string - external: - type: boolean - example: false - required: - - id - - vendorId - - merchantId - - currency - - totalAmount - - totalPaid - - vatAmount - - reference - - publicUrl - - lineItems - - invoiceObject - - isRecurring - - consumer - - paymentStatus - - dueDate - - createdAt - - updatedAt - - external - ListInvoice: - type: object - properties: - items: - example: - - id: 6391fd42a38e34b15b118d9b - vendorId: 6384b75fc661567cd8b337b5 - merchantId: 6384b75fc66156798567898a - currency: GBP - totalAmount: 99.5 - reference: INV-123456 - publicUrl: http://yourcompany.com/invoice.pdf - invoiceObject: {} - lineItems: - - description: line 1 - unitPrice: 10.6 - quantity: 3 - - description: line 2 - unitPrice: 19.3 - quantity: 1 - customer: - id: '1234' - email: test@gmail.com - phone: '+447975777666' - paymentStatus: unpaid - isRecurring: true - subscriptionId: '12312312' - dueDate: '2022-12-04T08:55:28.544Z' - createdAt: '2022-12-04T08:55:28.544Z' - updatedAt: '2022-12-04T08:55:28.544Z' - type: array - items: - $ref: '#/components/schemas/Invoice' - total: - example: - - count: 1 - type: array - items: - type: array - required: - - items - - total - CreateVendorInvoice: - type: object - properties: - currency: - type: string - enum: - - GBP - - USD - - EUR - - CAD - example: GBP - default: GBP - totalAmount: - type: number - example: 99.5 - totalPaid: - type: number - example: 99.5 - reference: - type: string - example: INV-1234 - vatAmount: - type: number - example: 19.9 - publicUrl: - type: string - example: http://yourcompany.com/invoice.pdf - dueDate: - format: date-time - type: string - example: '2024-01-22T10:00:00.000Z' - paymentStatus: - example: unpaid - $ref: '#/components/schemas/paymentStatus' - lineItems: - example: - - description: line 1 - unitPrice: 10.6 - quantity: 3 - - description: line 2 - unitPrice: 19.3 - quantity: 1 - type: array - items: - $ref: '#/components/schemas/LineItem' - invoiceObject: - type: object - description: Raw Invoice Object - example: {} - isRecurring: - type: boolean - example: false - subscriptionId: - type: string - batchId: - type: string - example: a90ab923-a80a-4b40-b29c-e83d94faa36c - consumer: - $ref: '#/components/schemas/InvoiceConsumer' - customer: - deprecated: true - allOf: - - $ref: '#/components/schemas/InvoiceConsumer' - paymentMethods: - type: array - example: - - directDebit - items: - type: string - enum: - - apm - - bankTransfer - - creditCard - - card - - directDebit - - taxFreeChildcare - external: - type: boolean - example: false - default: false - description: Setting the value as 'false' indicates this invoice is due to be paid/was paid with UNIPaaS and a checkout link will be created. Setting the value as 'true' indicates the invoice was paid with other payment providers orwith a direct bank transfer checkout link will not be created - metadata: - type: object - example: - product: Embedded Components - vendor: - type: object - required: - - currency - - totalAmount - - reference - - dueDate - - paymentStatus - - lineItems - - invoiceObject - - isRecurring - UpdateVendorInvoice: - type: object - properties: - currency: - type: string - enum: - - GBP - - USD - - EUR - - CAD - example: GBP - default: GBP - totalAmount: - type: number - example: 99.5 - totalPaid: - type: number - example: 99.5 - vatAmount: - type: number - example: 19.9 - publicUrl: - type: string - example: http://yourcompany.com/invoice.pdf - dueDate: - format: date-time - type: string - paymentStatus: - example: unpaid - $ref: '#/components/schemas/paymentStatus' - lineItems: - example: - - description: line 1 - unitPrice: 10.6 - quantity: 3 - - description: line 2 - unitPrice: 19.3 - quantity: 1 - type: array - items: - $ref: '#/components/schemas/LineItem' - invoiceObject: - type: object - description: Raw Invoice Object - example: {} - isRecurring: - type: boolean - example: false - subscriptionId: - type: string - batchId: - type: string - example: a90ab923-a80a-4b40-b29c-e83d94faa36c - paymentMethods: - type: array - example: - - directDebit - items: - type: string - enum: - - apm - - bankTransfer - - creditCard - - card - - directDebit - - taxFreeChildcare - required: - - currency - ConsumerCreatePayload: - type: object - properties: - name: - type: string - email: - type: string - referenceConsumer: - type: object - required: - - name - - email - - referenceConsumer - Consumer: - type: object - properties: - _id: - type: string - phone: - type: string - firstName: - type: string - lastName: - type: string - email: - type: string - shippingAddress: - type: object - billingAddress: - type: object - required: - - _id - - phone - - firstName - - lastName - - email - IConsumerPayload: - type: object - properties: - email: - type: string - IRequestMandateEmail: - type: object - properties: {} - MandateCreatePayload: - type: object - properties: - consumer: - example: - name: John Doe - email: jdoe@mail.com - reference: '123456789' - allOf: - - $ref: '#/components/schemas/IConsumerPayload' - createMandateLink: - type: boolean - example: true - sendEmail: - type: boolean - example: true - requestMandateEmailObject: - example: - subject: Mandate email subject - body: Mandate email body - allOf: - - $ref: '#/components/schemas/IRequestMandateEmail' - required: - - consumer - - createMandateLink - - sendEmail - - requestMandateEmailObject - MandateSendPayload: - type: object - properties: - subject: - type: string - body: - type: string - linkId: - type: string - consumer: - $ref: '#/components/schemas/IConsumerPayload' - required: - - subject - - body - - linkId - ISendMandateResponse: - type: object - properties: - id: - type: string - example: 64f876bb802585052e69810a - paymentOptionId: - type: string - example: 64f876bbd7f19c056cc2d186 - vendor: - type: object - example: - id: 64f85536667e220571ee26de - name: UNIPaaS - email: john.doe@example.com - merchant: - type: object - example: - id: 64c91a1aab1ece1a36922d0a - name: platform name - status: - type: string - example: sent - consumer: - type: object - example: - id: 64f876ba899e32f19970f9e0 - name: consumer - reference: '12345699' - email: consumer@gmail.com - mandateCreationFormLink: - type: string - example: OcOnYXMcFb4fo158XGZlV - createdAt: - type: string - example: '2023-09-06T12:55:23.754Z' - updatedAt: - type: string - example: '2023-09-07T08:14:54.696Z' - link: - type: object - example: - url: https://hosted.unipaas.com/consumers/64f876ba899e32f19970f9e0/OcOnYXMcFb4fo158XGZlV/mandate - required: - - id - - paymentOptionId - - vendor - - merchant - - status - - consumer - - mandateCreationFormLink - - createdAt - - updatedAt - - link - IConsumer: - type: object - properties: {} - IPaymentOption: - type: object - properties: {} - ICommitMandatePayload: - type: object - properties: - consumer: - example: - email: john.doe@gmail.com - firstName: John - lastName: Doe - middleName: A - companyName: Company - address: - formattedAddress: 2-20 Western Rd, London NW10 7LW, UK - country: GB - city: London - state: England - postCode: NW10 7LW - phone: '+44929929229' - allOf: - - $ref: '#/components/schemas/IConsumer' - paymentOption: - example: - bankAccount: - name: John Doe - bankCode: '200415' - accountNumber: '38290008' - allOf: - - $ref: '#/components/schemas/IPaymentOption' - deviceDetails: - type: object - example: - acceptHeader: text/html,application/xhtml+xml - javaEnabled: 'N' - deviceOS: Windows - browser: Google Chrome - javaScriptEnabled: 'Y' - language: en-US - colorDepth: 30 - screenHeight: 848 - screenWidth: 1312 - timeZone: -180 - userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 - deviceType: DESKTOP - ipAddress: 123.123.123.123 - mandateConsent: - type: object - example: - accepted: true - required: - - consumer - - paymentOption - - deviceDetails - PaymentProviderDto: - type: object - properties: - name: - type: string - volumeWeight: - type: number - required: - - name - PaymentRoutingOutputDto: - type: object - properties: - providers: - type: array - items: - $ref: '#/components/schemas/PaymentProviderDto' - stickiness: - type: boolean - cascade: - type: boolean - required: - - providers - PaymentRoutingRuleDto: - type: object - properties: - id: - type: string - ruleSet: - type: object - output: - $ref: '#/components/schemas/PaymentRoutingOutputDto' - priority: - type: number - title: - type: string - description: - type: string - isActive: - type: boolean - createdAt: - type: string - updatedAt: - type: string - required: - - id - - ruleSet - - output - - priority - - title - - description - - isActive - - createdAt - - updatedAt - CreatePaymentRoutingRuleDto: - type: object - properties: - ruleSet: - type: object - output: - $ref: '#/components/schemas/PaymentRoutingOutputDto' - title: - type: string - description: - type: string - isActive: - type: boolean - required: - - ruleSet - - output - - title - - description - - isActive - UpdatePaymentRoutingRuleDto: - type: object - properties: - id: - type: string - ruleSet: - type: object - output: - $ref: '#/components/schemas/PaymentRoutingOutputDto' - priority: - type: number - title: - type: string - description: - type: string - isActive: - type: boolean - createdAt: - type: string - updatedAt: - type: string diff --git a/spec/provenance.json b/spec/provenance.json deleted file mode 100644 index 1d69ba5..0000000 --- a/spec/provenance.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "sequence": 2608523274, - "sha": "86e6d5daed310253c0e2a52a83a86aca1cccbbe7", - "timestamp": "2026-06-17T13:08:27Z", - "tag": "v1.12+20260617.86e6d5d" -}