PAYMENTS
SIMPLIFIED


Offer all the payment features your
customers want with a fast integration
that limits your PCI scope.

GET STARTED

API Base URLs

  • Production Server

    For processing live transactions

    https://api.payjunction.com

  • Test Server

    For development

    https://api.payjunctionlabs.com

Most Commonly Referred to Articles

ACH Implementation Guide

Please Note: Paper checks are not allowed to be converted to PPD or CCD.

The goal of this article is to give a technical and compliance overview on how to process ACH transactions through the PayJunction API. We want to ensure all the parties involved are following the NACHA (National Automated Clearing House Association) guidelines. 

Businesses that accept payments via a checking or savings account (i.e. ACH) are required to obtain a signed agreement (ACH Authorization form) that grants permission to charge or refund the bank account for a customer or business.

The ACH Authorization must: 

  1. Be signed before settlement of the transaction 
  2. and the signed ACH Authorization must remain on file for at least two years.

An ACH authorization form will typically specify the following:

  • Customer or business name
  • Routing number
  • Account number
  • Account Type
  • Amount
  • Transaction type: one-time charge, refund or recurring
  • If recurring, start date and frequency

Please note that a Voided Check does NOT constitute a valid ACH Authorization form,

 

Process Overview:

The diagram below shows an Overview of the process:

API-ACH_Workflow.png

2- Collect Payment details:

A) Collect the Payment details:

  • Routing number
  • Account number
  • Account Type
  • Amount
  • Transaction type: one-time charge, refund or recurring
  • If recurring, start date and frequency

B)

Some fields are mandatory depending on the ACH Type that is selected. So your application first needs to know the achType, the available options are:

  • PPD - For Consumer Account
  • CCD - For Business Account

C)

Then, based on the achType your application needs to collect the following mandatory fields:

For PPD - Consumer Account, the following field are mandatory:

  • billingFirstName field required (First Name)
  • billingLastName field required (Last Name)

For CCD - Business Account, the following field are mandatory:

    • billingCompanyName field required (Company Name)

3- Send the Transaction as a HOLD

If you are running a single transaction, send the Transaction as a HOLD:

"status:HOLD"

For instructions to submit a transaction, see here: POST/Transactions article.

Note that if you omit the value pair the API will default the status to CAPTURE.

If you are running a recurring schedule, make sure to collect the signed ACH agreement before the first transaction is allowed to settle.

4- Collect the ACH Authorization Form.

Collecting the customer's signature on the ACH agreement is super straight forward, your application just needs to use the PayJunction receipt. Our receipt contains all the necessary verbiage to make the transaction NACHA compliant. In that case PayJunction will ensure that the document is securely stored for the mandated 2 years period so the merchant has it readily available in case it's needed for a NACHA audit.

To use the PayJunction receipt as ACH agreement, all you have to do is consider the billingEmail a mandatory field for all ACH transactions and make sure your system sends the customer's legit email.

By default, the PayJunction system will always send email receipts for all ACH transactions. So if you application won't use email receipts, please let us know so we can disable the default setting.

5- Change transaction Status to CAPTURE

Once the ACH Authorization form has been signed use the PUT/transactions command to update the transaction status from HOLD to CAPTURE.