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

Create Invoice

Merchant can create invoice for all recurring charges.

For sample code click here.

Retrieve Invoice

Merchant can retrieve invoice that had been already created.

For sample code click here.

🚧

RuPay Invoice API Exception

There 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.

AttributeDescription
invoice_numberUnique number assigned by merchant for the invoice.
invoice_display_numberInvoice number to be displayed to the customer.
subscription_refidUnique reference assigned by merchant for the subscription.
invoice_dateInvoice generation date in the YYYYMMDD format.
duedateInvoice due date in the YYYYMMDD format.
debit_dateDate on which the SI debit needs to be executed to the payment method.
mandateidUnique 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.

AttributeDescription
invoice_numberUnique number assigned by merchant for the invoice.
mercidUnique 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"
}