Initiate Invoice
1. Introduction - Prior to recurring transaction
To collect a recurring/ SI charge from the customer, merchant needs to initiate an "Initiate Invoice" request (also known as PDN). An invoice represents the billed amount that needs to be collected from the customer for a subscription at a certain date defined at the time of mandate creation. An invoice with a specific reference to the underlying mandate ID can be created using the API.
The invoice details are sent to the customer as a pre-debit notification (PDN) for the card and upi payment methods, as required by regulatory guidelines. The PDN shall, inform the cardholder about the name of the merchant, transaction amount, date / time of debit, reference number of transaction/ e-mandate, reason for debit, i.e., e-mandate registered by the cardholder. For UPI, pre-debit-notifications are sent by bank via (SMS, email).
To ensure that the PDN is received by the customer atleast 24 hours prior to the recurring charge (regulatory requirement), it is recommended that the invoice request is initiated 2 days prior to the recurring charge request (i.e. 2 days prior to the debit date mentioned in invoice API request).
If the recurring charge debit amount is higher than the permissible limit (as per regulations), the customer is required to provide an additional AFA for processing the recurring charge. This is not applicable for upi mandates.
Transaction Limits
- No AFA - Mandates for amounts upto ₹15,000 do not require the customer to authorize the transaction with an additional factor of authentication (AFA).
- AFA Required - Mandate executions for amounts over ₹15,000 need to be authorized by the customer through an AFA each time.
2. Salient Features
- Allows merchant to automate the process of recurring charges within their system without operations involvement
3. API Orchestration
The orchestration of the API/ s workflow has been explained below:
API Reference | Description |
|---|---|
Merchant can create invoice for all recurring charges. For sample code click here. | |
Merchant can retrieve invoice that had been already created. For sample code click here. |
RuPay Invoice API ExceptionThere is an exception when merchant use the Create Invoice API for RuPay.
RuPay network requires card object instead of token object when the request is sent to Invoice API. The workflow is required only in case of e-Mandates created through token object using RuPay cards.
3.1 Create Invoice request attributes
Here are some of the attributes required to initiate invoice request. For more details click here.
| Attribute | Description |
|---|---|
| invoice_number | Unique number assigned by merchant for the invoice. |
| invoice_display_number | Invoice number to be displayed to the customer. |
| subscription_refid | Unique reference assigned by merchant for the subscription. |
| invoice_date | Invoice generation date in the YYYYMMDD format. |
| duedate | Invoice due date in the YYYYMMDD format. |
| debit_date | Date on which the SI debit needs to be executed to the payment method. |
| mandateid | Unique mandateid by BillDesk for the associated mandate. |
3.2 Retrieve Invoice request attributes
Here are some of the attributes required to initiate retrieve invoice request. For more details click here.
| Attribute | Description |
|---|---|
| invoice_number | Unique number assigned by merchant for the invoice. |
| mercid | Unique mercid assigned by BillDesk for the merchant. |
Understanding the Initiate Invoice response object:
{
"status": "unpaid",
"verification_error_code": "INS0000",
"verification_error_type": "Invoice Successful",
"verification_error_desc": "success"
}
Updated 6 months ago
