openapi: 3.0.1 info: title: 3DS 3DS actions Payout instruments 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

\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

\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: Payout instruments description: Create and maintain payout instruments. paths: /parties/{partyId}/payoutInstruments: post: tags: - Payout instruments summary: Create a payout instrument operationId: createPayoutInstruments parameters: - name: partyId in: path description: A unique identifier for the party generated by us. This is sent in the response of your party creation call. required: true schema: type: string - name: WP-Api-Version in: header description: The API version. required: true schema: type: string format: date example: '2025-01-01' requestBody: content: application/json: schema: $ref: '#/components/schemas/BankAccount' examples: Create a payout instrument for existing party of person (modular): $ref: '#/components/examples/Create_PayoutInstrument_Person_modular' Create a payout instrument for existing party of sole trader (modular): $ref: '#/components/examples/Create_PayoutInstrument_SoleTrader_modular' Create a payout instrument for existing party of company (modular): $ref: '#/components/examples/Create_PayoutInstrument_Company_modular' required: true responses: '201': description: Created content: application/json: schema: type: object oneOf: - $ref: '#/components/schemas/BankAccount' - $ref: '#/components/schemas/Wallet' - $ref: '#/components/schemas/Card' title: payout instrument examples: Create a payout instrument for existing party of person (modular): $ref: '#/components/examples/PayoutInstrument_Person_created_201_modular' Create a payout instrument for existing party of sole Trader (modular): $ref: '#/components/examples/PayoutInstrument_SoleTrader_created_201_modular' Create a payout instrument for existing party of company (modular): $ref: '#/components/examples/PayoutInstrument_Company_created_201_modular' '400': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: Bad request: $ref: '#/components/examples/400' URL with invalid value: $ref: '#/components/examples/400_Invalid_Url' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: Internal error occurred: $ref: '#/components/examples/500' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: Service Unavailable: $ref: '#/components/examples/503' /parties/{partyId}/payoutInstruments/{payoutInstrumentId}: get: tags: - Payout instruments summary: View a payout instrument operationId: getPayoutInstrument parameters: - name: partyId in: path description: A unique identifier for the party generated by us. This is sent in the response of your party creation call. required: true schema: type: string maxLength: 25 minLength: 25 pattern: ^par[a-zA-Z0-9-_]*0$ - name: payoutInstrumentId in: path description: A unique identifier for the payoutInstrument generated by us. This is sent in the response of your payoutInstrument creation call. required: true schema: type: string maxLength: 25 minLength: 25 pattern: par.*0$ - name: WP-Api-Version in: header description: The API version. required: true schema: type: string format: date example: '2025-01-01' responses: '200': description: OK content: application/json: schema: type: object oneOf: - $ref: '#/components/schemas/BankAccount' - $ref: '#/components/schemas/Wallet' - $ref: '#/components/schemas/Card' title: payout instrument examples: Get a payout instrument for existing party of person (modular): $ref: '#/components/examples/Get_PayoutInstrument_Person_200_modular' Get a payout instrument for existing party of sole trader (modular): $ref: '#/components/examples/Get_PayoutInstrument_SoleTrader_200_modular' Get a payout instrument for existing party of company (modular): $ref: '#/components/examples/Get_PayoutInstrument_Company_200_modular' '400': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: Bad request: $ref: '#/components/examples/400' URL with invalid value: $ref: '#/components/examples/400_Invalid_Url' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: Internal error occurred: $ref: '#/components/examples/500' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: Service Unavailable: $ref: '#/components/examples/503' put: tags: - Payout instruments summary: Update a payout instrument operationId: updatePayoutInstruments parameters: - name: partyId in: path description: A unique identifier for the party generated by us. This is sent in the response of your party creation call. required: true schema: type: string maxLength: 25 minLength: 25 pattern: ^par[a-zA-Z0-9-_]*0$ - name: payoutInstrumentId in: path description: A unique identifier for the payoutInstrument generated by us. This is sent in the response of your payoutInstrument creation call. required: true schema: type: string maxLength: 25 minLength: 25 pattern: par.*0$ - name: WP-Api-Version in: header description: The API version. required: true schema: type: string format: date example: '2025-01-01' requestBody: content: application/json: schema: $ref: '#/components/schemas/BankAccount' examples: Update a payout instrument for existing party of company (modular): $ref: '#/components/examples/Update_PayoutInstrument_Company_modular' required: true responses: '200': description: OK content: application/json: schema: type: object oneOf: - $ref: '#/components/schemas/BankAccount' - $ref: '#/components/schemas/Wallet' - $ref: '#/components/schemas/Card' title: payout instrument examples: Update a payout instrument for existing party of company (modular): $ref: '#/components/examples/Update_PayoutInstrument_Company_200_modular' '400': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: Bad request: $ref: '#/components/examples/400' URL with invalid value: $ref: '#/components/examples/400_Invalid_Url' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: Internal error occurred: $ref: '#/components/examples/500' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: Service Unavailable: $ref: '#/components/examples/503' components: schemas: Wallet: type: object properties: payoutInstrumentReference: type: string description: 'A reference of the `payoutInstrument` created by you. This field holds the beneficiary bank details. Use this to direct payouts to the relevant beneficiary. This must be unique within an entity. ' example: personalCheckingAccount maxLength: 64 minLength: 3 pattern: ^[A-Za-z0-9\-_ ]*$ payoutInstrumentId: type: string description: An ID generated by us to identify a payout instrument. You receive this in the response after successfully creating a payout instrument. example: parOk0YlPtQogrqQdz7_fKXs0 maxLength: 25 minLength: 25 pattern: ^par[a-zA-Z0-9-_]*0$ payoutInstrumentType: type: string description: The type of the payout instrument. enum: - bankAccount - wallet - card currency: type: string description: The currency in [ISO 4217 currency format](/products/reference/supported-countries-currencies#iso-currency-codes). example: GBP maxLength: 3 minLength: 3 pattern: ^[A-Z]*$ dateTimeCreated: type: string description: The date and time the `payoutInstrument` was created, as an ISO 8601 zoned date time. readOnly: true dateTimeUpdated: type: string description: The date and time the `payoutInstrument` was updated, as an ISO 8601 zoned date time. readOnly: true version: type: integer format: int32 required: - currency ErrorResponseItem: type: object properties: errorName: type: string message: type: string path: type: string jsonPath: type: string queryParameter: type: string pathParameter: type: string BankAccount: type: object properties: payoutInstrumentReference: type: string description: 'A reference of the `payoutInstrument` created by you. This field holds the beneficiary bank details. Use this to direct payouts to the relevant beneficiary. This must be unique within an entity. ' example: primaryBusinessAccount maxLength: 64 minLength: 3 pattern: ^[A-Za-z0-9\-_ ]*$ payoutInstrumentId: type: string description: An ID generated by us to identify a payout instrument. You receive this in the response after successfully creating a payout instrument. example: parOk0YlPtQogrqQdz7_fKXs0 maxLength: 25 minLength: 25 pattern: ^par[a-zA-Z0-9-_]*0$ payoutInstrumentType: type: string description: The type of the payout instrument. enum: - bankAccount - wallet - card currency: type: string description: The currency in [ISO 4217 currency format](/products/reference/supported-countries-currencies#iso-currency-codes). example: GBP maxLength: 3 minLength: 3 pattern: ^[A-Z]*$ dateTimeCreated: type: string description: The date and time the `payoutInstrument` was created, as an ISO 8601 zoned date time. readOnly: true dateTimeUpdated: type: string description: The date and time the `payoutInstrument` was updated, as an ISO 8601 zoned date time. readOnly: true version: type: integer format: int32 accountHolderName: type: string swiftBic: type: string bankCode: type: string description: The bankCode must be exactly 6 digits. example: '184758' accountNumber: type: string accountType: type: string enum: - checking - savings - moneyMarket - certificateOfDeposit - vista - other iban: type: string bankName: type: string address: $ref: '#/components/schemas/Address' branchCode: type: string required: - currency ErrorResponse: type: object properties: errorName: type: string description: An ordinal error type that is part of the API contract. It is machine readable, but also human readable for clarity and semantic understanding of the error. example: bodyDoesNotMatchSchema message: type: string description: A human readable message giving a corrective action for the error. THIS IS NOT FOR MACHINE CONSUMPTION. validationErrors: type: array items: $ref: '#/components/schemas/ErrorResponseItem' pathParameter: type: string queryParameter: type: string jsonPath: type: string readOnly: true title: Error Response Card: type: object properties: payoutInstrumentReference: type: string description: 'A reference of the `payoutInstrument` created by you. This field holds the beneficiary bank details. Use this to direct payouts to the relevant beneficiary. This must be unique within an entity. ' example: primaryBusinessAccount maxLength: 64 minLength: 3 pattern: ^[A-Za-z0-9\-_ ]*$ payoutInstrumentId: type: string description: An ID generated by us to identify a payout instrument. You receive this in the response after successfully creating a payout instrument. example: parOk0YlPtQogrqQdz7_fKXs0 maxLength: 25 minLength: 25 pattern: ^par[a-zA-Z0-9-_]*0$ payoutInstrumentType: type: string description: The type of the payout instrument. enum: - bankAccount - wallet - card currency: type: string description: The currency in [ISO 4217 currency format](/products/reference/supported-countries-currencies#iso-currency-codes). example: GBP maxLength: 3 minLength: 3 pattern: ^[A-Z]*$ dateTimeCreated: type: string description: The date and time the `payoutInstrument` was created, as an ISO 8601 zoned date time. readOnly: true dateTimeUpdated: type: string description: The date and time the `payoutInstrument` was updated, as an ISO 8601 zoned date time. readOnly: true version: type: integer format: int32 id: $ref: '#/components/schemas/NanoId' token: type: string required: - currency NanoId: type: object properties: nanoPrefix: type: string nanoId: type: string Address: type: object description: Object containing details about the address. properties: address1: type: string description: 'The address. Must consist of at least two letters, two words, and one number.' example: 1847 Kingsbury Court maxLength: 35 minLength: 2 address2: type: string description: Line two of the address. example: Unit 42 maxLength: 35 minLength: 2 city: type: string description: The city of this address. example: London maxLength: 35 minLength: 1 state: type: string description: The state of this address. example: Greater London maxLength: 35 minLength: 2 countryCode: type: string description: The country code specified in [ISO 3166-1 Alpha-2 code format](/products/reference/supported-countries-currencies#iso-country-codes). example: GB maxLength: 2 minLength: 2 postalCode: type: string description: The postal code of this address. example: NW9 0RR maxLength: 20 minLength: 1 type: type: string description: Identifies the type of this address. enum: - home - business - poBox - other example: home required: - address1 - city - countryCode examples: Get_PayoutInstrument_Company_200_modular: description: Get a payoutInstrument for a party of company (modular) value: payoutInstrumentReference: primaryBusinessAccount payoutInstrumentId: parRI-eYCnF_sOAK59-38hUF0 payoutInstrumentType: bankAccount currency: USD dateTimeCreated: '2025-04-24T18:22:16.393Z' dateTimeUpdated: '2025-04-25T18:22:16.393Z' version: 1 accountHolderName: Tessier-Ashpool Systems Ltd. swiftBic: FSFCUS33 bankCode: '045110' accountNumber: '22765819' accountType: savings iban: GB33TASS12345678901234 bankName: Freeside Financial Corporation address: address1: 3 Villa Straylight address2: Freeside city: York state: NA countryCode: GB postalCode: L502 MK54 type: business branchCode: Muswell Hill Branch 400_Invalid_Url: value: errorName: urlContainsInvalidValue message: The URL contains a value or values that are invalid. validationErrors: - errorName: fieldHasInvalidValue message: Party 'parDgfhD9O5lWVjWiUOo3Cdf0' was not found. jsonPath: $.partyId '400': value: errorName: bodyDoesNotMatchSchema message: There were field validation errors. The errors that occurred are within the validationErrors array. validationErrors: - errorName: fieldIsNotAllowed message: The identified field is present when it is explicitly not allowed in the request. jsonPath: $.additionalData PayoutInstrument_Company_created_201_modular: description: PayoutInstrument for a company (modular) value: payoutInstrumentReference: primaryBusinessAccount payoutInstrumentId: parbLmHCft8cLP8XXsay63fQ0 payoutInstrumentType: bankAccount currency: USD dateTimeCreated: '2025-04-24T18:05:41.525Z' version: 0 accountHolderName: Tessier-Ashpool Systems Ltd. swiftBic: FSFCUS33 bankCode: '045110' accountNumber: '22765819' accountType: savings iban: GB33TASS12345678901234 bankName: Freeside Financial Corporation address: address1: 3 Villa Straylight address2: Freeside city: York state: NA countryCode: GB postalCode: L502 MK54 type: business branchCode: Muswell Hill Branch Create_PayoutInstrument_SoleTrader_modular: value: accountHolderName: Case H. Mitchell payoutInstrumentType: bankAccount swiftBic: BUKBGB22 bankCode: '045110' branchCode: Barclays Branch accountNumber: '23198765' accountType: checking iban: GB892019000123456789 bankName: Metro Bank payoutInstrumentReference: primaryBusinessAccount currency: USD address: address1: 17 Neo-London Financial Tower address2: Suite 1288 type: business city: London countryCode: GB postalCode: EC1A 1BB '500': value: errorName: internalErrorOccurred message: An error occurred within the service (potentially due to an interaction with a downstream service). Get_PayoutInstrument_Person_200_modular: description: Get a payoutInstrument for a party of person (modular) value: payoutInstrumentReference: personalCheckingAccount payoutInstrumentId: parVID57-ep4PqX6J-25AkZk0 payoutInstrumentType: bankAccount currency: EUR dateTimeCreated: '2025-04-07T20:48:00.227Z' version: 0 accountHolderName: Case H. Mitchell swiftBic: BUKBGB22 bankCode: '045110' accountNumber: '23198765' accountType: checking iban: GB892019000123456789 bankName: Metro Bank address: address1: 17 Neo-London Financial Tower address2: Suite 1288 city: London countryCode: GB postalCode: EC1A 1BB type: business branchCode: Barclays Branch PayoutInstrument_SoleTrader_created_201_modular: description: PayoutInstrument for a soleTrader (modular) value: payoutInstrumentReference: primaryBusinessAccount payoutInstrumentId: parC_x1lzotG7wnqx1_Den9E0 payoutInstrumentType: bankAccount currency: USD dateTimeCreated: '2025-04-07T20:42:24.759Z' version: 0 accountHolderName: Case H. Mitchell swiftBic: BUKBGB22 bankCode: '045110' accountNumber: '23198765' accountType: checking iban: GB892019000123456789 bankName: Metro Bank address: address1: 17 Neo-London Financial Tower address2: Suite 1288 city: London countryCode: GB postalCode: EC1A 1BB type: business branchCode: Barclays Branch Update_PayoutInstrument_Company_200_modular: description: Update payout instrument for existing party of a company (modular) value: payoutInstrumentReference: primaryBusinessAccount payoutInstrumentId: parWm7eF6Dfwry4EYQdpXSSB0 payoutInstrumentType: bankAccount currency: EUR dateTimeCreated: '2025-04-22T19:24:07.680Z' dateTimeUpdated: '2025-04-22T19:24:11.462Z' version: 2 accountHolderName: Tessier-Ashpool Systems Ltd. swiftBic: FSFCUS33 bankCode: '045110' accountNumber: '2276581' accountType: savings iban: GB33TASS12345678901234 bankName: Freeside Financial Corporation address: address1: 9105 Villa Straylight address2: Freeside city: York state: NA countryCode: GB postalCode: L502 MK54 type: business branchCode: Muswell Hill Branch '503': value: errorName: serviceUnavailable message: Service cannot fulfil the request even though service functions witout internal errors. Get_PayoutInstrument_SoleTrader_200_modular: description: Get a payoutInstrument for a party of soleTrader (modular) value: payoutInstrumentReference: primaryBusinessAccount payoutInstrumentId: partA3SpNddFfGPV0fYk_zI-0 payoutInstrumentType: bankAccount currency: USD dateTimeCreated: '2025-04-07T20:48:00.660Z' version: 0 accountHolderName: Case H. Mitchell swiftBic: BUKBGB22 bankCode: '045110' accountNumber: '23198765' accountType: checking iban: GB892019000123456789 bankName: Metro Bank address: address1: 17 Neo-London Financial Tower address2: Suite 1288 city: London countryCode: GB postalCode: EC1A 1BB type: business branchCode: Barclays Branch Create_PayoutInstrument_Company_modular: value: accountHolderName: Tessier-Ashpool Systems Ltd. payoutInstrumentType: bankAccount swiftBic: FSFCUS33 bankCode: '045110' branchCode: Muswell Hill Branch accountNumber: '22765819' accountType: savings iban: GB33TASS12345678901234 bankName: Freeside Financial Corporation payoutInstrumentReference: primaryBusinessAccount currency: USD address: address1: 3 Villa Straylight address2: Freeside type: business city: York state: NA countryCode: GB postalCode: L502 MK54 Create_PayoutInstrument_Person_modular: value: accountHolderName: Case H. Mitchell payoutInstrumentType: bankAccount swiftBic: BUKBGB22 bankCode: '045110' branchCode: Barclays Branch accountNumber: '23198765' accountType: checking iban: GB892019000123456789 bankName: Metro Bank payoutInstrumentReference: personalCheckingAccount currency: EUR address: address1: 17 Neo-London Financial Tower address2: Suite 1288 type: business city: London countryCode: GB postalCode: EC1A 1BB Update_PayoutInstrument_Company_modular: value: accountHolderName: Tessier-Ashpool Systems Ltd. payoutInstrumentType: bankAccount swiftBic: FSFCUS33 bankCode: '045110' branchCode: Muswell Hill Branch accountNumber: '2276581' accountType: savings iban: GB33TASS12345678901234 bankName: Freeside Financial Corporation payoutInstrumentReference: primaryBusinessAccount currency: EUR address: address1: 9105 Villa Straylight address2: Freeside type: business city: York state: NA countryCode: GB postalCode: L502 MK54 PayoutInstrument_Person_created_201_modular: description: PayoutInstrument for a person (modular) value: payoutInstrumentReference: personalCheckingAccount payoutInstrumentId: parF4BlVTN_zIcADcyBpXK6J0 payoutInstrumentType: bankAccount currency: EUR dateTimeCreated: '2025-04-07T20:42:24.408Z' version: 0 accountHolderName: Case H. Mitchell swiftBic: BUKBGB22 bankCode: '045110' accountNumber: '23198765' accountType: checking iban: GB892019000123456789 bankName: Metro Bank address: address1: 17 Neo-London Financial Tower address2: Suite 1288 city: London countryCode: GB postalCode: EC1A 1BB type: business branchCode: Barclays Branch securitySchemes: BasicAuth: type: http scheme: basic