PAD Agreements

Send PAD agreements for approval for ACH processing.

The PAD Agreement Object

A pad object is created and stored against a customers bank object, as an indication that the banking details have been verified and payments using these details have been authorized by the customer. A PAD agreement can be created and authorized through a range of payment tools, such as HelcimPay.js, the ACH Payment API, or within the Customer section of your Helcim account.

A PAD agreement stores a number of core payment details for the customers bank authorization, including:

  • Details on which bank account and customer the PAD agreement is for.
  • A range of date values indicating when the PAD agreement was created, accepted, revoked, updated, and when the earliest debit from the bank account can occur.
  • The status of the PAD agreement, indicating whether it i spending, has been accepted, or has been revoked.
// Example PAD agreement object
{
  "pad": {
    "id": 66051,
    "accepted": 1,
    "bankAccountId": 53443,
    "customerId": 22745923,
    "dateAccepted": "2024-07-04 11:16:44",
    "dateCreated": "2024-07-04 11:16:44",
    "dateEarliestDebit": "2024-07-04 11:16:44",
    "dateRevoked": "0000-00-00 00:00:00",
    "dateUpdated": "2024-07-04 11:16:44",
    "ipAddress": "",
    "merchantId": 208967,
    "merchantAuthorized": 0,
    "type": 1,
    "status": 1
  }
}

Creating a PAD Agreement for a Customer

A PAD agreement is created automatically by the Helcim system when a customer provides their bank account details for processing. How the PAD agreement is created will determine how the customer can approve the AD agreement.

📘

Processing ACH Bank Payments

A PAD agreement is required in order to successfully process ACH bank payments.

ACH payments will remain in a pending status and not progress through settlement if processed against bank account details that have not been authorized by an approved PAD agreement.

Sending a PAD Agreement to a Customer

A PAD agreement will be sent to a customer, or can be approved by a customer, through the following methods.

  • Using the Create bank account endpoint will trigger an email to the associated customer, if a valid billing address email exists in the customer object.
  • Using the Request bank account information from a customer endpoint will trigger an email to the relevant customer to enter their banking information and approve a PAD agreement at the same time.
  • Integrating with HelcimPay.js to capture banking information, using a "verify" payment type with a payment method of "ach", will allow the customer to enter their banking information and approve a PAD agreement at the same time.

PAD Agreement Endpoints

Retrieve and update a pad object using the following endpoints.

EndpointDescription
Get a PAD by its IDRetrieve a single pad object, based on the customerId, bankAccountId, and padId.
Get all PADS for a customerRetrieve an array of pad objects, based on the customerId.
Update a PAD by its IDUpdate a range of parameters for a pad object, based on the customerId, bankAccountId, and padId.