Worldpay AchVerifications API
The AchVerifications API from Worldpay — 1 operation(s) for achverifications.
The AchVerifications API from Worldpay — 1 operation(s) for achverifications.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/worldpay-achverifications-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Card Verifications Ach Verifications API
description: Determine the validity of your customer's card to maximize authorization rates.
version: '6'
x-metadata:
category:
- Verifications
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: AchVerifications
paths:
/achVerifications:
post:
summary: ACH verification
description: Successful account verification outcome.
operationId: ACH
parameters:
- $ref: '#/components/parameters/achAcceptHeader'
- $ref: '#/components/parameters/achContentTypeHeader'
requestBody:
content:
application/vnd.worldpay.achVerifications-v6+json:
schema:
$ref: '#/components/schemas/verifications_ach'
examples:
Successful account verification outcome.:
value:
merchant:
entity: default
transactionReference: '1234567'
paymentInstrument:
type: bankAccountUS
accountType: corporateSavings
accountNumber: '1234567890'
routingNumber: 011400495
companyName: companyName
billToAddress:
firstName: John
lastName: Smith
address1: address1
address2: address2
address3: address3
city: city
region: state
postalCode: postalCode
countryCode: US
telephoneNumber: '4085551212'
Refused account verification outcome.:
value:
merchant:
entity: default
transactionReference: '1234567'
paymentInstrument:
type: bankAccountUS
accountType: corporateSavings
accountNumber: '12345678901234567890'
routingNumber: 011400495
companyName: companyName
billToAddress:
firstName: John
lastName: Smith
address1: address1
address2: address2
address3: address3
city: city
region: state
postalCode: postalCode
countryCode: US
telephoneNumber: '4085551212'
responses:
'201':
description: The account verification has been successful.
content:
application/vnd.worldpay.achVerifications-v6+json:
schema:
$ref: '#/components/schemas/verifications_ach_201_response'
examples:
Successful account verification outcome.:
value:
outcome: verified
checkedAt: '2021-09-27T18:02:16.475Z'
Refused account verification outcome.:
value:
outcome: not verified
description: Invalid account number
checkedAt: '2021-09-27T18:02:16.475Z'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
tags:
- AchVerifications
components:
parameters:
achAcceptHeader:
name: Accept
in: header
required: true
schema:
type: string
example: application/vnd.worldpay.achVerifications-v6+json
achContentTypeHeader:
name: Content-Type
in: header
required: true
schema:
type: string
example: application/vnd.worldpay.achVerifications-v6+json
schemas:
validationError:
type: object
required:
- errorName
- message
properties:
errorName:
type: string
description: A machine and human readable error type for clarity and semantic understanding of the error.
enum:
- fieldIsMissing
- fieldMustBeString
- fieldMustBeNumber
- fieldMustBeInteger
- fieldMustBeBoolean
- fieldMustBeObject
- fieldMustBeArray
- fieldIsNull
- fieldIsEmpty
- fieldHasInvalidValue
- fieldIsNotAllowed
- numberIsTooSmall
- integerIsTooLarge
- stringIsTooShort
- stringIsTooLong
- stringFailedRegexCheck
- panFailedLuhnCheck
- dateHasInvalidFormat
example: fieldIsNotAllowed
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: Field at path is not allowed.
jsonPath:
type: string
description: This field represents the JSON path of the element within the request body associated with the error.
example: $.transactionRef
lastName:
type: string
description: surname
maxLength: 85
minLength: 1
example: Holmes
verifications_ach:
required:
- merchant
- paymentInstrument
- transactionReference
type: object
properties:
merchant:
required:
- entity
type: object
properties:
entity:
type: string
description: Used to route the verification request in Access Worldpay, created as part of on-boarding.
paymentInstrument:
$ref: '#/components/schemas/bankAccountUS'
transactionReference:
type: string
bankAccountUS:
required:
- type
- accountType
- accountNumber
- routingNumber
- billToAddress
type: object
properties:
type:
type: string
description: The type of payment instrument, must be "bankAccountUS" for ACH.
accountType:
type: string
enum:
- checking
- savings
- corporate
- corporateSavings
description: 'Possible values: checking, savings, corporate, corporateSavings.'
accountNumber:
type: string
description: Account number of direct debit account.
routingNumber:
type: string
description: Routing number of direct debit account.
companyName:
type: string
description: Company name if a corporate account.
billToAddress:
required:
- firstName
- lastName
- address1
- city
- region
- postalCode
- countryCode
- telephoneNumber
type: object
properties:
firstName:
$ref: '#/components/schemas/firstName'
lastName:
$ref: '#/components/schemas/lastName'
address1:
type: string
description: 'An identifier for the address1 being used. If included you must send at least: [address1, city, countyCode, postalCode].'
address2:
type: string
description: An identifier for the address2 being used.
address3:
type: string
description: An identifier for the address3 being used.
city:
type: string
description: An identifier for the city being used.
region:
type: string
description: An identifier for the region being used.
postalCode:
$ref: '#/components/schemas/postalCode'
countryCode:
type: string
description: The alpha-2 ISO-3166 country code of the address.
example: GB
pattern: ^[A-Z]{2}$
telephoneNumber:
type: string
description: An identifier for the telephoneNumber being used.
firstName:
type: string
description: given name
maxLength: 85
minLength: 1
example: Alice
checkedAt:
type: string
example: '2024-03-26T19:38:29.543195Z'
pattern: ^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.(\d{3,})Z$
verifications_ach_201_response:
required:
- outcome
- checkedAt
- _links
type: object
properties:
outcome:
type: string
enum:
- verified
- not verified
description: This field indicates the status of the transaction.
description:
type: string
checkedAt:
$ref: '#/components/schemas/checkedAt'
postalCode:
type: string
description: Recipient's postal code.
maxLength: 15
minLength: 1
example: NW1 6XE
responses:
'404':
description: Not Found - unable to locate requested record
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/vnd.worldpay.cardVerifications-v6+json:
schema:
title: error400
type: object
required:
- errorName
- message
properties:
errorName:
type: string
enum:
- resourceNotFound
description: A machine and human readable error type for clarity and semantic understanding of the error.
example: resourceNotFound
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: Unable to verify the historic outcome from the data provided
example:
errorName: resourceNotFound
message: Unable to verify the historic outcome from the data provided
'500':
description: An error occurred processing the request on our side.
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/json:
schema:
title: error500
type: object
required:
- errorName
- message
properties:
errorName:
type: string
enum:
- internalServerError
description: A machine and human readable error type for clarity and semantic understanding of the error.
example: internalServerError
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: An internal server error occurred
'415':
description: Invalid content-type HTTP header
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/json:
schema:
title: error415
type: object
required:
- errorName
- message
properties:
errorName:
type: string
description: A machine and human readable error type for clarity and semantic understanding of the error.
example: headerHasInvalidValue
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: A valid header must be provided.
headerName:
type: string
description: If the header is missing or does not contain an expected value, this field will be populated with the incorrect header name.
example: Content-Type
'400':
description: Bad Request
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/json:
examples:
Validation Error:
$ref: '#/components/examples/validationError'
Header Error:
$ref: '#/components/examples/headerError'
schema:
title: error400
type: object
required:
- errorName
- message
properties:
errorName:
type: string
enum:
- internalErrorOccurred
- headerIsMissing
- headerHasInvalidValue
- bodyIsEmpty
- bodyIsNotJson
- bodyDoesNotMatchSchema
description: A machine and human readable error type 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*
example: A JSON body matching the expected schema must be provided.
validationErrors:
type: array
description: If there were field validation errors, they will be collected in this array
items:
$ref: '#/components/schemas/validationError'
headerName:
type: string
description: If the header is missing or does not contain an expected value, this field will be populated with the incorrect header name.
example: Content-Type
'401':
description: Client is not authorized due to missing or invalid Authorization header.
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/json:
schema:
title: error401
type: object
required:
- errorName
- message
- headerName
properties:
errorName:
type: string
description: A machine and human readable error type for clarity and semantic understanding of the error.
example: accessDenied
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: Access to the requested resource has been denied
examples:
headerError:
value:
errorName: headerIsMissing
message: A valid header must be provided.
headerName: Content-Type
validationError:
value:
errorName: bodyDoesNotMatchSchema
message: A JSON body matching the expected schema must be provided.
validationErrors:
- errorName: fieldIsNotAllowed
message: Field at path is not allowed.
jsonPath: $.transactionRef
securitySchemes:
BasicAuth:
type: http
scheme: basic
description: "username:password = merchant1:password \nBase-64 encoded = bWVyY2hhbnQxcGFzc3dvcmQ=\n"