ACH Debits

ach_debit objects represent ACH Debit transactions from a customer to a creditor, taken against a mandate. ach_debit objects are attached to customer and mandate objects, and can also be attached to ach_debit_collection, settlement and subscription objects. The API allows you to create and retrieve your ACH debits. You can retrieve individual ACH debits as well as a list of all of your ACH debits.

You can create ACH debits on any active NACH Debit mandate in NPCI's NACH Mandate Management System (MMS), regardless of whether the mandate was created in LotusPay, as long as you have an active NACH sponsor bank profile in LotusPay and the mandate object exists (either internally created or imported external).

ACH debits are created on NACH profiles. If you have your own NACH profiles, you can view them in the dashboard under Settings > Company Settings. If there is no NACH Profile visible on that page it means you are using LotusPay's aggregator NACH Profile. If the NACH profile of the specified mandate has a creditor bank account, an ACH debit or subscription can be created, otherwise not.

ACH debits can be created against mandates with status of active. Although you can create ACH debits on a mandate that already has an active subscription, it is not advisable. You will have to independently determine whether the mandate has capacity to support additional ACH debits. For example: Suppose a mandate is of frequency monthly and it has a linked subscription recurring monthly - whilst our system will let you create additional ad hoc ACH debits on this mandate, the customer's bank may reject the second ACH debit in a calendar month or one month period.

For confirmed ACH debits, the settlement field will only be populated if LotusPay is the initial creditor of your funds in the NACH Profile that the ACH debit is created on i.e. you're using LotusPay's sponsor bank. The settlement field will never be populated if you're receiving direct credit of your funds from your sponsor bank.

For confirmed ACH debits where the NACH Profile is using your own NACH utility code, the debit will appear in an ACH debit collection.

The ACH debit object

ATTRIBUTES

Scroll inside to view more
Attribute
Description
id string
Unique identifier for the object.
object string, value is "ach_debit"
String representing the object’s type. Objects of the same type share the same value.
created timestamp
Time at which the object was created. Measured in seconds since the Unix epoch.
livemode boolean
Has the value true if the object exists in live mode or the value false if the object exists in test mode.
metadata hash
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
amount positive integer
A positive integer in paisa (one hundredth of a Rupee). e.g. 100 means Rs 1.
creditor_agent_code string
Four-character NACH bank code of the creditor's bank (known as the sponsor bank) e.g. HDFC.
creditor_agent_mmbid string
11-character IFSC code of the sponsor bank e.g. HDFC0999999. This is the RTGS head office/treasury branch of the bank.
creditor_name string
Name of the creditor. This value usually appears in the transaction's narration in the debtor's bank statement.
creditor_utility_code string
NACH utility code of the creditor.
date_charge date in yyyy-mm-dd format
The date on which the ACH debit was or will be scheduled for collection.
date_response date in yyyy-mm-dd format
The date on which the ACH debit was responded to.
debtor_account_name string
Customer's name in their bank account.
debtor_account_number string
Customer's bank account number. All but last four digits are masked.
debtor_agent_code string
Four-character NACH bank code of the customer's bank (known as the destination bank) e.g. ICIC.
debtor_agent_mmbid string
11-character IFSC code of the destination bank e.g. ICIC0000001. This is the customer's branch of the bank.
mandate_reference1 string
The reference1 value of the mandate on which this ACH debit will be charged. Useful for reconciliation.
product_type string
The NACH product type of the transaction. Either 10 (for first presentation) or RPN for (representation of a previously returned transaction).
reference string
The LotusPay input reference for the transaction. LotusPay automatically sets this as your six-character company billing name (you give this during sign-up) followed by the last 10 characters of the ach_debit's id e.g. LTSPAY44332211AA. This value usually appears in the transaction's narration in the debtor's bank statement.
reference2 string
Resellers identifier for the sub-merchants
reference3 string
Resellers identifier for the sub-merchants
reference4 JSON
Merchants can pass Additional Information.
reference5 JSON
Merchants can pass Additional Information.
reference_creditor string
The merchant's input reference for the transaction.
umrn string
The NACH unique mandate reference number of the mandate.
response_code string
Error code explaining reason for ACH debit failure if available (see the errors section for a list of codes).
response_description string
Message to user further explaining reason for ACH debit failure if available.
response_flag string
NPCI-allotted indicator for the transaction status. 0 means returned, 1 means accepted, 2 means rejected, 3 means extended, 5 means recalled, 7 means deemed accepted.
response_sequence_number string
NPCI-allotted transaction sequence number. Present only if status is confirmed, failed or extended.
status string
The status of the ACH debit, one of pending, cancelled, submitted, extended, confirmed, failed or charged_back.
ach_debit_collection string
The identifier of the ach_debit_collection this ACH debit belongs to. Present only if status is confirmed.
customer string
Identifier of the customer who owns the mandate.
mandate string
The identifier of the mandate this ACH debit belongs to.
nach_profile string
The identifier of the nach_profile this ACH debit belongs to.
settlement string
The identifier of the settlement which contains the funds from this ACH debit. Note: This attribute is a legacy feature and will not appear for any new ACH debit.
nach_profile_split JSON
This Nach Profile Split is used to split the amount between two different nach profile id's. Note : Both the Nach Profile should be Active and belongs to same utility code.For now ICIC is the only sponser bank allowing for this feature. ( Eg : "nach_profile_split":{"NP0037EREJ1LSS" : 9800, "NP00846QEJV219" : 200} )
Last updated 1 year ago