Menu

Direct Debit ACH and EFT

A US domestic (ACH) or Canadian (EFT) wire transfer.

Prerequisite
Before using Direct Debit ACH or Canadian EFT:

  • You must be enabled to do so. For more information, contact your Relationship Manager or Implementation Manager.
  • You must have a US domestic bank account for ACH, or a Canadian domestic bank account for EFT.

Integrate

Submit the <ACH_DIRECT_DEBIT-SSL> payment method with child element <echeckSale>.

<echeckSale> contains:

ElementM/OFormatDescription
<billingAddress>M--Parent element forBilling address elements.
<bankAccountType>MPossible Values:
  • Checking
  • Savings
  • Corporate
  • Corp Savings
The type of direct debit account used in the transaction.
<accountNumberMN(17)Account Number of direct debit account.
<routingNumber>MN(8)Routing Number of direct debit account.
<checkNumber>ON(15)Check number of the direct debit account.
<companyName>OString(40)Company name if a corporate account.
<customIdentifier>OAN(15)This can be used as a billing descriptor on the bank statements.

Billing address elements

The <billingAddress> element has these child elements:

ElementM/ODescription
<firstName>MandatoryFor Direct Debit processing, include both the first and last names. Example: JohnSmith.
<address1>MandatoryBilling contact address line 1.
<address2>OptionalBilling contact address line 2.
<address>OptionalBilling contact address line 3.
<postalCode>MandatoryBilling contact ZIP / postal code.
<city>MandatoryBilling contact city.
<state>OptionalBilling contact state code, two-character long ISO code required for North America.
<countryCode>MandatoryBilling contact ISO Country Code
Example:US
For details, seeISO Country Codes.

Full XML example:

Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="YOUR_MERCHANT_CODE">
  <submit>
    <order orderCode="YOUR_ORDER_CODE">
      <description>test order</description>
      <amount value="1499" currencyCode="USD" exponent="2"/>
      <orderContent>
        <![CDATA[]]>
      </orderContent>
      <paymentDetails>
        <ACH_DIRECT_DEBIT-SSL>
          <echeckSale>
            <billingAddress>
              <address>
                <firstName>John</firstName>
                <lastName>Johnson</lastName>
                <address1>8500 Govenors Hill Drive</address1>
                <address2>Symmes Township</address2>
                <postalCode>45249</postalCode>
                <city>Ohio</city>
                <countryCode>US</countryCode>
              </address>
            </billingAddress>
            <customIdentifier>YOUR_IDENTIFIER</customIdentifier>
            <bankAccountType>Checking</bankAccountType>
            <accountNumber>5186005800001012</accountNumber>
            <routingNumber>000010101</routingNumber>
            <checkNumber>1104</checkNumber>
          </echeckSale>
        </ACH_DIRECT_DEBIT-SSL>
        <session shopperIPAddress="127.0.0.1" id="ssn185162629"/>
      </paymentDetails>
      <shopper>
        <shopperEmailAddress>sp@worldpay.com</shopperEmailAddress>
        <browser>
          <acceptHeader>text/html</acceptHeader>
          <userAgentHeader>Mozilla/5.0 ...</userAgentHeader>
        </browser>
      </shopper>
    </order>
  </submit>
</paymentService>

Response

Example Response

Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="YOUR_MERCHANT_CODE">
  <reply>
    <orderStatus orderCode="YOUR_ORDER_CODE">
      <payment>
        <paymentMethod>ACH_DIRECT_DEBIT-SSL</paymentMethod>
        <amount value="100" currencyCode="USD" exponent="2" debitCreditIndicator="credit"/>
        <lastEvent>AUTHORISED</lastEvent>
        <balance accountType="IN_PROCESS_AUTHORISED">
          <amount value="100" currencyCode="USD" exponent="2" debitCreditIndicator="credit"/>
        </balance>
      </payment>
    </orderStatus>
  </reply>
</paymentService>

Hosted Payments

ACH is available with Worldpay'sHosted Payment Pages (HPP). When your customer chooses ACH Direct Debit as their payment method, Worldpay present a data capture form for the customer to complete.

The payment process follows the standard HPPrequestandresponseexamples. Use ACH_DIRECT_DEBIT-SSL in the <paymentMethodMask> element.

The standardOrder Notificationswill be returned.

StandardOrder Modificationsare available.

Void a transaction

Submit avoid requestto reverse a transaction. If the transactions is not voidable, we will convert the request and refund it instead.

Errors

Error CodeDescriptionError origin
5Invalid AccountThe <routingNumber> or <accountNumber> supplied is invalid
5Element echeckSale: element <x> exceeds maximum allowed length of xYou have exceeded the character length of the value length validation
5Gateway errorThe value supplied in <bankAccountType> is invalid