New API Version | Last Updated: 21 November 2024 | Change Log
ACH verification
ACH verification gives you the ability to perform a verification against a US bank account.
ACH verification request
POST
https://try.access.worldpay.com/achVerifications
Example request body
ACH verification requests with mandatory fields only:
{
"merchant": {
"entity": "default"
},
"transactionReference": "1234567",
"paymentInstrument": {
"type": "bankAccountUS",
"accountType": "checking",
"accountNumber": "1234567890",
"routingNumber": "011400495",
"billToAddress": {
"firstName": "John",
"lastName": "Smith",
"address1": "address1",
"city": "city",
"region": "state",
"postalCode": "postalCode",
"countryCode": "US",
"telephoneNumber": "4085551212"
}
}
}
Descriptions of your mandatory ACH verification request parameters:
Parameter | Required? | Description |
---|---|---|
merchant.entity | ✅ | Direct your verification to assist with billing, reporting and reconciliation. For more information contact your Relationship Manager. For full object descriptions see our API Reference. |
transactionReference | ✅ | A unique reference generated by you that is used to identify a payment throughout its lifecycle. For full object descriptions see our API Reference. |
paymentInstrument | ✅ | An object that contains your customer's payment details. For full object descriptions see our API Reference. |
paymentInstrument.type | ✅ | An object that contains your customer's payment type. The only allowed value is:
|
paymentInstrument.accountType | ✅ | An object that contains your customer's payment account type. For Personal Account possible values:
|
paymentInstrument.accountNumber | ✅ | An object that contains your customer's bank account number. |
paymentInstrument.routingNumber | ✅ | An object that contains your customer's bank routing number. |
paymentInstrument.companyName | ✅ | An object that contains your customer's company name. This is a mandatory field for Corporate Account and must not be supplied for Personal Account. |
paymentInstrument.billToAddress | ✅ | An object containing the bill to address information. Mandatory fields include:
|
billToAddress.firstName | ✅ | An object that contains your customer's first name. This is a mandatory field for Personal Account. |
billToAddress.lastName | ✅ | An object that contains your customer's last name. This is a mandatory field for Personal Account. |
Optional fields in an ACH verification request
Optional fields and descriptions
ACH verification requests with optional and mandatory fields:
{
"merchant": {
"entity": "default"
},
"transactionReference": "1234567",
"paymentInstrument": {
"type": "bankAccountUS",
"accountType": "checking",
"accountNumber": "1234567890",
"routingNumber": "011400495",
"billToAddress": {
"firstName": "John",
"lastName": "Smith",
"address1": "address1",
"address2": "address2",
"address3": "address3",
"city": "city",
"region": "state",
"postalCode": "postalCode",
"countryCode": "US",
"telephoneNumber": "4085551212"
}
}
}
Descriptions of your optional ACH verification request parameters:
Parameter | Required | Description |
---|---|---|
paymentInstrument.billToAddress | ❌ | An object containing the bill to address information. Optional fields includes:
|
billToAddress.firstName | ❌ | An object that contains your customer's first name. This is an optional field for Corporate Account. |
billToAddress.lastName | ❌ | An object that contains your customer's last name. This is an optional field for Corporate Account. |
ACH verification response
In your response is a 201
HTTP response code and the historic outcome
of the verification.
outcome
:
verified
not verified
{
"outcome":"verified",
"checkedAt":"2021-09-27T18:02:16.475Z",
"_links":{
"cardVerifications: verification":{
"href":"https://try.access.worldpay.com/cardVerifications/{resource}"
}
}
}