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}" } } }