How to Create ACH Payments

Created by Richard Moore, Modified on Wed, 12 Jul 2023 at 01:22 PM by Richard Moore

This guide serves as a walkthrough of creating an ACH payment method, verifying the payment method, and then creating a payment using the newly added payment method. The verification process needs to happen only upon creation of the payment method. Once the payment method is verified, the verification will be stored for future use


There are two use cases for creating an ACH payment method:

  1. Using a given Account 

  2. Using a Customer profile


PRE-REQUISITES

  1. Having a merchant account created by going through the onboarding process

  2. Creating an Auth Token either through a User Token or Application Token


1 - Creating an ACH payment for a given account:

  1. Ensure your account accepted the Terms and Condition of Dwolla during the Onboarding process

    1. Terms and Conditions in the Onboarding Application

    2. Terms and Conditions in the Onboarding API


  1. Create ACH Payment Method 

              

{

   "type": "ach",

   "billingDetails": {

   "name": "ACH CUSTOMER",

   "email": "[email protected]",

      "address": {

      "city": "Scottsdale",

      "country": "USA",

      "line1": "10 N Frank Lloyd Wright Blvd",

      "line2": "200",

      "postalCode": "85259",

      "state": "AZ"

      }

   },

   "ach": {

   "routingNumber": "121000240",

   "accountNumber": "14345678991",

   "bankAccountType": "checking"

   }

}



  1. Verify a customer’s bank account to accept ACH payments - This will happen automatically if a plaid token is not present when creating the payment method in Step 3


https://api.exactpaysandbox.com/account/{accountID}/payment-method/{payment-token}/verify

{

  "amount1": 10,

  "amount2": 20

}



  1. Create an ACH Payment - You will need to pay with the payment token generated when creating the payment method, not by providing the ACH details 

{

"amount": 2000, 

"capture": true,

"customer": {

"name": "ACH CUSTOMER",

"email": "[email protected]"

},

"paymentMethod": {

"ach": {

"routingNumber": "121000248",

"accountNumber": "14345678991",

"bankAccountType": "checking"

}

},

"billingDetails": {

    "address": {

      "city": "Scottsdale",

      "country": "USA",

      "line1": "10 N Frank Lloyd Wright Blvd",

      "line2": "200",

      "postalCode": "85259",

      "state": "AZ"

    },

"name": "ACH CUSTOMER",

"email": "[email protected]"

},

"reference": {

"referenceNo": "QJ7WKGJ8"

}

}



2 - Create an ACH payment using a customer profile:


  1. Create a Customer. Customers allow you to save payment methods and billing information to a profile. Payments can be made using a customer token or payment methods can be searched via a customer profile. Please refer to Step 1 above for any prerequisites 

{

   "name": "ACH CUSTOMER",

   "email": "[email protected]",

   "phone": "5555545551",

   "addresses": [

    {

      "label": "Home",

      "city": "Scottsdale",

      "country": "USA",

      "line1": "10 N Frank Lloyd Wright Blvd",

      "line2": "200",

      "postalCode": "85259",

      "state": "AZ",

      "isDefault": true

      }

   ]

}


  1. Attach a Payment Method to a given customer - Assuming payment method has already been created and verified (Steps 2 and 3 in the above section)


{

  “token”: “aaae16af-4fed-4c1d-8a77-cc079919b10c”,

  “isDefault”: true,

  “label”: “ACH CUSTOMER”

}



  1. Create and ACH payment using a customer token 

    

{

  "amount": 100,

  "capture": true,

  "paymentMethod": {

    "token": "78c30468-d728-449e-903e-9fa79b40t123"

  },

  "reference": {

    "customerRef": "ACH CUSTOMER 1",

    "referenceNo": "123456789"

  }

}


These steps should allow you to create a payment method, verify it, and create an ACH payment directly via an account or customer. If you are experiencing any issues with the above requests, please contact [email protected] for assistance

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article