### Example HMAC Signature Verification Source: https://apidocs.payaut.com/index An example demonstrating the HMAC signature verification process using a provided API key, webhook URL, account owner code, and timestamp. It shows the expected concatenated string and the resulting Base64 encoded HMAC signature. ```text Concatenated string: "http://my-service.com/api:test account code:2023-08-21T10:56:59.849101Z" Expected HMAC Signature (Base64): tMtbhpFv/FIZqrkD75M97wrCLM2Vl381Ou+3UObpYANw8jrZGHUQxuR/2EWcx/ycZAalT4MjtXua1+EdEAgucg== ``` -------------------------------- ### 200 OK Response Sample for Get Virtual Account Source: https://apidocs.payaut.com/index Example JSON response for a successful retrieval of virtual account details. It includes the account type, code, display name, and external reference of the virtual account. ```json { "accountType": "DEFAULT", "code": "string", "displayName": "string", "extRef": "string" } ``` -------------------------------- ### Create Webhook Configuration (Request Sample) Source: https://apidocs.payaut.com/index A JSON request payload example for the 'post/v2/notification' endpoint, used to create a new webhook configuration. ```json { "isActivated": true, "type": "WEBHOOK_KYC_UPDATE", "url": "string" } ``` -------------------------------- ### Get Accounts Response Payload Example Source: https://apidocs.payaut.com/index This JSON payload illustrates the structure of the response when fetching virtual accounts associated with an account holder. It includes pagination details and a list of account elements. ```json { "elements": [ { "accountType": "DEFAULT", "code": "string", "displayName": "string", "extRef": "string" } ], "pageNumber": 0, "pageSize": 0, "totalElementCount": 0 } ``` -------------------------------- ### Get Split Payment Request (HTTP) Source: https://apidocs.payaut.com/index Example HTTP GET request to retrieve an existing split payment using its unique code. The code is provided as a path parameter. ```http GET /api/v1/fund/split-payments/{code} HTTP/1.1 Host: api.payaut.com Authorization: Bearer ``` -------------------------------- ### Account Holder Response Sample Source: https://apidocs.payaut.com/index Example response body for a successful retrieval of account holder information. ```APIDOC ## GET /api/v1/accountholders/{accountHolderCode} ### Description Retrieves detailed information about a specific account holder. ### Method GET ### Endpoint https://api.payaut.com/api/v1/accountholders/{accountHolderCode} ### Parameters #### Path Parameters - **accountHolderCode** (string) - Required - System generated unique code used to identify the account holder. ### Response #### Success Response (200) - **accounts** (Array of objects) - List of accounts associated with the account holder. - **accountType** (string) - Type of the account. - **balances** (Array of objects) - Balances of the account. - **confirmed** (number) - Confirmed balance amount. - **currency** (string) - Currency of the balance. - **payout** (number) - Payout balance amount. - **pending** (number) - Pending balance amount. - **code** (string) - Unique code for the account. - **displayName** (string) - Display name of the account. - **extRef** (string) - External reference for the account. - **code** (string) - Unique code for the account holder. - **createdAt** (string) - Timestamp when the account holder was created (ISO 8601 format). - **description** (string) - Description of the account holder. - **displayName** (string) - Display name of the account holder. - **extRef** (string) - External reference for the account holder. - **externalAccounts** (Array of objects) - List of external accounts linked to the account holder. - **accountNumber** (string) - Account number. - **accountType** (string) - Type of the external account. - **apmData** (object) - Additional data for APM (Automated Payment Management). - **currency** (string) - Currency of the external account. - **displayName** (string) - Display name of the external account. - **extRef** (string) - External reference for the external account. - **paymentMethod** (string) - Payment method used for the external account. - **statement** (object) - Statement details for the external account. - **data** (string) - Statement data. - **issuedAt** (string) - Date the statement was issued. - **legalEntity** (object) - Information about the legal entity (individual or organization). - **address** (object) - Address details. - **addition** (string) - Additional address information. - **city** (string) - City. - **country** (string) - Country. - **houseNumber** (string) - House number. - **state** (string) - State or province. - **street** (string) - Street name. - **zipcode** (string) - Postal code. - **dateOfBirth** (string) - Date of birth (ISO 8601 format). - **email** (string) - Email address. - **firstName** (string) - First name. - **indirectControlThrough** (string) - Information about indirect control. - **kycMessage** (string) - KYC (Know Your Customer) message. - **kycStatus** (string) - KYC status. - **lastName** (string) - Last name. - **legalForm** (string) - Legal form of the entity (e.g., 'organization'). - **legalName** (string) - Legal name of the entity. - **nationality** (string) - Nationality. - **phone** (string) - Phone number. - **placeOfBirth** (object) - Place of birth details. - **city** (string) - City. - **country** (string) - Country. - **state** (string) - State or province. - **registrationNumber** (string) - Registration number. - **taxNumber** (string) - Tax number. - **type** (string) - Type of legal entity (e.g., 'PRIVATE_COMPANY'). - **status** (object) - Status of the account holder. - **code** (string) - Status code (e.g., 'ACTIVE'). - **reason** (string) - Reason for the status. - **tier** (string) - Tier of the account holder (e.g., 'LIGHT_KYC'). #### Response Example ```json { "accounts": [ { "accountType": "DEFAULT", "balances": [ { "confirmed": 0, "currency": "EUR", "payout": 0, "pending": 0 } ], "code": "string", "displayName": "string", "extRef": "string" } ], "code": "string", "createdAt": "2019-08-24T14:15:22Z", "description": "string", "displayName": "string", "extRef": "string", "externalAccounts": [ { "accountNumber": "string", "accountType": "string", "apmData": {}, "currency": "EUR", "displayName": "string", "extRef": "string", "paymentMethod": "string", "statement": { "data": "string", "issuedAt": "2019-08-24" } } ], "legalEntity": { "address": { "addition": "string", "city": "string", "country": "string", "houseNumber": "string", "state": "string", "street": "string", "zipcode": "string" }, "dateOfBirth": "2019-08-24T14:15:22Z", "email": "string", "firstName": "string", "indirectControlThrough": "string", "kycMessage": "string", "kycStatus": "MISSING_DATA", "lastName": "string", "legalForm": "organization", "legalName": "string", "nationality": "string", "phone": "string", "placeOfBirth": { "city": "string", "country": "string", "state": "string" }, "registrationNumber": "string", "taxNumber": "string", "type": "PRIVATE_COMPANY" }, "status": { "code": "ACTIVE", "reason": "string" }, "tier": "LIGHT_KYC" } ``` #### Error Responses - **401 Unauthorized**: No valid bearer token provided. - **403 Forbidden**: The bearer token doesn't have permissions to perform the request. - **404 Not Found**: The requested resource doesn't exist. - **500 Server Error**: Something went wrong on Nuvei for platforms end. ``` -------------------------------- ### GET /v2/onboarding/accountholder/{accountHolderCode}/generate-url Source: https://apidocs.payaut.com/index Generates a unique URL for a hosted onboarding form page for a specific account holder. This URL allows sellers to provide KYC information. ```APIDOC ## GET /v2/onboarding/accountholder/{accountHolderCode}/generate-url ### Description Generates a unique URL for a hosted onboarding form page for a specific account holder. This URL allows sellers to provide KYC information. ### Method GET ### Endpoint `/v2/onboarding/accountholder/{accountHolderCode}/generate-url` ### Parameters #### Path Parameters - **accountHolderCode** (string) - Required - The unique code of the account holder for whom the URL is generated. #### Query Parameters - **redirectUrl** (string) - Optional - The URL to redirect to after the form submission. - **expirationTime** (integer) - Optional - The time in minutes before the generated URL expires. Default is 48 hours (2880 minutes), maximum is 2 weeks (20160 minutes). ### Response #### Success Response (200) - **hostedOnboardingUrl** (string) - The generated unique URL for the hosted onboarding form. #### Response Example ```json { "hostedOnboardingUrl": "https://example.com/onboarding?token=abc123xyz" } ``` ``` -------------------------------- ### Webhook Signature Verification Source: https://apidocs.payaut.com/index Instructions and an example for verifying HMAC signatures of incoming webhooks from Payaut. ```APIDOC ## Webhook Signature Verification To verify HMAC Signatures of incoming webhooks, follow these steps: ### Steps 1. **Prepare Data String**: Concatenate the webhook URL, account owner code, and timestamp in the following format: ``` _data_ = _webhookUrl_ + ":" + _accountOwnerCode_ + ":" + _timestamp_ ``` 2. **Create HMAC Signature**: Compute the HMAC signature using the provided API key (acting as the secret key) and the prepared data string from step one. Use the HmacSHA512 algorithm. 3. **Base64 Encode**: Transform the computed HMAC signature into a Base64 encoded string. 4. **Compare Signatures**: Compare the Base64 encoded signature you generated with the signature received in the webhook headers to ensure they match. ### Example Given: * **API Key**: `my_super_secret_key` * **Webhook URL**: `http://my-service.com/api` * **Received Timestamp Header (`x-timestamp`)**: `2023-08-21T10:56:59.849101Z` * **Received Webhook Body**: ```json { "accountOwnerCode": "test account code", "payoutStatus": "REJECTED", "payoutCode": null, "payoutMessage": "Payout was rejected." } ``` **Verification Process**: 1. **Concatenated String**: `http://my-service.com/api:test account code:2023-08-21T10:56:59.849101Z` 2. **HMAC-SHA512 Hash**: Hash the concatenated string using the API key `my_super_secret_key`. 3. **Base64 Encode**: Encode the resulting hash to Base64. **Expected Resulting Signature**: `tMtbhpFv/FIZqrkD75M97wrCLM2Vl381Ou+3UObpYANw8jrZGHUQxuR/2EWcx/ycZAalT4MjtXua1+EdEAgucg==` ``` -------------------------------- ### Create Split Payment Response (JSON) Source: https://apidocs.payaut.com/index Example JSON response for a successful split payment creation. This mirrors the request structure but includes any system-generated fields or confirmations. ```json { "code": "string", "currency": "EUR", "description": "string", "extProcessedAt": "2019-08-24T14:15:22Z", "extRef": "string", "items": [ { "accountCode": "string", "amount": 0, "code": "string", "description": "string", "extRef": "string", "items": [ { } ], "label": "COMMISSION", "originalExtRef": "string", "type": "GROUP" } ], "paymentMethod": "string", "paymentProcessor": "ADYEN", "pspExtRef": "string", "totalAmount": 0 } ``` -------------------------------- ### Generate Onboarding URL Response Sample (JSON) Source: https://apidocs.payaut.com/index This is a sample JSON response for the generate-url endpoint, indicating the expiration time and the generated URL. It's used to redirect users to the onboarding process. ```json { "expireAt": "2019-08-24T14:15:22Z", "url": "string" } ``` -------------------------------- ### List Webhook Configurations (Response Sample) Source: https://apidocs.payaut.com/index A JSON response sample for the 'get/v2/notification' endpoint, which returns a list of configured webhook URLs for different types. ```json [ { "divisionCode": "string", "id": 0, "isActivated": true, "type": "WEBHOOK_KYC_UPDATE", "url": "string" } ] ``` -------------------------------- ### Create External Account Response Sample (200 OK) Source: https://apidocs.payaut.com/index Example JSON response for a successful creation (200 OK) of an external account. It mirrors much of the request payload but includes additional fields like 'code', 'kycStatus', and 'selected'. ```json { "acceptOtherCurrencies": true, "accountNumber": "string", "accountType": "string", "allowedOtherCurrencyCodes": [ "string" ], "apmData": { }, "code": "string", "currency": "EUR", "description": "string", "displayName": "string", "extRef": "string", "kycMessage": "string", "kycStatus": "MISSING_DATA", "selected": true, "statement": { "data": "string", "issuedAt": "2019-08-24" } } ``` -------------------------------- ### Create Webhook Configuration (Response Sample) Source: https://apidocs.payaut.com/index A JSON response sample for the 'post/v2/notification' endpoint upon successful creation of a webhook configuration. ```json { "divisionCode": "string", "id": 0, "isActivated": true, "type": "WEBHOOK_KYC_UPDATE", "url": "string" } ``` -------------------------------- ### Get Balance Transfer Source: https://apidocs.payaut.com/index Get a single balance transfer by its code. ```APIDOC ## Get Balance Transfer ### Description Get a single balance transfer by its code. ### Method GET ### Endpoint /v2/fund/balance/transfer/{code} ### Path Parameters - **code** (string) - Required - The code of the balance transfer to get. ### Responses *Success Response (200) and Error Responses similar to List Balance Transfers would be applicable here, detailing the specific balance transfer object or error.* ``` -------------------------------- ### Get Division Configuration Source: https://apidocs.payaut.com/index Retrieves the current division configuration for payouts. ```APIDOC ## Get the division configuration ### Description Retrieves the division configuration. ### Method GET ### Endpoint /v2/fund/payout-config/own ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **frequency** (string) - The frequency of payout generation (e.g., cron expression). - **minimumAmount** (integer) - The minimum amount for payouts. - **refundPeriod** (integer) - The refund period in days. - **type** (string) - The type of payout configuration (MANUAL or SCHEDULED). #### Response Example ```json { "frequency": "string", "minimumAmount": 0, "refundPeriod": 0, "type": "MANUAL" } ``` ``` -------------------------------- ### POST /api/v3/onboarding/accountholder/{accountHolderCode}/generate-url Source: https://apidocs.payaut.com/index Generates a URL for onboarding an account holder. This URL can be used to initiate the account holder onboarding process. ```APIDOC ## POST /api/v3/onboarding/accountholder/{accountHolderCode}/generate-url ### Description Generates a URL for onboarding an account holder. This URL can be used to initiate the account holder onboarding process. ### Method POST ### Endpoint https://api.payaut.com/api/v3/onboarding/accountholder/{accountHolderCode}/generate-url ### Parameters #### Path Parameters - **accountHolderCode** (string) - Required - The unique identifier for the account holder. ### Request Body This endpoint does not require a request body. ### Response #### Success Response (200) - **expireAt** (string) - The expiration date and time of the generated URL. - **url** (string) - The generated onboarding URL. #### Response Example ```json { "expireAt": "2019-08-24T14:15:22Z", "url": "string" } ``` ``` -------------------------------- ### GET /api/v1/fund/payout-requests Source: https://apidocs.payaut.com/index Lists all payout requests with optional filtering and pagination. ```APIDOC ## GET /api/v1/fund/payout-requests ### Description Lists all payout requests with optional filtering and pagination. ### Method GET ### Endpoint https://api.payaut.com/api/v1/fund/payout-requests ### Parameters #### Path Parameters None #### Query Parameters - **_asc** (boolean) - Optional - Indicates if results should be ordered in ascending order. - **_from** (string) - Optional - The initial date for querying (format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX). - **_orderBy** (string) - Optional - The criteria for ordering results (e.g., 'createdAt'). - **_pageNumber** (integer) - Optional - The specific page number to retrieve (starts from 0). - **_pageSize** (integer) - Optional - The number of results per page (max 500). - **_status** (string) - Optional - Enum: "WAITING", "ACCEPTED", "RETURNED", "FAILED", "PROCESSED", "CANCELLED". Filters payout requests by status. - **_to** (string) - Optional - The final date for querying (format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX). ### Request Example ``` GET /api/v1/fund/payout-requests?_pageSize=10&_status=WAITING ``` ### Response #### Success Response (200) - **elements** (array) - An array of payout request objects. - **accountCode** (string) - The code of the associated account. - **amount** (integer) - The payout amount. - **code** (string) - The unique code for the payout request. - **createdAt** (string) - The timestamp when the payout request was created (ISO 8601 format). - **description** (string) - A description for the payout. - **externalAccountCode** (string) - The external account code if applicable. - **processAt** (string) - The timestamp when the payout was processed (ISO 8601 format). - **status** (string) - The current status of the payout request. - **pageNumber** (integer) - The current page number. - **pageSize** (integer) - The number of elements per page. - **totalElementCount** (integer) - The total number of payout requests. #### Response Example ```json { "elements": [ { "accountCode": "acc_789", "amount": 500, "code": "payout_xyz", "createdAt": "2023-10-27T10:00:00Z", "description": "Partial payout", "externalAccountCode": "ext_abc", "processAt": "2023-10-27T11:00:00Z", "status": "PROCESSED" } ], "pageNumber": 0, "pageSize": 10, "totalElementCount": 1 } ``` ``` -------------------------------- ### Generate Hosted Onboarding URL Source: https://apidocs.payaut.com/index This endpoint generates a unique URL for a seller's hosted onboarding form. It requires the account holder code and optionally accepts a redirect URL and expiration time for the generated link. ```json { "accountHolderCode": "string", "redirectUrl": "string", "expirationTime": 12345 } ``` -------------------------------- ### GET /v2/notification Source: https://apidocs.payaut.com/index Retrieves a list of all configured webhook URLs for different notification types. ```APIDOC ## Get your webhook configurations In case you need to list your configurations, this endpoint will return to you a list with all your configured URLs for each type. ### Method GET ### Endpoint `/v2/notification` ### Base URL `https://api.payaut.com/api` ### Responses #### Success Response (200) - **Content-Type**: `application/json` **Response Body Example**: ```json [ { "divisionCode": "string", "id": 0, "isActivated": true, "type": "WEBHOOK_KYC_UPDATE", "url": "string" } ] ``` #### Error Response (500) - **Description**: Server Error | Something went wrong on Nuvei for platforms end. ``` -------------------------------- ### GET /api/v1/fund/payout-requests/{code} Source: https://apidocs.payaut.com/index Retrieves a specific payout request using its unique code. ```APIDOC ## GET /api/v1/fund/payout-requests/{code} ### Description Retrieves a specific payout request using its unique code. ### Method GET ### Endpoint https://api.payaut.com/api/v1/fund/payout-requests/{code} ### Parameters #### Path Parameters - **code** (string) - Required - The code of the payout request to retrieve. #### Query Parameters None #### Request Body None ### Request Example ``` GET /api/v1/fund/payout-requests/payout_xyz ``` ### Response #### Success Response (200) - **accountCode** (string) - The code of the associated account. - **amount** (integer) - The payout amount. - **code** (string) - The unique code for the payout request. - **createdAt** (string) - The timestamp when the payout request was created (ISO 8601 format). - **description** (string) - A description for the payout. - **externalAccountCode** (string) - The external account code if applicable. - **processAt** (string) - The timestamp when the payout was processed (ISO 8601 format). - **status** (string) - The current status of the payout request. #### Response Example ```json { "accountCode": "acc_789", "amount": 500, "code": "payout_xyz", "createdAt": "2023-10-27T10:00:00Z", "description": "Partial payout", "externalAccountCode": "ext_abc", "processAt": "2023-10-27T11:00:00Z", "status": "PROCESSED" } ``` ``` -------------------------------- ### 200 OK Response Sample for List External Accounts Source: https://apidocs.payaut.com/index Example JSON response for a successful listing of external accounts. It contains an array of external account objects, each with details like account number, type, currency, and KYC status, along with pagination information. ```json { "elements": [ { "acceptOtherCurrencies": true, "accountNumber": "string", "accountType": "string", "allowedOtherCurrencyCodes": [ "string" ], "apmData": { }, "code": "string", "currency": "EUR", "description": "string", "displayName": "string", "extRef": "string", "kycMessage": "string", "kycStatus": "MISSING_DATA", "selected": true, "statement": { "data": "string", "issuedAt": "2019-08-24" } } ], "pageNumber": 0, "pageSize": 0, "totalElementCount": 0 } ``` -------------------------------- ### GET /v1/fund/split-refunds/{code} Source: https://apidocs.payaut.com/index Retrieves an existing refund split using its unique code. ```APIDOC ## GET /v1/fund/split-refunds/{code} ### Description Retrieves an existing refund split. You need to provide the code that was generated and returned during the creation of this particular refund split. ### Method GET ### Endpoint https://api.payaut.com/api/v1/fund/split-refunds/{code} ### Parameters #### Path Parameters - **code** (string) - Required - The split code generated when a refund split is created ### Response #### Success Response (200) - **code** (string) - Description - **description** (string) - Description - **extProcessedAt** (string) - Description - **extRef** (string) - Description - **items** (Array of objects) - Description - **pspMutationExtRef** (string) - Description - **totalAmount** (integer) - Description #### Response Example ```json { "code": "string", "description": "string", "extProcessedAt": "2019-08-24T14:15:22Z", "extRef": "string", "items": [ { "accountCode": "string", "amount": 0, "code": "string", "description": "string", "extRef": "string", "items": [ {} ], "label": "COMMISSION", "originalExtRef": "string", "type": "GROUP" } ], "pspMutationExtRef": "string", "totalAmount": 0 } ``` ``` -------------------------------- ### GET /v2/notification/{configurationId} Source: https://apidocs.payaut.com/index Retrieves the details of a specific webhook configuration using its unique ID. ```APIDOC ## Get single webhook information In case you need a single webhook information, you can use this endpoint. It will return to you the webhook that was defined on the endpoint. ### Method GET ### Endpoint `/v2/notification/{configurationId}` ### Base URL `https://api.payaut.com/api` ### Path Parameters | Parameter | Required | Type | Description | |-------------------|----------|---------|---------------------------------| | `configurationId` | Yes | integer | Numeric ID of webhook configuration | ### Responses #### Success Response (200) - **Content-Type**: `application/json` **Response Body Example**: ```json { "divisionCode": "string", "id": 0, "isActivated": true, "type": "WEBHOOK_KYC_UPDATE", "url": "string" } ``` #### Error Response (500) - **Description**: Server Error | Something went wrong on Nuvei for platforms end. ``` -------------------------------- ### GET /v1/accountholders/{accountHolderCode}/externalaccounts Source: https://apidocs.payaut.com/index Lists all external accounts associated with a specific account holder. ```APIDOC ## GET /v1/accountholders/{accountHolderCode}/externalaccounts ### Description Lists all external accounts associated with a specific account holder. ### Method GET ### Endpoint `https://api.payaut.com/api/v1/accountholders/{accountHolderCode}/externalaccounts` ### Parameters #### Path Parameters - **accountHolderCode** (string) - Required - System generated unique code used to identify and modify that account holder #### Query Parameters - **_fragments** (string) - Optional - Fragments are used to access detailed data about an account holder. Supported values: `extacc`, `docs`, `accounts`, `ubo`, `balances`, `salesprofile`. - **_pageNumber** (integer) - Optional - The specific page number to retrieve. Defaults to 0. - **_pageSize** (integer) - Optional - The number of results to retrieve in a page. Max is 500. - **_sort** (string) - Optional - The request sorting of the page elements. Possible values: `asc`, `desc`. ### Responses #### Success Response (200) - **elements** (array) - A list of external accounts. - **acceptOtherCurrencies** (boolean) - Indicates if other currencies are accepted. - **accountNumber** (string) - The account number. - **accountType** (string) - The type of the account. - **allowedOtherCurrencyCodes** (array) - List of allowed currency codes. - **apmData** (object) - APM data for the external account. - **code** (string) - The unique code of the external account. - **currency** (string) - The currency of the account (e.g., "EUR"). - **description** (string) - A description for the external account. - **displayName** (string) - The display name of the external account. - **extRef** (string) - The external reference for the external account. - **kycMessage** (string) - KYC status message. - **kycStatus** (string) - The KYC status (e.g., "MISSING_DATA"). - **selected** (boolean) - Indicates if the account is selected. - **statement** (object) - Bank statement details. - **data** (string) - Statement data. - **issuedAt** (string) - Date the statement was issued. - **pageNumber** (integer) - The current page number. - **pageSize** (integer) - The number of results per page. - **totalElementCount** (integer) - The total number of elements available. #### Response Example ```json { "elements": [ { "acceptOtherCurrencies": true, "accountNumber": "string", "accountType": "string", "allowedOtherCurrencyCodes": [ "string" ], "apmData": { }, "code": "string", "currency": "EUR", "description": "string", "displayName": "string", "extRef": "string", "kycMessage": "string", "kycStatus": "MISSING_DATA", "selected": true, "statement": { "data": "string", "issuedAt": "2019-08-24" } } ], "pageNumber": 0, "pageSize": 0, "totalElementCount": 0 } ``` #### Error Responses - **400** Bad Request: The server cannot or will not process the request due to a client error. - **401** Unauthorized: No valid bearer token provided. - **402** Request Failed: The parameters were valid but the request failed. - **403** Forbidden: The bearer token doesn't have permissions to perform the request. - **404** Not Found: The requested resource doesn't exist. - **500** Server Error: Something went wrong on Nuvei for platforms end. ``` -------------------------------- ### Account Holder Payout Configuration JSON Response Sample Source: https://apidocs.payaut.com/index Example JSON response structure for account holder payout configurations, indicating frequency, minimum payout amount, refund period, and payout type. ```JSON { "frequency": "string", "minimumAmount": 0, "refundPeriod": 0, "type": "MANUAL" } ``` -------------------------------- ### List Payout Requests Response Sample (JSON) Source: https://apidocs.payaut.com/index This JSON structure outlines a successful response (200 OK) for listing payout requests. It includes an array of payout request items, each with details like amount, status, and seller information, along with pagination metadata. ```json { "items": [ { "amount": 0, "code": "string", "createdAt": "2019-08-24T14:15:22Z", "iban": "string", "seller": { "amount": 0, "code": "string", "name": "string" }, "sourceCurrency": "USD", "status": "WAITING", "targetCurrency": "AUD", "virtualAccountCode": "string" } ], "pagination": { "limit": 0, "page": 0, "total": 0 } } ``` -------------------------------- ### GET /v2/fund/payout-config/default Source: https://apidocs.payaut.com/index Retrieves the default payout configuration. This configuration is applied to all virtual accounts unless overridden. ```APIDOC ## GET /v2/fund/payout-config/default ### Description Retrieves the default payout configuration. ### Method GET ### Endpoint https://api.payaut.com/api/v2/fund/payout-config/default ### Response #### Success Response (200) - **frequency** (string) - The payout frequency. - **minimumAmount** (integer) - The minimum payout amount. - **refundPeriod** (integer) - The refund period in days. - **type** (string) - The payout configuration type. #### Response Example ```json { "frequency": "string", "minimumAmount": 0, "refundPeriod": 0, "type": "MANUAL" } ``` ``` -------------------------------- ### Get Account Holder Payout Configuration Source: https://apidocs.payaut.com/index Retrieves the current payout configuration for a specific account holder. ```APIDOC ## GET /v2/fund/payout-config/account/{virtualAccountCode} ### Description Retrieves the account holder payout configuration. ### Method GET ### Endpoint /v2/fund/payout-config/account/{virtualAccountCode} ### Parameters #### Path Parameters - **virtualAccountCode** (string) - Required - System generated unique code assigned to the virtual account ### Response #### Success Response (200) OK #### Error Responses - **400** Bad Request: The server cannot or will not process the request due to something that is perceived to be a client error. This is often due to the formatting of the request itself (e.g. it should be in JSON encoding). - **401** Unauthorized: No valid bearer token provided. - **402** Request Failed: The parameters were valid but the request failed. - **403** Forbidden: The bearer token doesn't have permissions to perform the request. - **409** Conflict: The request conflicts with another entity in the system. Often due to an already existing external reference. - **422** Unprocessable Entity: The request was unacceptable, often due to missing a required parameter. The client should not repeat this request without modification. ### Response Example (200) ```json { "frequency": "string", "minimumAmount": 0, "refundPeriod": 0, "type": "MANUAL" } ``` ``` -------------------------------- ### Create Balance Transfer API Request Example Source: https://apidocs.payaut.com/index This JSON snippet shows the required payload structure for creating a balance transfer. It includes essential fields like amount, currency, source and destination account codes, and an idempotency key. ```json { "amount": 0, "currency": "USD", "description": "string", "fromAccountCode": "string", "idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1", "toAccountCode": "string", "type": "INVOICE" } ``` -------------------------------- ### Response Sample for Creating UBO (JSON) Source: https://apidocs.payaut.com/index This JSON structure represents a successful response (200 OK) when creating an ultimate beneficial owner. It contains a list of elements, each detailing a UBO with their associated information. ```json { "elements": [ { "address": { "addition": "string", "city": "string", "country": "string", "houseNumber": "string", "state": "string", "street": "string", "zipcode": "string" }, "code": "string", "createdAt": "2019-08-24T14:15:22Z", "dateOfBirth": "2019-08-24T14:15:22Z", "documents": [ { "code": "string", "expireAt": "2019-08-24", "extRef": "string", "issuedAt": "2019-08-24", "issuerCountry": "string", "number": "string", "photos": [ { "code": "string", "data": "string", "extRef": "string", "page": "FRONT" } ], "type": "ID" } ], "extRef": "string", "firstName": "string", "lastName": "string", "legalName": "string", "nationality": "string", "type": "CEO" } ], "pageNumber": 0, "pageSize": 0, "totalElementCount": 0 } ``` -------------------------------- ### GET /v1/accountholders/{accountHolderCode}/accounts/{virtualAccountCode} Source: https://apidocs.payaut.com/index Retrieves details for a specific virtual account associated with an account holder. ```APIDOC ## GET /v1/accountholders/{accountHolderCode}/accounts/{virtualAccountCode} ### Description Retrieves details for a specific virtual account associated with an account holder. ### Method GET ### Endpoint `https://api.payaut.com/api/v1/accountholders/{accountHolderCode}/accounts/{virtualAccountCode}` ### Parameters #### Path Parameters - **accountHolderCode** (string) - Required - System generated unique code used to identify and modify that account holder - **virtualAccountCode** (string) - Required - System generated unique code assigned to the virtual account ### Responses #### Success Response (200) - **accountType** (string) - The type of the account. - **code** (string) - The unique code of the account. - **displayName** (string) - The display name of the account. - **extRef** (string) - The external reference of the account. #### Response Example ```json { "accountType": "DEFAULT", "code": "string", "displayName": "string", "extRef": "string" } ``` #### Error Responses - **400** Bad Request: The server cannot or will not process the request due to a client error. - **401** Unauthorized: No valid bearer token provided. - **402** Request Failed: The parameters were valid but the request failed. - **403** Forbidden: The bearer token doesn't have permissions to perform the request. - **404** Not Found: The requested resource doesn't exist. - **500** Server Error: Something went wrong on Nuvei for platforms end. ```