Worldpay Batch payout API

Make up to 500 payouts in one batch using our Account Payouts endpoint.

Operations 1

POST /accountPayouts/batch Make a batch payout #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/worldpay-batch-payout-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

worldpay-batch-payout-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 3DS 3DS actions Batch payout API
  description: "Protect your business and meet regulatory requirements by verifying your customer's identity.\n\n__Authentication header__\n  ```\n    Authorization: {your_credentials}\n  ```\nReplace `{your_credentials}` with your base64-encoded Basic Auth username and password given to your by your Worldpay Implementation Manager.\n<br /> <br />\n\nYou **must** use the `Authorization` header for any request you send to our 3DS API.\n\n__Accept/Content-Type header__\n  ```\n  Content-Type: application/vnd.worldpay.verifications.customers-v3.hal+json\n  Accept: application/vnd.worldpay.verifications.customers-v3.hal+json\n  ```\nWe use the Accept header to identify which version of our API you are using. You must use the Accept header for any request you send to our 3DS API.\n\nWe require the Content-Type header if the request you're sending includes a request body, and if the HTTP method is a `POST` or a `PUT`.\n<br /><br />\n\n\n__DNS whitelisting__  \nWhitelist the following URLs:\n* `https://try.access.worldpay.com/`\n* `https://access.worldpay.com/`\n\nPlease ensure you use DNS whitelisting, not explicit IP whitelisting."
  version: '3'
  x-metadata:
    category:
    - 3DS
    - SCA Exemptions
    business:
    - Enterprise
    catalog-list: true
    generated: false
servers:
- url: https://try.access.worldpay.com
  description: Test (Try)
- url: https://access.worldpay.com
  description: Live
security:
- BasicAuth: []
tags:
- name: Batch payout
  description: Make up to 500 payouts in one batch using our Account Payouts endpoint.
paths:
  /accountPayouts/batch:
    post:
      tags:
      - Batch payout
      summary: Make a batch payout
      operationId: PostBatchPayout
      parameters:
      - name: WP-CorrelationId
        in: header
        description: A unique identifier used to trace and correlate a request across systems. Must be a GUID.
        schema:
          type: string
        example: 15cd16b2-7b82-41cb-9b11-21be9dacad88
      - name: WP-Timestamp
        in: header
        schema:
          type: string
          default: '1755681620'
      - name: WP-Api-Version
        in: header
        description: The version of the API you are using.
        schema:
          type: string
          default: '2025-01-01'
        example: '2025-01-01'
      - name: Idempotency-Key
        in: header
        description: A unique key to identify the request. This is used to prevent duplicate processing of the same request.
        schema:
          maximum: 35
          minimum: 1
          type: string
          default: mustBeUnique12345
        example: mustBeUnique12345
      - name: Content-Type
        in: header
        description: Specifies the media type of the resource or the data being sent. This field informs the server or client how to interpret the body of the request or response.
        schema:
          type: string
          default: application/json
        example: application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V2.Models.PayoutBatchRequest'
            examples:
              Payout Customers:
                value:
                  merchant:
                    entity: default
                  payouts:
                  - instruction:
                      value:
                        sourceCurrency: EUR
                        sourceAmount: 0
                        targetCurrency: EUR
                        targetAmount: 199.99
                      narrative:
                        line1: Testing invalid bank details
                      countryCode: GB
                      beneficiaryBankDetails:
                        iban: GB41CITI18500818404062
                        bankName: Citibank London
                      parties:
                      - partyType: beneficiary
                        personalDetails:
                          type: Company
                          companyName: Worldpay AP Ltd
                        address:
                          address1: 25 Walbrook
                          city: London
                          postalCode: EC4N 8AF
                          countryCode: GB
                    transactionReference: ABC123456
                  - instruction:
                      value:
                        sourceCurrency: EUR
                        sourceAmount: 0
                        targetCurrency: EUR
                        targetAmount: 199.99
                      narrative:
                        line1: Testing invalid bank details
                      countryCode: GB
                      beneficiaryBankDetails:
                        iban: GB41CITI18500818401243
                        bankName: Citibank London
                      parties:
                      - partyType: beneficiary
                        personalDetails:
                          type: Company
                          companyName: Worldpay Ltd
                        address:
                          address1: The Science Park
                          city: Cambridge
                          postalCode: CB4 0WE
                          countryCode: GB
                    transactionReference: ABC123456-invalidBankDetails
              Marketplaces:
                value:
                  merchant:
                    entity: default
                  payouts:
                  - instruction:
                      value:
                        sourceCurrency: GBP
                        sourceAmount: 199.99
                        targetCurrency: GBP
                        targetAmount: 0
                      countryCode: US
                      beneficiaryBankDetails:
                        payoutInstrumentReference: BeneficiaryBankGBP
                    transactionReference: ABC123456
                  - instruction:
                      value:
                        sourceCurrency: GBP
                        sourceAmount: 199.99
                        targetCurrency: GBP
                        targetAmount: 0
                      countryCode: US
                      beneficiaryBankDetails:
                        payoutInstrumentReference: BeneficiaryBankGBP_2
                    transactionReference: ABC123456-invalidBankDetails
      responses:
        '200':
          description: OK response if a request with the same credentials has already been submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V2.Models.BatchIdentifier'
              example:
                entity: default
                idempotencyKey: mustBeUnique12345
        '202':
          description: ACCEPTED response if request body has no validation errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V2.Models.PayoutBatchUniqueIdAndUbrV3'
              example:
              - transactionReference: '202401'
                payoutRequestId: PN000CYV
              - transactionReference: '202402'
                payoutRequestId: PN000CYW
              - transactionReference: '202403'
                payoutRequestId: PN000CYX
              - transactionReference: '202404'
                payoutRequestId: PN000CYY
              - transactionReference: '202405'
                payoutRequestId: PN000CYZ
              - transactionReference: '202406'
                payoutRequestId: PN000CY2
              - transactionReference: '202407'
                payoutRequestId: PN000CY3
              - transactionReference: '202408'
                payoutRequestId: PN000CY4
              - transactionReference: '202409'
                payoutRequestId: PN000CY5
        '400':
          description: BAD REQUEST response describing request body validation errors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel'
              example:
                validationErrors:
                - jsonPath: $.payouts[0].instruction.parties[0].personalDetails.phones[0].number
                  errorName: stringIsTooLong
                  message: number must be between 1-20 digits length
                - jsonPath: $.payouts[0].instruction.parties[0].personalDetails.phones[0].prefix
                  errorName: stringIsTooLong
                  message: prefix must be between 1-3 digits length
                - jsonPath: $.payouts[1].instruction.parties[0].personalDetails.phones[0].number
                  errorName: stringIsTooLong
                  message: number must be between 1-20 digits length
                - jsonPath: $.payouts[1].instruction.parties[0].personalDetails.phones[0].prefix
                  errorName: stringIsTooLong
                  message: prefix must be between 1-3 digits length
                errorName: bodyDoesNotMatchSchema
                message: There was an error in the request
        '401':
          description: UNAUTHORIZED Your call is unauthorized, please contact our support team
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel'
              example:
                errorName: unauthorized
                message: Invalid token
        '403':
          description: FORBIDDEN Your call is unauthorized, please contact our support team
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel'
              example:
                errorName: forbidden
                message: Forbidden. Unauthorised request
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel'
              example:
                errorName: null
                message: Unexpected Issue. Please try again
components:
  schemas:
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.BankAddress:
      type: object
      properties:
        city:
          maximum: 35
          minimum: 1
          type:
          - string
          - 'null'
          description: City of the address.
        state:
          maximum: 35
          minimum: 2
          type:
          - string
          - 'null'
          description: State of the address.
        countryCode:
          maximum: 2
          minimum: 2
          type:
          - string
          - 'null'
          description: <a href="/products/reference/supported-countries-currencies#iso-country-codes">ISO 3166-1 Alpha-2 country code</a> of the address.
        address1:
          maximum: 35
          minimum: 1
          type:
          - string
          - 'null'
          description: Address line 1.
        address2:
          maximum: 35
          minimum: 1
          type:
          - string
          - 'null'
          description: Address line 2.
        postalCode:
          maximum: 20
          minimum: 1
          type:
          - string
          - 'null'
          description: PostalCode of the address.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V2.Models.BatchPayout:
      required:
      - transactionReference
      type: object
      properties:
        instruction:
          $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.PayoutInstruction'
        transactionReference:
          maximum: 50
          minimum: 6
          type: string
          description: Reference for the payout request provided by you. Must be unique for all items within a batch request. We recommend you specify a value which is unique across all of your payouts to ensure you receive the right data throughout the payout lifecycle. <a href="/products/marketplaces/coverage/bank/additionalinfo#special-characters">Special characters</a> are allowed.
        merchant:
          $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Merchant'
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V2.Models.PayoutBatchUniqueIdAndUbrV3:
      type: object
      properties:
        transactionReference:
          type:
          - string
          - 'null'
        payoutRequestId:
          type:
          - string
          - 'null'
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Narrative:
      type: object
      properties:
        line1:
          maximum: 50
          minimum: 6
          type:
          - string
          - 'null'
          description: Reference that may appear on beneficiary statements.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.WalletDetails:
      type: object
      properties:
        walletIdentifierType:
          enum:
          - walletId
          - email
          - phoneNumber
          type: string
          description: ''
        walletIdentifier:
          maximum: 64
          minimum: 0
          type:
          - string
          - 'null'
          description: Beneficiary wallet identifier.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Phone:
      type: object
      properties:
        number:
          maximum: 20
          minimum: 1
          type:
          - string
          - 'null'
          description: Phone number of the party. Mandatory if you have provided `prefix`. Special characters are restricted.
        prefix:
          maximum: 3
          minimum: 1
          type:
          - string
          - 'null'
          description: Phone dialing country code of the party. Mandatory if you have provided `phoneNumber`. Special characters are restricted. International country calling code following ITU-T standard. Must be 1-3 digits e.g. \"44\" or \"420\"
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.PartyAddress:
      type: object
      properties:
        city:
          maximum: 35
          minimum: 1
          type:
          - string
          - 'null'
          description: City of the address.
        state:
          maximum: 35
          minimum: 2
          type:
          - string
          - 'null'
          description: State of the address.
        countryCode:
          maximum: 2
          minimum: 2
          type:
          - string
          - 'null'
          description: <a href="/products/reference/supported-countries-currencies#iso-country-codes">ISO 3166-1 Alpha-2 country code</a> of the address.
        address1:
          maximum: 35
          minimum: 1
          type:
          - string
          - 'null'
          description: Address line 1.
        address2:
          maximum: 35
          minimum: 1
          type:
          - string
          - 'null'
          description: Address line 2.
        postalCode:
          maximum: 20
          minimum: 1
          type:
          - string
          - 'null'
          description: PostalCode of the address.
        type:
          enum:
          - home
          - business
          - poBox
          - other
          type:
          - string
          - 'null'
          description: Type of party address.
        residentialStatus:
          enum:
          - resident
          - nonResident
          - other
          type:
          - string
          - 'null'
          description: Type of residency.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Merchant:
      required:
      - entity
      type: object
      properties:
        entity:
          maximum: 32
          minimum: 1
          type: string
          description: Your entity reference created as part of on-boarding. Used to route the request in Access Worldpay.
          example: default
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V2.Models.PayoutBatchRequest:
      type: object
      properties:
        merchant:
          $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Merchant'
        payouts:
          maximum: 500
          minimum: 1
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V2.Models.BatchPayout'
          description: Holds information about the individual payouts.
        notificationUrl:
          type:
          - string
          - 'null'
          description: Currently not in use.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwJsonPathErrorModel:
      type: object
      properties:
        errorName:
          type:
          - string
          - 'null'
        message:
          type:
          - string
          - 'null'
        jsonPath:
          type:
          - string
          - 'null'
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Identity:
      type: object
      properties:
        issuingInstitution:
          type:
          - string
          - 'null'
          description: Issuing institution that provided identification type. Cannot be provided if the conditional fields in the identity section are missing.
        issuingCountry:
          type: string
          description: <a href="/products/reference/supported-countries-currencies#iso-country-codes">ISO 3166-1 Alpha-2 country code</a> of identification type origin. Mandatory if `identityDocuments.type`/`identityDocuments.number` is populated.
        type:
          enum:
          - passport
          - taxId
          - nationalInsurance
          - driverLicence
          - companyVatNumber
          - citizenshipCard
          - nationalId
          - workPermit
          - employmentPass
          - studentPass
          - permanentResidentCard
          - companyRegistrationNumber
          - other
          type:
          - string
          - 'null'
          description: Type of identification. Mandatory if `identityDocuments.number` is populated.
        validFrom:
          maximum: 10
          minimum: 10
          type:
          - string
          - 'null'
          description: Identification type start date. Must be a Gregorian calendar date with ISO 8601 format YYYY-MM-DD. Cannot be provided if conditional fields in the identity section are missing.
        validTo:
          maximum: 10
          minimum: 10
          type:
          - string
          - 'null'
          description: Identification type end date. Must be a Gregorian calendar date with ISO 8601 format YYYY-MM-DD. Cannot be provided if conditional fields in the identity section are missing.
        number:
          maximum: 35
          minimum: 1
          type: string
          description: Identification number that is presented in the identification type. Mandatory if `identityDocuments.type` is populated.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V2.Models.BatchIdentifier:
      type: object
      properties:
        entity:
          type:
          - string
          - 'null'
        idempotencyKey:
          type:
          - string
          - 'null'
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Source:
      type: object
      properties:
        accountNumber:
          maximum: 16
          minimum: 16
          type:
          - string
          - 'null'
          description: Specifies which account should fund the payout, overriding the default account for your `entity`. Common uses include paying sellers from your own account (e.g. credit notes) or choosing among multiple accounts in the same currency. The account must belong to your `entity`.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.CurrencyInfo:
      required:
      - sourceCurrency
      type: object
      properties:
        sourceCurrency:
          maximum: 3
          minimum: 3
          type: string
          description: Source [currency code](/products/reference/supported-countries-currencies#currency-codes) for the payout (if different to `targetCurrency`, Foreign Exchange (FX) is applied).
        sourceAmount:
          maximum: 10
          minimum: 1
          type:
          - number
          - 'null'
          description: Source amount. If `targetAmount` is not stated, this amount is used. Must be a positive value up to 2 decimal places. <br><br> **Important:** Do not include `sourceAmount` and `targetAmount` in the same request, only send one or the other. The request will fail if both are supplied.
          format: double
        targetCurrency:
          maximum: 3
          minimum: 3
          type:
          - string
          - 'null'
          description: Target <a href="/products/reference/supported-countries-currencies#currency-codes">ISO 4217 alpha-3 currency codes</a> for the payout (if different to `sourceCurrency`, Foreign Exchange (FX) is applied).
        targetAmount:
          maximum: 10
          minimum: 1
          type:
          - number
          - 'null'
          description: Target amount. If `sourceAmount` is not specified, this amount is used. Must be a positive value up to 2 decimal places. <br><br> **Important:** Do not include `sourceAmount` and `targetAmount` in the same request, only send one or the other. The request will fail if both are supplied.
          format: double
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel:
      type: object
      properties:
        errorName:
          type:
          - string
          - 'null'
        message:
          type:
          - string
          - 'null'
        validationErrors:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwJsonPathErrorModel'
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.PersonalDetails:
      type: object
      properties:
        companyName:
          maximum: 140
          minimum: 1
          type:
          - string
          - 'null'
          description: Name of the party if not an individual. Mandatory where `type` is "company", "institution" or "government" (Government). Must not be provided when `type` is "person" or "soletrader".
        firstName:
          maximum: 50
          minimum: 1
          type:
          - string
          - 'null'
          description: First name of the party. Mandatory where `type` is "person" or "soletrader". See <a href="/products/reference/formatting#name-field-formatting-account-payouts-api">formatting rules</a>.
        middleName:
          maximum: 50
          minimum: 1
          type:
          - string
          - 'null'
          description: Middle name of the party (applicable when `type` is "person" or "soletrader"). See <a href="/products/reference/formatting#name-field-formatting-account-payouts-api">formatting rules</a>.
        lastName:
          maximum: 50
          minimum: 1
          type:
          - string
          - 'null'
          description: Last name of the party. Mandatory where `type` is "person" or "soletrader". See <a href="/products/reference/formatting#name-field-formatting-account-payouts-api">formatting rules</a>.
        fullName:
          type:
          - string
          - 'null'
          readOnly: true
        dateOfBirth:
          maximum: 10
          minimum: 10
          pattern: yyyy-MM-dd
          type:
          - string
          - 'null'
          description: Date of birth.
          example: '2024-01-01'
        email:
          type:
          - string
          - 'null'
          description: Email address of the party. This field will be available for use as part of the future enhancements to the Account Payouts API in 2025. Must be a valid email address format.
        title:
          maximum: 3
          enum:
          - mr
          - miss
          - mrs
          - ms
          - mx
          - dr
          - misc
          type:
          - string
          - 'null'
          description: Title for the person. Only supply when `type` is "person" or "sole trader".
        type:
          enum:
          - company
          - person
          - institution
          - government
          - soletrader
          - other
          type:
          - string
          - 'null'
          description: Entity description of the party, type is required when partyType is beneficiary
        phones:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Phone'
        identityDocuments:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Identity'
        dateOfIncorporation:
          maximum: 10
          minimum: 10
          pattern: yyyy-MM-dd
          type:
          - string
          - 'null'
          description: Date of the Incorporation of the Company. Not allowed if for a person or sole trader.
          example: '2024-01-01'
      additionalProperties: false
      description: Only supply either `partyReference` or `personalDetails`.
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.BankDetails:
      type: object
      description: "The bank details of the beneficiary.\n\n  **Note:** View our [bank coverage guide](/products/marketplaces/coverage/bank) for country specific requirements."
      properties:
        iban:
          maximum: 34
          minimum: 1
          type:
          - string
          - 'null'
          description: Beneficiary IBAN. You must either provide `iban` or `accountNumber`.
        branchCode:
          maximum: 35
          minimum: 1
          type:
          - string
          - 'null'
          description: Beneficiary account branch code.
        bankCode:
          maximum: 35
          minimum: 1
          type:
          - string
          - 'null'
          description: Beneficiary account bank code.
        swiftBic:
          maximum: 11
          minimum: 8
          type:
          - string
          - 'null'
          description: Beneficiary bank account SWIFT/BIC.
        bankName:
          maximum: 35
          minimum: 1
          type:
          - string
          - 'null'
          description: Beneficiary bank name.
        accountType:
          enum:
          - checking
          - savings
          - moneyMarket
          - certificateOfDeposit
          - vista
          - other
          type:
          - string
          - 'null'
          description: Type of the account.
        accountNumber:
          maximum: 64
          minimum: 0
          type:
          - string
          - 'null'
          description: Beneficiary bank account number.
        payoutInstrumentId:
          type:
          - string
          - 'null'
          description: A unique ID generated by us, holding the beneficiary bank details. You receive this in the response after successfully creating a payout instrument in our <a href="/products/parties/openapi/payout-instruments">Parties API</a>.
        payoutInstrumentReference:
          type:
          - string
          - 'null'
          description: Your reference for this `payoutInstrument`, must be unique within an entity.
        address:
          $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.BankAddress'
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.PayoutInstruction:
      required:
      - countryCode
      type: object
      properties:
        countryCode:
          maximum: 2
          minimum: 2
          type: string
          description: <a href="/products/reference/supported-countries-currencies#iso-country-codes">ISO 3166-1 Alpha-2 country code</a> of the payout destination.
        expandableKeyValuePairs:
          type:
          - object
          - 'null'
          description: JSON object of key-value pairs used to supply additional data. The keys and values that you might need to process an account payout to a specific destination, are communicated during the on-boarding process. Duplicate key names are not allowed.
        channel:
          enum:
          - ach sd
          - ach nd
          - wire
          - dom wire
          - instant
          - arbitrum
          - base
          - binance
          - ethereum
          - polygon
          - solana
          - paypal
          type:
          - string
          - 'null'
          description: Preferable channel for the payout. Multiple values can be added with a comma-separator, to indicate order of preference.
        quoteId:
          type:
          - string
          - 'null'
          description: ID of the <a href="/products/fx">FX quote</a> for the request. This must be a valid, active quote which is for the same source and target currencies as the payout request. It must have valid `intent` of "FORWARD FX" or "PAYOUT".
        scheduleDate:
          maximum: 10
          minimum: 10
          type:
          - string
          - 'null'
          description: Scheduled date of the payout request. Must be a Gregorian calendar date with ISO format 8601 YYYY-MM-DD. This field is currently not used.
        source:
          $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Source'
        beneficiaryBankDetails:
          $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.BankDetails'
        value:
          $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.CurrencyInfo'
        parties:
          type: array
          description: "The details of the party.\n\n **Note:** View our [bank coverage guide](/products/marketplaces/coverage/bank) for country specific requirements."
          items:
            $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Party'
        narrative:
          $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Narrative'
        purposeOfPayment:
          $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.PurposeOfPayment'
        transactionType:
          enum:
          - customerToCustomer
          - businessToBusiness
          - government
          - reversal
          - return
          - customerToBusiness
          - businessToCustomer
          type:
          - string
          - 'null'
          description: Type of transaction. This is mandatory for some payout routes - please check <a href="/products/marketplaces/coverage/bank">country specific requirements</a>.
        beneficiaryWalletDetails:
          $ref: '#/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.WalletDetails'
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Party:
      required:
      - partyType
      type: object
      properties:
        partyId:
          maximum: 36
          minimum: 36
          type:
          - string
          - 'null'
          description: Id of the party for the payment request. This field is currently not used.
          example: 1E016F5E-9D4A-49E7-B44C-A4C8AAE8290D
        partyType:
          enum:
          - beneficiary
          - payer
          type: string
          description: Party type.
        partyReference:
          maximum: 64
          minimum: 3
          type:
          - string
          - 'null'
          description: "Your reference for this party. Must be unique within an entity. Allowed values are a-z, A-Z, 0-9, spaces and hyphens. \n\n Only supply either `partyReference` or `personalDetails`.\n\n <b>Note:</b> Do not provide for beneficiaries, or for crypto or wallet payouts. Supply `personalDetails` instead."
        customerReference:
          maximum: 35
          minimum: 1
          type:
          - string
          - 'null'
          descript

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/worldpay/refs/heads/main/openapi/worldpay-batch-payout-api-openapi.yml