UPI Autopay - Mandate Presentation API

This API is used to execute a registered UPI based mandate that is created using the Create Mandate API.

Overview

This API lets the platform execute a debit request against a registered mandate for whom the pre-debit notification has been successfully initiated.

This API is an async API and the actual debit happens after the request is placed by Decentro with the bank partner.

Flow

Below is the flow for using this API.

  • The platform registers a UPI-based mandate using the Create Mandate API and receives the unique decentro mandate ID in the response from Decentro and in the Get Mandate Status API or the Registration Callback.
  • The platform initiates the pre-debit notification using the Pre-debit Notification API by passing the unique decentro mandate ID from Decentro.
  • Decentro responds with a presentation sequence ID upon successful completion of the notification.
  • The platform passes the same in the request payload on the endpoints if the pre-debit notification is successful.
  • The platform can also use decentro_mandate_id to trigger the presentation API within 5 minutes of registration. Pre-Debit notification is not required in case of instant presentation within 5 min
  • Decentro triggers a Presentation Status Callback to a pre-configured endpoint once the presentation reaches a terminal stage.
  • The platform can check the status of the mandate using the Mandate Presentation Status API as an alternative.

Points to Note

Decentro checks a few points before initiating the pre-debit request, most of which are fetched from the mandate registration details here.

  • The debit request should be against an active mandate
  • The debit request should be as per the set frequency
  • The debit request should be as per the amount rule
  • The debit request should be as per the set date rule
  • The pre-debit notification request should be successful
  • The user will receive a collect notification with expiry of 30 minutes in case presentation limit is more than the threshold limit. For most merchants, this limit is set to INR 15,000.
  • The clients can retry the presentation after 1 hour from the previous presentation attempt.
  • The clients can retry upto 9 times if a presentation is failed.
  • This API is an async API

❗️

Note

  1. If the first presentation fails, the registered mandate will be automatically revoked as per NPCI guidelines.
  2. The first presentation with a pre-debit notification requires user authentication, meaning the payer must authorize it by entering their MPIN.
  3. If the presentation occurs within 5 minutes of mandate registration, a pre-debit notification is not required, and the payer does not need to authorize it by entering their MPIN.

API Endpoints

Simulation Data

Decentro's simulation data helps developers simulate all the real-world scenarios when using the Create mandate API.
This requires the platform to use standard request payloads to handle scenarios for each API and scenario, as mentioned below.
The platform will need to whitelist their IP and configure callback endpoints with Decentro if they wish to handle the flow. Please reach out to us at support@decentro.tech for the same.

How to test?

Below is the flow to test the Simulation data

  1. Generate a mandate link by using Create Mandate API with the 'amount' parameter in the required range as mentioned in the test bed section.
    1. Note: To test the instant presentation within a 5-minute scenario when the amount rule is set to MAX, ensure that you pass the simulation amount value in the default_amount parameter.
  2. Click the generated link once before proceeding. This is a mandatory step to receive the simulation responses.
  3. Next Decentro will propagate the updated status of the mandate as per the amount (range) passed in step-1.
  4. Alternatively, client can use Get Mandate Status to fetch the latest status of the mandate.
  5. Next proceed to trigger the Pre Debit Notification API to test various scenario basis the amount range values mentioned in the respective test bed section.
  6. Next, proceed to trigger the Mandate Presentation API to test various scenarios basis the amount range values as mentioned in the respective test bed section.
  7. Note: The simulation environment is an exact replica of production environment including all the checks of production systems for registration, notification and, presentation .

Test Bed

Mandate Creation

AmountScenario
0 - 1000Mandate registration is successful. Mandate status is Active
1001 - 2000Mandate registration is failed. Mandate status is Failed

Pre Debit Notification

AmountScenario
0 - 500Pre debit notification is successful.
501 - 600Pre debit notification failed

Presentation

AmountScenario
0 - 100Mandate Presentation is successful.
150 - 200Mandate Presentation failed
Body Params
string
required

A specific unique ID assigned by you for this transaction. If not kept unique, transaction status extraction could behave erratically.

string
required

Remarks to be added for the presentation.

string
required

The presentation sequence ID received in the notification response.

mandate_presentation_callback_subscriber_data
object

The webhook details for triggering presentation callback

string

Unique Decentro mandate ID for the Mandate received at the time of mandate creation. Mandatory if presentation is initiated within 5 minutes of successful mandate registration.

Headers
string
required

Decentro assigned client_id during onboarding.

string
required

Decentro assigned client_secret during onboarding.

Responses

Response body
object
string
string
string
data
object
string
string
string
string
string

Language