Sources

source objects represent your requests to make NACH Debit CREATE mandates i.e. mandate objects. Upon source being authorised by the customer, a mandate is automatically created. The exact set of values from amount_collection up to and including variant, as well as metadata, are all populated in mandate directly from their corresponding fields in source. If customer or bank_account objects are passed in source, source uses them, and mandate is attached to them. Otherwise, mandate is created with new customer and new bank_account. After the mandate is created, you can then create a subscription or ach_debit.

The source object

ATTRIBUTES

Scroll inside to view more
Attribute
Description
id string
Unique identifier for the object.
object string, value is "source"
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.
client_secret string
The client secret of the source. Serves as a password for the mandate URL page for emandate_api and emandate_esign variants. Is also used to confirm that the customer who completed the redirect flow is the same one who entered it. The same value is stored in mandate.
date_submitted date
The date on which the source was submitted.
date_withdrawn date
The date on which the source was withdrawn.
flow string
The authentication flow of the source to create. flow is redirect if nach_debit.variant is emandate_api.
nach_debit hash
Information for the mandate to be created by the source object. See child attributes in the table below.
origin string
The origin of the source. Value can be API, Form or Import.
redirect hash
Information related to the redirect flow. See child attributes in table below.
type string
The type of source. The type is a payment method, and is always nach_debit. An additional hash is included on the source with a name matching this value. It contains additional information specific to the payment method used.
status string
The status of the source, one of pending, submitted or withdrawn. Source starts in pending, and transitions to either submitted if the payment instrument authorisation is submitted, or to withdrawn if the source is withdrawn.
agent string
Identifier of the agent.
bank_account string
Identifier of the bank account.
customer string
Identifier of the customer.
mandate string
Identifier of the mandate.

Child attributes for nach_debit:

Scroll inside to view more
Attribute
Description
amount_collection integer
Fixed amount of the mandate. A positive integer in paisa (one hundredth of a Rupee). e.g. 10000 means Rs 100.00. Only one of amount_collection or amount_maximum will be present, never both.
amount_maximum integer
Maximum amount of the mandate. A positive integer in paisa (one hundredth of a Rupee). e.g. 10000 means Rs 100.00. Only one of amount_collection or amount_maximum will be present, never both.
category_code string
Four-character NPCI code of the mandate category e.g. U099.
category_description string
Description of the category code.
creditor_agent_code string
Four-character NACH bank code for the sponsor bank e.g. HDFC.
creditor_agent_name string
Name of the sponsor bank e.g. HDFC BANK.
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.
creditor_utility_code string
The 18-character NACH utility code of the creditor of the mandate.
date_first_collection date
First collection date (start date) of the mandate.
date_final_collection date
Final collection date (expiry date) of the mandate. Null entry means "Until Cancelled".
date_of_mandate date
Date the mandate was signed by the customer. For physical variant, appears in the top right corner of the paper mandate. Populated for physical variant and emandate_esign variant only.
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_account_type string
Customer's bank account type. Value can be savings or current for all mandate variants. Value can also benre, nro, cc or other for physical mandate variant.
debtor_agent_code string
Four-character NACH bank code of the customer's bank (known as the destination bank) e.g. ICIC.
debtor_agent_name string
Name of the destination bank e.g. ICICI BANK.
debtor_agent_mmbid string
11-character IFSC code of the destination bank e.g. ICIC0000001. This is the customer's branch of the bank. Note: For emandate_api variant, the destination bank may respond with a different IFSC, but this does not affect the validity of the mandate.
debtor_email string
Customer's email address.
debtor_mobile string
Customer's mobile number.
debtor_pan string
Customer's PAN - Permanent Account Number (tax ID in India).
debtor_phone string
Customer's phone number.
frequency string
Frequency with which transaction requests can be submitted. Value can be ADHO (ad hoc, or as and when presented), MNTH (monthly), QURT (quarterly), MIAN (half-yearly) or YEAR (yearly) for all mandate variants. Value can also be INDA (intraday), DAIL (daily), WEEK (weekly) or BIMN (bi-monthly) for emandate_api and emandate_esign variants.
instrument string
Always takes the value DEBIT.
occurrence_sequence_type string
The occurrence sequence type of the mandate. Value can be RCUR or OOFF. Value is RCUR if frequency value is not nil. Value is OOFF if frequency value is nil.
reference1 string
Merchant's identifier for the customer.
reference2 string
Merchant's identifier for the product or service being offered to the customer.
reference3 string
Resellers identifier for the sub-merchants
reference4 JSON
Merchants can pass Additional Information.
reference5 JSON
Merchants can pass Additional Information.
variant string
The variant of the mandate, either physical, emandate_api or emandate_esign.
nach_profile string
Indentifier of the nach_profile which contains the creditor's bank account information

Child attributes for redirect:

Scroll inside to view more
Attribute
Description
auth_mode string
Authentication mode for emandate_api (either netbanking or debitcard or aadhaar) and emandate_esign (otp, biometric or iris). Value will be populated either when given as an argument, or later when the customer authorises the source.
auth_attempts string
The number of times that someone has clicked on "Proceed" on the source authorisation page.
response hash
The decrypted response from the payment system as part of a redirect authentication flow. For variant emandate_api, this is the response XML from NPCI ONMAGS, in JSON format, populated when the customer returns from ONMAGS. This value will always be present if the customer returns from ONMAGS, regardless of authentication success or authentication error. In the success case, this will contain the UMRN in . In the error case, this will contain the error in . For variant emandate_esign, this is the response XML from the eSign gateway, in JSON format, populated when the customer returns from the eSign gateway.
return_url string
The URL you provided to redirect the customer to after they authorise the payment instrument as part of a redirect authentication flow.
short_url string
The short URL provided to you to redirect a customer to as part of a redirect authentication flow. Suitable only for invitation method, not checkout method. Upon visiting the short_url, the customer must enter a password to proceed to url. The password is the mobile number. Appears only if a mobile number is given in the payment system hash e.g. debtor_mobile in nach_debit.
url string
The URL provided to you to redirect a customer to as part of a redirect authentication flow.
Last updated 1 year ago