Last Updated: 14 January 2025 | Change Log
Pay with EFT
Authorize an EFT payment and initiate a settlement request with one call.
Take a sale
POST
your request to the direct:sale
action link.
Sale example request
POST
https://try.access.worldpay.com/payments/alternative/direct/sale
EFT sale request body:
{
"transactionReference": "unique-transactionReference",
"merchant": {
"entity": "default"
},
"instruction": {
"narrative": {
"line1": "trading name"
},
"paymentInstrument": {
"type": "bankAccountCA",
"accountType": "checking|savings|corporate|corporateSavings",
"accountNumber": "01234567890123456",
"routingNumber": "01234567",
"checkNumber": "012345678901234",
"companyName": "for corporate accounts only",
"billingAddress": {
"firstName": "John",
"lastName": "Johnson",
"address1": "100 King Street W",
"address2": "Suite 5350",
"address3": "53rd Floor",
"postalCode": "M5H 4C7",
"city": "Toronto",
"state": "ON",
"countryCode": "CA"
}
},
"value": {
"currency": "CAD",
"amount": 250
}
}
}
Parameter descriptions
Parameter | Required | Description |
---|---|---|
transactionReference | ✅ | The unique transaction reference for this sale. Up to 15 characters, digits only. |
merchant.entity | ✅ | Used to route the sale request in Access Worldpay, created as part of on-boarding. |
instruction | ✅ | The object that contains all the payment information related to the sale request. |
instruction.narrative.line1 | ✅ | This field is visible in the customer's bank statement. |
instruction.paymentInstrument | ✅ | An object that contains bank account details. |
paymentInstrument.type | ✅ | The type of payment instrument, must be "bankAccountCA" for EFT. |
paymentInstrument.accountType | ✅ | Possible values: checking, savings, corporate, corporateSavings. |
paymentInstrument.accountNumber | ✅ | Account number of direct debit account. |
paymentInstrument.routingNumber | ✅ | Routing number of direct debit account. |
paymentInstrument.checkNumber | ❌ | Check number of the direct debit account. |
paymentInstrument.companyName | ❌ | Company name if a corporate account. |
paymentInstrument.billingAddress | ❌ | An object containing the billing address information. If included you must send at least:
|
paymentInstrument.billingAddress.firstName | ❌ | An identifier for the firstName being used. |
paymentInstrument.billingAddress.lastName | ❌ | An identifier for the lastName being used. |
paymentInstrument.billingAddress.address1 | ❌ | An identifier for the address1 being used. |
paymentInstrument.billingAddress.address2 | ❌ | An identifier for the address2 being used. |
paymentInstrument.billingAddress.address3 | ❌ | An identifier for the address3 being used. |
paymentInstrument.billingAddress.postalCode | ✅ | An identifier for the postalCode being used. |
paymentInstrument.billingAddress.city | ✅ | An identifier for the city being used. |
paymentInstrument.billingAddress.state | ❌ | An identifier for the state being used. |
paymentInstrument.billingAddress.countryCode | ✅ | An identifier for the countryCode being used. |
instruction.value | ✅ | An object that contains the value of the sale. |
instruction.value.currency | ✅ | An identifier for the currency being used. |
instruction.value.amount | ✅ | An identifier for the amount being used. |
Sale response
Best Practice
Access Worldpay returns a WP-CorrelationId
in the headers of service responses. We highly recommend you log this. The WP-CorrelationId
is used by us to examine individual service requests.
Successful payment
You receive:
Refused payment
You receive:
- an HTTP code
201
- an
"outcome": "refused"
Note
In case of an error, you can get further information in our error reference.
Next steps