openapi: 3.0.1
info:
  title: Account Payouts
  description: "Send funds to your customer's bank accounts and search for payouts using parameters.\n\n \r\n  \r\n    __Authentication header__\r\n\r\n      ```\r\n        Authorization: {your_credentials}\r\n      ```\r\n      Replace `{your_credentials}` with your base64-encoded Basic Auth username and password given to you by your Implementation Manager.\r\n      <br /> <br />\r\n      You **must** use the `Authorization` header for any request you send to our Account Payouts API\r\n      <br /><br />\r\n      __WP-Api-Version header__\r\n      ```\r\n        WP-Api-Version: 2025-01-01\r\n      ```\r\n\r\n    We use the WP-Api-Version header to identify which version of our API you are using. \r\n    <br /><br />\r\n    __DNS whitelisting__\r\n\r\n    Whitelist the following URLs:\r\n    * `https://try.access.worldpay-bsh.securedataplatform.com/`\r\n    * `https://access.worldpay-bsh.securedataplatform.com/`\r\n\r\n    Please ensure you use DNS whitelisting, not explicit IP whitelisting. When you make a request within Access Worldpay, you should always cache the response returned."
  version: '2025-01-01'
  x-metadata:
    business:
      - Enterprise
      - Marketplaces
    catalog-list: true
    category:
      - Payouts
    generated: true
servers:
  - url: https://try.access.worldpay-bsh.securedataplatform.com
    description: Test (Try)
  - url: https://access.worldpay-bsh.securedataplatform.com
    description: Live
paths:
  /accountPayouts:
    post:
      tags:
        - Single payout
      summary: Make a single payout
      operationId: PostPayout
      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: '1234567890'
          example: '1234567890'
        - 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.Payout.V3.Models.IndividualPayout
            examples:
              SEPA:
                value:
                  merchant:
                    entity: default
                  instruction:
                    value:
                      sourceCurrency: EUR
                      sourceAmount: 0
                      targetCurrency: EUR
                      targetAmount: 199.99
                    narrative:
                      line1: PushtoAccount with Worldpay
                    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
              UK Faster Payout:
                value:
                  merchant:
                    entity: default
                  instruction:
                    value:
                      sourceCurrency: GBP
                      sourceAmount: 0
                      targetCurrency: GBP
                      targetAmount: 199.99
                    narrative:
                      line1: PushtoAccount with Worldpay
                    countryCode: GB
                    beneficiaryBankDetails:
                      accountNumber: '18404100'
                      bankCode: '185008'
                      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
              Full account payout request with payer:
                value:
                  merchant:
                    entity: default
                  instruction:
                    value:
                      sourceCurrency: GBP
                      sourceAmount: 0
                      targetCurrency: EUR
                      targetAmount: 199.99
                    narrative:
                      line1: PushtoAccount with Worldpay
                    purposeOfPayment:
                      code: WPREMT
                      description: Money Remittance
                    countryCode: GB
                    transactionType: customerToCustomer
                    quoteId: ''
                    expandableKeyValuePairs:
                      remitterSourceOfIncome: salary
                      intermediaryBankSwiftBic: BARCGB22
                    beneficiaryBankDetails:
                      accountType: checking
                      accountNumber: '12345677'
                      iban: GB41CITI18500818404062
                      branchCode: ''
                      bankCode: '185008'
                      swiftBic: CITIGB2L
                      bankName: Citibank London
                      address:
                        address1: 25 Canada Square
                        address2: ''
                        city: London
                        state: ''
                        postalCode: E14 5LB
                        countryCode: GB
                    parties:
                      - partyType: beneficiary
                        personalDetails:
                          type: Person
                          title: Mr
                          firstName: John
                          middleName: ''
                          lastName: Doe
                          dateOfBirth: '1993-12-31'
                          email: john@domain.com
                          phones:
                            - number: '7777777777'
                              prefix: '44'
                          identityDocuments:
                            - type: passport
                              number: E1122234
                              issuingInstitution: Mayor of London
                              issuingCountry: GB
                              validFrom: '2013-05-22'
                              validTo: '2014-05-21'
                        address:
                          address1: 25 Walbrook
                          address2: ''
                          city: London
                          state: ''
                          postalCode: EC4N 8AF
                          countryCode: GB
                          type: home
                          residentialStatus: resident
                      - partyType: payer
                        customerReference: Account123456
                        personalDetails:
                          type: Person
                          title: Ms
                          firstName: Maria
                          middleName: ''
                          lastName: Doe
                          dateOfBirth: '1994-05-12'
                          email: maria@domain.com
                          phones:
                            - number: '7888888888'
                              prefix: '44'
                          identityDocuments:
                            - type: passport
                              number: E1122277
                              issuingInstitution: Mayor of London
                              issuingCountry: GB
                              validFrom: '2017-06-15'
                              validTo: '2027-06-14'
                        address:
                          address1: De Entree 248
                          address2: ''
                          city: Amsterdam
                          state: ''
                          postalCode: 1101 EE
                          countryCode: NL
                          type: home
                          residentialStatus: resident
                  transactionReference: ABC123456
              US ACH:
                value:
                  merchant:
                    entity: default
                  instruction:
                    value:
                      sourceCurrency: USD
                      sourceAmount: 0
                      targetCurrency: USD
                      targetAmount: 199.99
                    narrative:
                      line1: PushtoAccount with Worldpay
                    countryCode: US
                    channel: PayPal
                    beneficiaryBankDetails:
                      accountType: checking
                      accountNumber: '00000000031378655'
                      bankCode: '021000089'
                      bankName: Citibank New York
                    parties:
                      - partyType: beneficiary
                        personalDetails:
                          type: Company
                          companyName: RealNet Payments LLC
                        address:
                          address1: 4900 W Brown Deer Road
                          city: Milwaukee
                          state: WI
                          postalCode: '53223'
                          countryCode: US
                  transactionReference: ABC123456
              Marketplace account payout request including payout instrument:
                value:
                  merchant:
                    entity: default
                  instruction:
                    value:
                      sourceCurrency: GBP
                      sourceAmount: 199.99
                      targetAmount: 0
                    countryCode: US
                    beneficiaryBankDetails:
                      payoutInstrumentReference: BeneficiaryBankGBP
                  transactionReference: ABC123456
              Wallet payout:
                value:
                  merchant:
                    entity: default
                  instruction:
                    value:
                      sourceCurrency: USD
                      sourceAmount: 0
                      targetCurrency: USD
                      targetAmount: 199.99
                    narrative:
                      line1: PushtoAccount with Worldpay
                    countryCode: US
                    beneficiaryWalletDetails:
                      type: walletId
                      walletId: '00000000031378655'
                    parties:
                      - partyType: beneficiary
                        personalDetails:
                          type: Company
                          companyName: RealNet Payments LLC
                        address:
                          address1: 4900 W Brown Deer Road
                          city: Milwaukee
                          state: WI
                          postalCode: '53223'
                          countryCode: US
                  transactionReference: ABC123456
      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.Payout.V3.Models.SuccessResponseV3
              example:
                payoutRequestId: PZ000EC4
                idempotencyKey: idopKey
                entity: default
        '202':
          description: ACCEPTED response if request body has no validation errors.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.SuccessResponseV3
              example:
                payoutRequestId: PZ000EC4
                idempotencyKey: idopKey
                entity: default
        '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: $.instruction.parties[0].personalDetails.phones[0].number
                    errorName: stringIsTooLong
                    message: number must be between 1-20 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
  /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: '1234567890'
          example: '1234567890'
        - 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: 123e4567-e89b-12d3-a456
        '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
  /accountPayouts/{payoutRequestId}:
    get:
      tags:
        - Get payouts by Payout Request ID
      summary: Retrieve payout details
      operationId: GetByPayoutRequestId
      parameters:
        - name: payoutRequestId
          in: path
          required: true
          schema:
            type: string
            description: >-
              Unique payout request ID associated with the original payout. We
              have returned this in the payout response. PN/PZ/PO prefix plus 6
              characters.
            example: PZ000N65
        - 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: '1234567890'
          example: '1234567890'
        - name: Accept
          in: header
          schema:
            type: string
            default: application/json
            example: application/json
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V3.Models.OriginalItem
              example:
                paymentId: 51a448e5-4430-ee11-b58a-005056b48b8e
                paymentDatetime: '2023-08-01T08:24:44.443Z'
                payeeName: John Smith
                sourceCurrency: ARS
                sourceAmount: 0
                targetCurrency: ARS
                targetAmount: 1.05
                paymentState: EXECUTED
                bankName: Test Bank
                bankCode: 10 02 04
                iban: GB29NWBK60161331926819
                channel: WIRE,ACH SD
                routedChannel: WIRE
                bankReference: ABCHK26
                payoutRequestId: PO000N65
                narrative: XYZ102025
                transactionReference: XYZ102025
                accountNumber: '45533882'
                swiftBic: BUKBGB22
                entity: default
                countryCode: AR
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel
              example:
                errorName: unauthorized
                message: Invalid token
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel
              example:
                errorName: Forbidden
                message: Forbidden. Unauthorized request
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel
              example:
                errorName: notFound
                message: Payment not found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel
              example:
                errorName: null
                message: An unexpected error occurred.
  /accountPayouts/events:
    get:
      tags:
        - Get payouts
      summary: Retrieve payout details
      operationId: GetByQuery
      parameters:
        - name: narrative
          in: query
          description: Reference that may appear on beneficiary statements.
          schema:
            maximum: 50
            minimum: 0
            type: string
            description: Reference that may appear on beneficiary statements.
        - name: transactionReference
          in: query
          description: Unique reference provided by you.
          schema:
            maximum: 50
            minimum: 0
            type: string
            description: Unique reference provided by you.
        - name: accountNumber
          in: query
          description: Beneficiary bank account number.
          schema:
            maximum: 50
            minimum: 0
            type: string
            description: Beneficiary bank account number.
        - name: payoutInstrumentId
          in: query
          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>.
          schema:
            type: string
            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>.
        - name: payoutInstrumentReference
          in: query
          description: >-
            A reference of the payoutInstrument created by you. This field holds
            the beneficiary bank details.
          schema:
            type: string
            description: >-
              A reference of the payoutInstrument created by you. This field
              holds the beneficiary bank details.
        - name: pageSize
          in: query
          description: >-
            Positive whole number indicating the number of payouts to return in
            each page.
          required: true
          schema:
            maximum: 499
            minimum: 1
            type: integer
            description: >-
              Positive whole number indicating the number of payouts to return
              in each page.
            format: int32
        - name: entity
          in: query
          description: >-
            Your entity reference created as part of on-boarding. Used to route
            the request in Access Worldpay.
          schema:
            maximum: 6
            minimum: 6
            type: string
            description: >-
              Your entity reference created as part of on-boarding. Used to
              route the request in Access Worldpay.
        - name: countryCode
          in: query
          description: >-
            <a
            href="/products/reference/supported-countries-currencies#iso-country-codes">ISO
            3166-1 Alpha-2 country code</a> of the payout destination.
          schema:
            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.
        - name: pageNumber
          in: query
          description: >-
            Positive whole number indicating which page of the statement to
            return.
          required: true
          schema:
            minimum: 1
            type: integer
            description: >-
              Positive whole number indicating which page of the statement to
              return.
            format: int32
        - name: paymentState
          in: query
          schema:
            maximum: 255
            enum:
              - AWAITING_EXECUTION
              - NEW
              - VALID
              - REJECTED
              - EXECUTED
              - IN_REVIEW
              - RFI_IN_PROGRESS
              - AWAITING_LIQUIDITY
              - COMPLETED
              - REVERSED
              - FAILED
              - INVALID
            type: string
            x-enumDescriptions:
              AWAITING_EXECUTION: >-
                Interim state in the asynchronous payout request. Please contact
                your Relationship Manager if this persists, as this might
                suggest integration issues.
              NEW: >-
                Interim state in the asynchronous payout request. Please contact
                your Relationship Manager if this persists, as this might
                suggest integration issues.
              VALID: >-
                Interim state in the asynchronous payout request. Please contact
                your Relationship Manager if this persists, as this might
                suggest integration issues.
              REJECTED: >-
                Interim state in the asynchronous payout request. Please contact
                your Relationship Manager if this persists, as this might
                suggest integration issues.
              EXECUTED: >-
                The API has accepted your payout request and it is now waiting
                in the queue for submission to our banking partner.
              IN_REVIEW: >-
                Payout is currently under review as part of our standard
                compliance procedures. No action is required from you at this
                time. We will notify you separately once the review is complete
                or if we require any further information from you.
              RFI_IN_PROGRESS: >-
                Payout is currently on hold pending the completion of our
                standard compliance review. We require additional information
                from you and will be in touch with the specific details needed.
                Please respond at your earliest convenience to help us resolve
                this as quickly as possible.
              AWAITING_LIQUIDITY: >-
                Payout is currently on hold due to insufficient funds. Please
                deposit funds into your Worldpay account in order to release the
                payout and ensure future payouts aren't also held in this state.
              COMPLETED: >-
                Our banking partner has accepted the payout request for
                processing. Final state or `REVERSED` in a return scenario.
              REVERSED: >-
                Our validation rules, banking partner or beneficiary bank has
                rejected the payout request. The funds have subsequently been
                returned to your account.  All rejected payouts include a
                description with reasoning (if available).
              FAILED: >-
                Final state in the asynchronous payout request. Please contact
                your Relationship Manager if this persists, as this might
                suggest integration issues.
              INVALID: >-
                Final state in the asynchronous payout request. Please contact
                your Relationship Manager if this persists, as this might
                suggest integration issues.
        - name: startDate
          in: query
          description: "Posting start date for the payout. This is the start of a time window. This must be before the current date and before the end date, as well as being after the minimum date (0001-01-01). The difference between start and end dates should not exceed 31 days. \tMust be a Gregorian calendar date with ISO 8601 format YYYY-MM-DD."
          schema:
            maximum: 10
            minimum: 10
            type: string
            description: "Posting start date for the payout. This is the start of a time window. This must be before the current date and before the end date, as well as being after the minimum date (0001-01-01). The difference between start and end dates should not exceed 31 days. \tMust be a Gregorian calendar date with ISO 8601 format YYYY-MM-DD."
        - name: endDate
          in: query
          description: >-
            Posting end date for the payout. This is the end of a time window.
            This must be before the current date, as well as after the start
            date and the minimum date (0001-01-01).
          schema:
            maximum: 10
            minimum: 10
            type: string
            description: >-
              Posting end date for the payout. This is the end of a time window.
              This must be before the current date, as well as after the start
              date and the minimum date (0001-01-01).
        - name: payeeName
          in: query
          description: >-
            Complete payee name for the payout. This will be one of the
            following (depending on the beneficiary type): fullName -
            concatenated value from title + firstName + middleName + lastName;
            companyName
          schema:
            maximum: 140
            minimum: 0
            type: string
            description: >-
              Complete payee name for the payout. This will be one of the
              following (depending on the beneficiary type): fullName -
              concatenated value from title + firstName + middleName + lastName;
              companyName
        - name: sourceCurrency
          in: query
          description: >-
            Source <a
            href="/products/reference/supported-countries-currencies#currency-codes">ISO
            4217 alpha-3 currency codes</a> for the payout.
          schema:
            maximum: 3
            minimum: 3
            type: string
            description: >-
              Source <a
              href="/products/reference/supported-countries-currencies#currency-codes">ISO
              4217 alpha-3 currency codes</a> for the payout.
        - name: sourceAmount
          in: query
          description: Source amount. 18 digit precision including 2 decimal places
          schema:
            maximum: 19
            minimum: 1
            type: number
            description: Source amount. 18 digit precision including 2 decimal places
            format: double
        - name: targetCurrency
          in: query
          description: >-
            Target <a
            href="/products/reference/supported-countries-currencies#currency-codes">ISO
            4217 alpha-3 currency codes</a> for the payout.
          schema:
            maximum: 35
            minimum: 1
            type: string
            description: >-
              Target <a
              href="/products/reference/supported-countries-currencies#currency-codes">ISO
              4217 alpha-3 currency codes</a> for the payout.
        - name: targetAmount
          in: query
          description: 18 digit precision including 2 decimal places
          schema:
            maximum: 35
            minimum: 1
            type: number
            description: 18 digit precision including 2 decimal places
            format: double
        - 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: '1234567890'
          example: '1234567890'
        - name: Accept
          in: header
          schema:
            type: string
            default: application/json
            example: application/json
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V3.Models.GetOriginalItemResponse
              example:
                items:
                  - paymentId: 51a448e5-4430-ee11-b58a-005056b48b8e
                    paymentDatetime: '2023-08-01T08:24:44.443Z'
                    payeeName: John Smith
                    sourceCurrency: ARS
                    sourceAmount: 0
                    targetCurrency: ARS
                    targetAmount: 1.05
                    paymentState: EXECUTED
                    bankName: Test Bank
                    bankCode: 10 02 04
                    iban: GB29NWBK60161331926819
                    channel: WIRE,ACH SD
                    routedChannel: WIRE
                    bankReference: ABCHK24
                    payoutRequestId: PO000N65
                    narrative: XYZ102025
                    transactionReference: XYZ102025
                    accountNumber: '45533882'
                    swiftBic: BUKBGB22
                    entity: default
                    countryCode: AR
                  - paymentId: c1b659f6-4c30-ee11-b58a-005056b48b8e
                    paymentDatetime: '2023-08-01T09:22:41.377Z'
                    payeeName: John Johno Johnson
                    sourceCurrency: GBP
                    sourceAmount: 0
                    targetCurrency: GBP
                    targetAmount: 10
                    paymentState: EXECUTED
                    bankName: Test Bank
                    bankCode: '404433'
                    iban: GB29NWBK60161331926819
                    channel: WIRE,ACH SD,DOM
                    routedChannel: ACH SD
                    bankReference: ABCHK25
                    payoutRequestId: PN00004N
                    narrative: 'Ref: 123456'
                    transactionReference: '123456'
                    accountNumber: '12345677'
                    swiftBic: BUKBGB22
                    entity: default
                    countryCode: GB
                pagination:
                  pageNumber: 1
                  pageSize: 2
                  pageCount: 5610
                  totalNumberOfRecords: 11220
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel
              example:
                validationErrors:
                  - jsonPath: $.payeeName
                    errorName: stringIsTooLong
                    message: >-
                      The length of 'Payee Name' must be 140 characters or
                      fewer. You entered 141 characters.
                errorName: bodyDoesNotMatchSchema
                message: There was an error in the request
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel
              example:
                errorName: unauthorized
                message: Invalid token
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel
              example:
                errorName: Forbidden
                message: Forbidden. Unauthorized request
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel
              example:
                errorName: null
                message: An unexpected error occurred.
components:
  schemas:
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.BankAddress:
      type: object
      properties:
        city:
          maximum: 35
          minimum: 1
          type: string
          description: City of the address.
          nullable: true
        state:
          maximum: 35
          minimum: 2
          type: string
          description: State of the address.
          nullable: true
        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 address.
          nullable: true
        address1:
          maximum: 35
          minimum: 1
          type: string
          description: Address line 1.
          nullable: true
        address2:
          maximum: 35
          minimum: 1
          type: string
          description: Address line 2.
          nullable: true
        postalCode:
          maximum: 20
          minimum: 1
          type: string
          description: PostalCode of the address.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.BankDetails:
      type: object
      description: >-
        The bank details of the beneficiary.<br> {% admonition type="info"
        name="Note" %} View our [bank coverage
        guide](/products/marketplaces/coverage/bank) for country specific
        requirements.{% /admonition %}
      properties:
        iban:
          maximum: 34
          minimum: 1
          type: string
          description: Beneficiary IBAN. You must either provide `iban` or `accountNumber`.
          nullable: true
        branchCode:
          maximum: 35
          minimum: 1
          type: string
          description: Beneficiary account branch code.
          nullable: true
        bankCode:
          maximum: 35
          minimum: 1
          type: string
          description: Beneficiary account bank code.
          nullable: true
        swiftBic:
          maximum: 11
          minimum: 8
          type: string
          description: Beneficiary bank account SWIFT/BIC.
          nullable: true
        bankName:
          maximum: 35
          minimum: 1
          type: string
          description: Beneficiary bank name.
          nullable: true
        accountType:
          enum:
            - checking
            - savings
            - moneyMarket
            - certificateOfDeposit
            - vista
            - other
          type: string
          description: Type of the account.
          nullable: true
        accountNumber:
          maximum: 64
          minimum: 0
          type: string
          description: Beneficiary bank account number.
          nullable: true
        payoutInstrumentId:
          type: string
          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>.
          nullable: true
        payoutInstrumentReference:
          type: string
          description: >-
            Your reference for this `payoutInstrument`, must be unique within an
            entity.
          nullable: true
        address:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.BankAddress
      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
          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
          nullable: true
        targetCurrency:
          maximum: 3
          minimum: 3
          type: string
          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).
          nullable: true
        targetAmount:
          maximum: 10
          minimum: 1
          type: number
          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
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Identity:
      type: object
      properties:
        issuingInstitution:
          type: string
          description: >-
            Issuing institution that provided identification type. Cannot be
            provided if the conditional fields in the identity section are
            missing.
          nullable: true
        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
          description: >-
            Type of identification. Mandatory if `identityDocuments.number` is
            populated.
          nullable: true
        validFrom:
          maximum: 10
          minimum: 10
          type: string
          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.
          nullable: true
        validTo:
          maximum: 10
          minimum: 10
          type: string
          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.
          nullable: true
        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.Payout.V3.Models.IndividualPayout:
      required:
        - transactionReference
      type: object
      properties:
        merchant:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Merchant
        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. 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.
        notificationUrl:
          maximum: 250
          type: string
          description: Currently not in use.
          nullable: true
      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.Payout.V3.Models.Narrative:
      type: object
      properties:
        line1:
          maximum: 50
          minimum: 6
          type: string
          description: Reference that may appear on beneficiary statements.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Party:
      required:
        - partyType
      type: object
      properties:
        partyId:
          maximum: 36
          minimum: 36
          type: string
          description: >-
            Id of the party for the payment request. This field is currently not
            used.
          nullable: true
          example: 1E016F5E-9D4A-49E7-B44C-A4C8AAE8290D
        partyType:
          enum:
            - beneficiary
            - payer
          type: string
          description: Party type
        partyReference:
          maximum: 64
          minimum: 3
          type: string
          description: >-
            Your reference for this party, must be unique within an entity.
            Allowed values a-z, A-Z, 0-9, spaces and hyphens. Only supply either
            `partyReference` or `personalDetails`.
          nullable: true
        customerReference:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            The reference of the payer: Domain ID, Account Number, Tax ID, BIC,
            Internal Customer ID or any other numerical or alphanumerical unique
            identifier of the customer where the payment request has originated.
            Special characters are restricted.
          nullable: true
        personalDetails:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.PersonalDetails
        address:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.PartyAddress
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.PartyAddress:
      type: object
      properties:
        city:
          maximum: 35
          minimum: 1
          type: string
          description: City of the address.
          nullable: true
        state:
          maximum: 35
          minimum: 2
          type: string
          description: State of the address.
          nullable: true
        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 address.
          nullable: true
        address1:
          maximum: 35
          minimum: 1
          type: string
          description: Address line 1.
          nullable: true
        address2:
          maximum: 35
          minimum: 1
          type: string
          description: Address line 2.
          nullable: true
        postalCode:
          maximum: 20
          minimum: 1
          type: string
          description: PostalCode of the address.
          nullable: true
        type:
          enum:
            - home
            - business
            - poBox
            - other
          type: string
          description: Type of party address.
          nullable: true
        residentialStatus:
          enum:
            - resident
            - nonResident
            - other
          type: string
          description: Type of residency.
          nullable: true
      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
          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.
          nullable: true
        channel:
          enum:
            - ACH SD
            - ACH ND
            - WIRE
            - DOM WIRE
            - INSTANT
            - Algorand
            - Arbitrum
            - Avalanche
            - Ethereum
            - Polygon
            - Solana
            - Stellar
            - Tron
            - PAYPAL
          type: string
          description: >-
            Preferable channel for the payout. Multiple values can be added with
            a comma-separator, to indicate order of preference.
          nullable: true
        quoteId:
          type: string
          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".
          nullable: true
        scheduleDate:
          maximum: 10
          minimum: 10
          type: string
          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.
          nullable: true
        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
          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
          description: >-
            Type of transaction. This is mandatory for some payout routes -
            please check <a href="/products/marketplaces/coverage/bank">country
            specific requirements</a>.
          nullable: true
        beneficiaryWalletDetails:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.WalletDetails
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.PersonalDetails:
      type: object
      properties:
        companyName:
          maximum: 140
          minimum: 1
          type: string
          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".
          nullable: true
        firstName:
          maximum: 50
          minimum: 1
          type: string
          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>.
          nullable: true
        middleName:
          maximum: 50
          minimum: 1
          type: string
          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>.
          nullable: true
        lastName:
          maximum: 50
          minimum: 1
          type: string
          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>.
          nullable: true
        fullName:
          type: string
          nullable: true
          readOnly: true
        dateOfBirth:
          maximum: 10
          minimum: 10
          pattern: yyyy-MM-dd
          type: string
          description: Date of birth.
          nullable: true
          example: '2024-01-01'
        email:
          type: string
          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.
          nullable: true
        title:
          maximum: 3
          enum:
            - mr
            - miss
            - mrs
            - ms
            - mx
            - dr
            - misc
          type: string
          description: >-
            Title for the person. Only supply when `type` is "person" or "sole
            trader".
          nullable: true
        type:
          enum:
            - company
            - person
            - institution
            - government
            - soletrader
            - other
          type: string
          description: >-
            Entity description of the party, type is required when partyType is
            beneficiary
          nullable: true
        phones:
          type: array
          items:
            $ref: >-
              #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Phone
          nullable: true
        identityDocuments:
          type: array
          items:
            $ref: >-
              #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Identity
          nullable: true
        dateOfIncorporation:
          maximum: 10
          minimum: 10
          pattern: yyyy-MM-dd
          type: string
          description: >-
            Date of the Incorporation of the Company. Not allowed if for a
            person or sole trader.
          nullable: true
          example: '2024-01-01'
      additionalProperties: false
      description: Only supply either `partyReference` or `personalDetails`.
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Phone:
      type: object
      properties:
        number:
          maximum: 20
          minimum: 1
          type: string
          description: >-
            Phone number of the party. Mandatory if you have provided `prefix`.
            Special characters are restricted.
          nullable: true
        prefix:
          maximum: 3
          minimum: 1
          type: string
          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\"
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.PurposeOfPayment:
      type: object
      properties:
        code:
          enum:
            - WPPAYR
            - WPPENS
            - WPFAMT
            - WPUBIL
            - WPSTDY
            - WPTAXS
            - WPGDDS
            - WPCHAR
            - WPMDCS
            - WPSAVS
            - WPPROP
            - WPSCVE
            - WPSHAR
            - WPIVST
            - WPTKAG
            - WPTOUR
            - WPREMT
            - WPMOVR
            - WPSUPP
            - WPCAPI
            - WPCHRG
            - WPTRAN
            - WPSALR
            - WPDIVD
            - WPLOAN
            - WPISER
            - WPFSER
            - WPCARD
            - WPRENT
            - WPEXPE
            - WPTRNF
            - WPBONS
            - WPOTHR
          type: string
          description: >-
            The code that represents the purpose of the payout. This is
            mandatory for some payout routes.
          x-enumDescriptions:
            WPPAYR: Payment of payroll.
            WPPENS: Pension payment.
            WPFAMT: Family maintenance.
            WPUBIL: Payment to common utility provider.
            WPSTDY: Payment of study/tuition costs.
            WPTAXS: Payment of taxes.
            WPGDDS: Purchase sale of goods.
            WPCHAR: Payment for charity reasons.
            WPMDCS: Payment for medical care services.
            WPSAVS: Payment to savings/retirement account.
            WPPROP: Payment of property purchase.
            WPSCVE: Purchase sale of services.
            WPSHAR: Payment of shares.
            WPIVST: Payment of an investment (interest).
            WPTKAG: Tourism (invoiced tickets/travel agency costs).
            WPTOUR: Tourism (other).
            WPREMT: Remittances.
            WPMOVR: Payment of movable property rental.
            WPSUPP: Supplier payment.
            WPCAPI: Payment of capital contribution.
            WPCHRG: Charges/ fees.
            WPTRAN: Payment for transportation.
            WPSALR: Payment of salaries.
            WPDIVD: Dividends.
            WPLOAN: Loans.
            WPISER: Payment of insurance services.
            WPFSER: Payment for financial services.
            WPCARD: Card payments.
            WPRENT: Rental Payments.
            WPEXPE: Payment of expenses
            WPTRNF: Transfer of funds.
            WPBONS: Bonus/compensation.
            WPOTHR: Other.
        description:
          maximum: 35
          minimum: 1
          type: string
          description: Description for purpose of payout.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Source:
      type: object
      properties:
        accountNumber:
          maximum: 16
          minimum: 16
          type: string
          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`.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.SuccessResponseV3:
      type: object
      properties:
        payoutRequestId:
          type: string
          description: >-
            Payout Request ID associated with a payout submitted through our
            Account Payouts API. PN/PZ/PO prefix plus 6 characters.
        idempotencyKey:
          description: Unique reference from the request header of the same name.
        entity:
          type: string
          description: >-
            Your entity reference created as part of on-boarding. Used to route
            the request in Access Worldpay.
      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
          description: Beneficiary wallet identifier.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V2.Models.BatchIdentifier:
      type: object
      properties:
        entity:
          type: string
          nullable: true
        idempotencyKey:
          type: string
          nullable: true
      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.PayoutBatchRequest:
      type: object
      properties:
        merchant:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V3.Models.Merchant
        payouts:
          maximum: 500
          minimum: 1
          type: array
          items:
            $ref: >-
              #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V2.Models.BatchPayout
          description: Holds information about the individual payouts.
          nullable: true
        notificationUrl:
          type: string
          description: Currently not in use.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V2.Models.PayoutBatchUniqueIdAndUbrV3:
      type: object
      properties:
        transactionReference:
          type: string
          nullable: true
        payoutRequestId:
          type: string
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V2.Models.Pagination:
      required:
        - pageNumber
        - pageSize
      type: object
      properties:
        pageNumber:
          type: integer
          description: >-
            Positive whole number indicating which page of the statement to
            return. Greater than 0.
          format: int32
        pageSize:
          maximum: 499
          minimum: 1
          type: integer
          description: Number of items listed per page.
          format: int32
        pageCount:
          type: integer
          description: Total number of pages.
          format: int32
        totalNumberOfRecords:
          type: integer
          description: Total number of items listed across all pages.
          format: int32
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V3.Models.GetOriginalItemResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V3.Models.OriginalItem
          nullable: true
        pagination:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V2.Models.Pagination
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V3.Models.OriginalItem:
      required:
        - payoutRequestId
      type: object
      properties:
        paymentId:
          type: string
          description: Unique identifier associated with the payment. GUID.
          nullable: true
        paymentDatetime:
          type: string
          description: Date and time of the payment submission. DateTime ISO 8601.
          format: date-time
          nullable: true
        payeeName:
          maximum: 140
          type: string
          description: "Complete payee name for the payout. This will be one of (depending on the beneficiary type):\r\nfullName- concatenated value from title + firstName + middleName + lastName\r\ncompanyName."
          nullable: true
        sourceCurrency:
          maximum: 3
          type: string
          description: >-
            <a
            href="/products/reference/supported-countries-currencies#currency-codes">ISO
            4217 alpha-3 currency code</a> for the remitter account.
          nullable: true
        sourceAmount:
          type: number
          description: Source amount. 18 digit precision including 2 decimal places.
          format: double
        targetCurrency:
          maximum: 3
          minimum: 3
          type: string
          description: >-
            Target <a
            href="/products/reference/supported-countries-currencies#currency-codes">ISO
            4217 alpha-3 currency codes</a> for the payout.
          nullable: true
        targetAmount:
          type: number
          description: Target amount.
          format: double
        paymentState:
          enum:
            - AWAITING_EXECUTION
            - NEW
            - VALID
            - REJECTED
            - EXECUTED
            - IN_REVIEW
            - RFI_IN_PROGRESS
            - AWAITING_LIQUIDITY
            - COMPLETED
            - REVERSED
            - FAILED
            - INVALID
          type: string
          description: State of the payout.
          nullable: true
          x-enumDescriptions:
            AWAITING_EXECUTION: >-
              Interim state in the asynchronous payout request. Please contact
              your Relationship Manager if this persists, as this might suggest
              integration issues.
            NEW: >-
              Interim state in the asynchronous payout request. Please contact
              your Relationship Manager if this persists, as this might suggest
              integration issues.
            VALID: >-
              Interim state in the asynchronous payout request. Please contact
              your Relationship Manager if this persists, as this might suggest
              integration issues.
            REJECTED: >-
              Interim state in the asynchronous payout request. Please contact
              your Relationship Manager if this persists, as this might suggest
              integration issues.
            EXECUTED: >-
              The API has accepted your payout request and it is now waiting in
              the queue for submission to our banking partner.
            IN_REVIEW: >-
              Payout is currently under review as part of our standard
              compliance procedures. No action is required from you at this
              time. We will notify you separately once the review is complete or
              if we require any further information from you.
            RFI_IN_PROGRESS: >-
              Payout is currently on hold pending the completion of our standard
              compliance review. We require additional information from you and
              will be in touch with the specific details needed. Please respond
              at your earliest convenience to help us resolve this as quickly as
              possible.{% admonition type="info" name="Note" %} Please contact
              your Implementation Manager if you want to receive this.{%
              /admonition %}
            AWAITING_LIQUIDITY: >-
              Payout is currently on hold due to insufficient funds. Please
              deposit funds into your Worldpay account in order to release the
              payout and ensure future payouts aren't also held in this state.{%
              admonition type="info" name="Note" %} Please contact your
              Implementation Manager if you want to receive this.{% /admonition
              %}
            COMPLETED: >-
              Our banking partner has accepted the payout request for
              processing. Final state or `REVERSED` in a return scenario.
            REVERSED: >-
              Our validation rules, banking partner or beneficiary bank has
              rejected the payout request. The funds have subsequently been
              returned to your account.  All rejected payouts include a
              description with reasoning (if available).
            FAILED: >-
              Final state in the asynchronous payout request. Please contact
              your Relationship Manager if this persists, as this might suggest
              integration issues.
            INVALID: >-
              Final state in the asynchronous payout request. Please contact
              your Relationship Manager if this persists, as this might suggest
              integration issues.
        bankName:
          type: string
          description: >-
            Name of the payee (beneficiary) bank which the payout is being made
            to.
          nullable: true
        bankCode:
          type: string
          description: Beneficiary bank account bank code.
          nullable: true
        iban:
          type: string
          description: Beneficiary IBAN.
          nullable: true
        estimatedDeliveryDate:
          type: string
          nullable: true
        outcomeReason:
          type: string
          nullable: true
        channel:
          type: string
          description: List of the channels that were sent in the request for this payout.
          nullable: true
        routedChannel:
          type: string
          description: The channel that was used to process this payout.
          nullable: true
        bankReference:
          type: string
          description: >-
            A bank-generated reference that enables your customers to track
            their payout within the payment network. This feature is only
            available for specific routes. For details on availability, please
            contact your Relationship Manager.
          nullable: true
        payoutRequestId:
          maximum: 10
          minimum: 8
          pattern: AlphaNumericRegex = ^[0-9a-zA-Z]+$
          type: string
          description: >-
            Unique payout request ID associated with a payout submitted through
            our Account Payouts API. PN/PZ/PO prefix plus 6 characters.
        narrative:
          maximum: 50
          minimum: 0
          type: string
          description: Reference that may appear on beneficiary statements.
          nullable: true
        transactionReference:
          maximum: 50
          minimum: 0
          type: string
          description: Unique reference provided by you.
          nullable: true
        accountNumber:
          maximum: 50
          minimum: 0
          type: string
          description: Bank Account number.
          nullable: true
        swiftBic:
          maximum: 50
          type: string
          description: Beneficiary bank account SWIFT/BIC.
          nullable: true
        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.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwBodyErrorModel:
      type: object
      properties:
        errorName:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
        validationErrors:
          type: array
          items:
            $ref: >-
              #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwJsonPathErrorModel
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Shared.ErrorModels.AwJsonPathErrorModel:
      type: object
      properties:
        errorName:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
        jsonPath:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
security:
  - BasicAuth: []
tags:
  - name: Single payout
    description: Make a single payout to an account using our Account Payouts endpoint.
  - name: Batch payout
    description: Make up to 500 payouts in one batch using our Account Payouts endpoint.
  - name: Get payouts by Payout Request ID
    description: Search for payout details by using a Payout Request ID.
  - name: Get payouts
    description: Search for payout details by filtering parameters.
