Are you looking for test card numbers?

Would you like to contact support?

Payment-method icon

ACH Direct Debit Component

Add ACH Direct Debit to an existing Components integration.

On this page, you can find additional configuration for adding ACH Direct Debit to your Components integration.

Before you begin

This page assumes you've already:

API reference

Select which endpoint you're integrating:

This is the default with Web Components v5.0.0 or later.
Parameter name Required Description
billingAddress -white_check_mark- The postal address of the shopper. Recommended to increase conversion rates.
curl https://checkout-test.adyen.com/v68/sessions \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
  "merchantAccount": "YOUR_MERCHANT_ACCOUNT",
  "amount": {
      "value": 1000,
      "currency": "USD"
  },
  "returnUrl": "https://your-company.com/checkout?shopperOrder=12xy..",
  "reference": "YOUR_ORDER_NUMBER",
  "countryCode": "US",
  "billingAddress":{
      "city":"Amsterdam",
      "country":"US",
      "houseNumberOrName":"50",
      "postalCode":"12010",
      "stateOrProvince":"NY",
      "street":"Test Street"
  }
}'
If you implemented an advanced use case, or integrated with Web Components before v5.0.0.
Parameter name Required Description
billingAddress -white_check_mark- The postal address of the shopper. Recommended to increase conversion rates.
curl https://checkout-test.adyen.com/v68/payments \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
   "merchantAccount":"YOUR_MERCHANT_ACCOUNT",
   "amount":{
      "value":"1000",
      "currency": "USD"
   },
   "reference":"YOUR_ORDER_NUMBER",
   "{hint:state.data.paymentMethod from onSubmit}paymentMethod{/hint}":{
      "type":"ach",
      "encryptedBankAccountNumber": "adyenjs_0_1_25$GTE/ytzAupIEbFEybScAA/T3W8+Xj3ZWj3CIl5IeIdMfkNd8rRnH0T/YfmR9rU3pLsZDEoIg8SLGLTdehuYFf9Oxl7FO+Fqi7uFBJpDyJm0BE8IFN330k+01UNRObpLjbJSUr0a7ylZoZxEBrw7Sj2PDEIIxfnHF8mVuxanDUoD7t91MB1VKe/p5vwE2YylLzkuCbmM5RXv5Ahd05eF+zL39B8+TUpuK+gShwCJH0Ay+hnF6FavpcLRvmD4YYL4glBTqiEta+vsO6R9EDejDRlDTOqDAZ4P5gleU1ALEkWzwcN+GNCk0K0LQVNkPCsMUTLIeor+n95t3zuUC+5kTAw==$a7K23S61C2maU8SUH6w/XzZbNYoXF/ndSLd3JyLS51EqXCEx8JGOzFjp52uIKCyHPxxr9zquWSqdiC8GQsXl1mth2AOS97Xcwu1pf+pYO3NGCPsTzQNKoXcd5yyyb+1SYdiiPsPSdSNhb1CT9O2rvfWRqSBUSikgyhoYkUg/o8KPI8hKVvpdUf5EEZoctKPr5CU7mXFp+pD8M2FzDP8dr6KYgGprtytWjPxXYtUw7T+uNJfbuIvAuKDsFPK0UrkYcDyW43QHZwtualg/YRDXnIzeIdY/I5s13zGsWUGWVuOFFZEANhnJCtyLbQCVYzqs6t9ziAARMXyb/ZhUR+/R2gAkIP7dGQZFUyCzyCHyCSExbUv/VEHSIVTR8NVUx+inHfLMtsS3cplRwCeKJ4ThQR228F8KPEaZlu7FOCUmZxQcDyYUrcTa70ddJkNEt0NsjOMUDaNPSaURUnCkFwsY83FUY/rql74p8ZFF",
      "encryptedBankLocationId": "adyenjs_0_1_25$UbyYyi7693Ya9e3cZNYOJj//l7bxQMMYChWRpLmzhx+WU21kI0RGOTrf26YSeGZBPY04D0vYohMLJfXkBrvIHFthOtat7ZPvQgXCpXfao3KuKogDMM6KoAVpH7wtp7D6wZfUR7uP38ARbqyl4Ztn7ymPJ3OcCl6CxqMn05ixtcLv418XvNTM+P/67TLhQbdhy9OYUnh2Ja2+xueXZJRSTaUn/ILtMQs81hp8XTwMF7aoQJ6cd4cxfkmZ/jU57DE0YFrTtEsvsGJIcgF70vY5yXj2ODpLnnMHr3Fwd8pne0j/zzd/IT/+UDXOQoZvzDWpmO7tNW6rcVLCEtBijnqUCw==$9COJh5qZrOHnhmPXv9z07sDKu3DCFe5iyxBwy/rtDhBL7pZFpsmpxtCfFhFqjfd/A2iwMFQ8WqOaHQhzKGYswlauH33WbcNVUmw+B+SvHSJIWxJOkPbWv5zCX5KIATnIRGmi9c/vNNRI2TBbxML8P89245lyc2c7mIXZC/xCbpVXu0fRZCEWEo2PM43HNBwYZNQ/QTf285lMFNHhIEJUJnfMElHp1nV/pcdo2zw8zwKsAXn/BiTaT341SQcmm4JtcXvFEcetCPEElN9yemcwtCt1qzPUSZuM5+q5A/s+M4edH6lyjKKUqrqxps39EJxzam0NISJIszlhPKib0ML/lG7yiJU6EDBOflntKBBt490A0igN2GyK4HbxjonvlDMTgpHwkLLU5cf3zg3lfHFHyxTpsq5sLuwXuJcDaDK3TSl8/jjkmCcHXWJLdK5UaqRjg1QZ4EQadTiP/iPjEIrj4mKZJMXyw2gB/dDDN0egEy6pQmt9pzlgRNQ=",
      "ownerName": "John Smith"
   },
   "returnUrl": "https://your-company.com/checkout?shopperOrder=12xy..",
   "billingAddress":{
      "city":"Amsterdam",
      "country":"US",
      "houseNumberOrName":"50",
      "postalCode":"12010",
      "stateOrProvince":"NY",
      "street":"Test Street"
   }
}'

Component configuration

Step 1: Create a DOM element

Create a DOM element on your checkout page, placing it where you want the payment method form to be rendered:

 <div id="ach-container"></div>

Step 2: Create an instance of the Component

Use the create method of your AdyenCheckout instance, in this case checkout, to create the Component:

const achDirectDebitComponent = checkout.create('ach').mount('#ach-container');

Payment outcome

After we successfully received your request, it may take up to five business days to know whether the payment was authorised by the bank. If the bank authorised the payment, it will appear in the Settlement details report. If the bank failed to authorise the payment, you will receive a CHARGEBACK notification.

Chargebacks

ACH Direct Debit payments can fail when:

  • There was a problem with settlement, for example because the account had insufficient funds, had been closed, or the account number was invalid.
  • The shopper asked their bank for a refund. This is referred to as a chargeback. Shoppers can reverse an ACH payment up to 60 days after settlement for one of the following reasons:
    • They did not formally agree to the charge, or revoked such an agreement.
    • The charge is processed on a date earlier than agreed.
    • The amount of the charge is different than agreed.
    This is different from credit card transactions, where a customer can initiate a chargeback by claiming that a product or service was not what they expected.
    You cannot defend ACH Direct Debit chargebacks. These will always result in the payment being reversed.
    For more information on the chargeback process, refer to Dispute management.

If an ACH Direct Debit payment fails, you will receive a CHARGEBACK notification, and your Settlement details report will show a credit and a corresponding debit.

CHARGEBACK notification
{
  "live": "false",
  "notificationItems": [
    {
      "NotificationRequestItem": {
        "additionalData": {
          "modificationMerchantReferences": ""
        },
        "amount": {
          "currency": "USD",
          "value": 1000
        },
        "eventCode": "CHARGEBACK",
        "eventDate": "2019-03-20T15:40:27+01:00",
        "merchantAccountCode": "YOUR_MERCHANT_ACCOUNT",
        "merchantReference": "YOUR_PAYMENT_REFERENCE",
        "originalReference": "161552590902659C",
        "paymentMethod": "ach",
        "pspReference": "181552594831625C",
        "reason": "Chargeback",
        "success": "true"
      }
    }
  ]
}

Test and go live

Before making live ACH Direct Debit payments, use the following account details to test your integration.

Account Owner's Name Bank account number Bank routing number Account Owner's Address
Any name Any correctly formatted account number. Example: 123456789 011000138 or 121000358 Any correctly formatted US address.

See also