get
https://staging.api.decentro.tech/v3/payments/upi/autopay/presentation/status
This API is used to get the status of a mandate presentation.
Overview
This API can be used to check the status of a mandate presentation initiated by the Mandate presentation API as an alternative to the presentation Callback to fetch the details of a presentation.
Flow
Below is the flow for using this API.
- The platform presents the mandate using the Mandate Presentation API and initiates the mandate presentation process via Decentro.
- Decentro presents the same to its bank partner and the funds might be debited from the payer's bank account mapped to the VPA against which the mandate is registered.
- Decentro triggers the Presentation Status callback to the configured endpoints of the platform as soon as a terminal status (Success/Failure) is received
- The platform can alternatively check the status of the debit using the the endpoints of this API using the presentation sequence ID from presentation Mandate API.
- The Get Mandate Presentation Status API now supports querying by
reference_idin addition topresentation_sequence_id. - Pass either
presentation_sequence_id(for latest presentation status) orreference_id(for transaction-level status). - Request with both fields or none will be rejected.
- Response structure remains unchanged.
- To check the status of presentations occurred within 5 minutes, use the presentation_sequence_id "DFN-decentro_mandate_id-0001". Where decentro_mandate_id is variable.
Points to Note
- If this API is used before the status of the presentation reaches the terminal stage, Decentro returns the status of the mandate as 'Pending'
- If this API is used after the status of the presentation reaches the terminal stage, Decentro returns the status of the mandate presentation as 'Success' or 'Failure' depending on the transaction status
- If the presentation itself doesn't happen for any reason, Decentro returns the status of the mandate presentation as 'Failure'
API Endpoints
Below is the endpoints for using this API.
| Environment | Endpoint |
|---|---|
| Staging / Sandbox | https://staging.api.decentro.tech/v3/payments/upi/autopay/presentation/status |
| Production | https://api.decentro.tech/v3/payments/upi/autopay/presentation/status |
Error Keys
Decentro intimates the platform about the error leg i,e where the error has occurred in the transaction using the error_key in the callback payload. Please note that error keys are for the platform's use, and standalone is not recommended for end-user messaging.
Below are the values propagated by Decentro, as well as the associated interpretation.
| Error Key | Description |
|---|---|
| error_at_remitter_bank | The transaction failed due to an issue at the payer's bank, such as limits breached or an account frozen. |
| error_at_beneficiary_bank | The transaction failed due to an issue at the Decentro's bank partner's end. |
| error_at_payer_psp | The transaction failed due to an issue at payer PSP, i.e., the UPI app used by the payer to authorize the transaction. |
| error_at_payee_psp | The transaction failed due to payee PSP, i.e., Decentro's partner bank's end. |
| error_at_npci | The transaction failed due to an issue at the NPCI level |
Presentation Status Description
| Error Key | Presentation Status Description |
|---|---|
| NA | Mandate presentation initiated successfully |
| NA | Mandate presentation is successful |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_beneficiary_bank | Beneficiary bank error: Timeout with payee PSP |
| error_at_beneficiary_bank | Beneficiary bank failed the transaction |
| error_at_npci | NPCI risk error: Flagged as risk transaction |
| error_at_remitter_bank | Remitter bank error: Timeout with payer PSP |
| error_at_remitter_bank | Remitter bank: Timeout with NPCI switch |
| error_at_payee_psp | PSP Technical Error: Timeout with NPCI switch |
| error_at_remitter_bank | Limit for net debit cap amount exceeded |
| error_at_payer_psp | Payer's device fingerprint mismatched |
| error_at_payer_psp | Payer chose invalid PSP |
| error_at_beneficiary_bank | PSP Technical Error: Timeout with NPCI switch |
| error_at_beneficiary_bank | Beneficiary bank is offline |
| error_at_remitter_bank | PSP Technical Error: Timeout with NPCI switch |
| error_at_payer_psp | Technical error: encryption error at NPCI |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_remitter_bank | Payer does not have sufficient funds in the account |
| error_at_remitter_bank | Payer has entered invalid MPIN |
| error_at_remitter_bank | Remitter bank error: Transaction frequency limit exceeded |
| error_at_remitter_bank | Payer exhausted the number of MPIN retries available |
| error_at_remitter_bank | Remitter bank: Timeout with NPCI switch |
| error_at_remitter_bank | Remitter bank error: Transaction amount limit exceeded |
| error_at_payee_psp | PSP Technical Error: Timeout with NPCI switch |
| error_at_remitter_bank | Account is either a minor, proprietor, NRE or disputed account |
| error_at_npci | Remitter bank risk error: Flagged as risk transaction |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_remitter_bank | Payer account either blocked or frozen |
| error_at_remitter_bank | Compliance error: Remitter bank failed the transaction |
| error_at_remitter_bank | Payer account still under freeze period for first time user |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_remitter_bank | Remitter bank is offline |
| error_at_remitter_bank | Transaction limit exceeded for remitter bank |
| error_at_remitter_bank | Payer registered mobile number is changed/removed |
| error_at_remitter_bank | Payer account does not exist |
| error_at_remitter_bank | Payer has not set the MPIN |
| error_at_remitter_bank | Payer account is either inactive or dormant |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_remitter_bank | Transaction purpose value invalid |
| error_at_remitter_bank | Transaction is not permitted to payer |
| error_at_remitter_bank | Transaction is not present |
| error_at_remitter_bank | Payer is not active or payer services are disabled |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_beneficiary_bank | Transaction is not permitted to payer |
| error_at_payee_psp | Beneficiary error: Timeout with Beneficiary bank |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_payee_psp | Payee PSP failed the transaction |
| error_at_remitter_bank | Payer has changed the account |
| error_at_remitter_bank | First transaction limit exceeded |
| error_at_remitter_bank | Duplicate unique transaction reference found |
| error_at_remitter_bank | Transaction is not permitted to the type of account |
| error_at_remitter_bank | Debit error: Debit not possible in the type of account |
| error_at_npci | NPCI risk error: Flagged as risk transaction |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_remitter_bank | Payer does not have sufficient funds in the account |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_beneficiary_bank | Beneficiary bank error: Timeout with payee PSP |
| error_at_payee_psp | Payee PSP failed the transaction |
| error_at_payee_psp | Payee PSP error: Payee PSP high request volume failure |
| error_at_beneficiary_bank | Beneficiary bank failed the transaction |
| error_at_remitter_bank | Remitter bank failed the transaction |
| error_at_npci | NPCI error: AI model declined the transaction |
| error_at_npci_switch | Technical Error. Payment could not be processed. Please try again |
| error_at_remitter_bank | Request authorisation acknowledgement is not received |
| error_authorization_declined | Payment Failed: Authorization Error |
| error_at_beneficiary_bank | Collect request expired at beneficiary bank |
| error_at_payer_psp | Payer PSP unavailable |
| error_at_npci | NPCI generic payment failure |
| error_at_provider | Mandate presentation failed |
| error_at_remitter_bank | Transaction declined by customer |
| error_at_remitter_bank | Customer account blocked |
| error_at_remitter_bank | Transaction not permitted to this customer |
| error_at_remitter_bank | Account does not exist / closed |
| error_at_remitter_bank | Insufficient balance |
| error_at_beneficiary_bank | Debit freeze at beneficiary bank |
| error_at_remitter_bank | Transaction limit exceeded |
| error_at_remitter_bank | Daily limit exceeded |
| error_at_remitter_bank | Invalid UPI ID / VPA |
| error_at_remitter_bank | Transaction not permitted to beneficiary |
| error_at_remitter_bank | Invalid account status |
| error_at_remitter_bank | Invalid account type for autopay debit |
| error_at_remitter_bank | Customer consent expired |
| error_at_remitter_bank | Mandate not found |
| error_at_remitter_bank | Mandate revoked by customer |
| error_at_merchant | Mandate cancelled by merchant |
| error_at_merchant | Mandate execution window expired |
| error_at_provider | Mandate already executed |
| error_at_provider | Debit blocked for this merchant |
| error_at_beneficiary_psp | Transaction rejected by beneficiary PSP |
| error_at_beneficiary_psp | Beneficiary PSP timeout |
| error_at_npci | NPCI timeout |
| error_at_provider | Payment reference mismatch |
| error_at_provider | Duplicate transaction detected |
| error_at_provider | Amount exceeds mandate cap |
| error_at_provider | Mandate suspended |
| error_at_provider | Mandate expired |
| error_at_provider | Bank / PSP unavailable |
| error_at_beneficiary_bank | Technical decline from beneficiary bank |
| error_at_remitter_bank | Technical decline from remitter bank |
| error_at_payer_psp | PSP switch timeout |
| error_at_remitter_bank | Bank CBS timeout |
| error_at_npci | NPCI switch timeout |
| error_at_payer_psp | Internal system error at PSP |
| error_at_remitter_bank | Internal system error at bank |
| error_at_beneficiary_bank | Timeout waiting for beneficiary response |
| error_at_remitter_bank | Timeout waiting for remitter response |
