1.1.8.2 UPI Circle (Full Delegation) APIs

UPI Circle full delegation APIs allow a primary user to add, update, or remove a secondary user linkage, with transactions authorized under an active mandate and applicable limits. Responses are made available to the TPAP or channel through the query service.

The UPI Circle requirements for full delegation are implemented by making the following changes to the APIs.

UPI Circle (Full Delegation) - Secondary User APIs (Add / Update / Remove)

Table 1-6 UPI Circle (Full Delegation) - Secondary User APIs (Add / Update / Remove)

API Description
ReqMandate

From TPAP to PSP(P)

Primary user initiates mandate creation for full delegation by entering secondary user mobile number and UPI ID.

The TPAP sends a ReqMandate request with the mandate amount and recurrence pattern set as ASPRESENTED to the PSP payer switch.

PSP(P) stores request and sends sync ACK to TPAP.

ReqMandate

From PSP(P) to NPCI

PSP(P) generates Unique Mandate Number (UMN), sends ReqMandate to NPCI, and stores the outbound request details.

ReqAuthMandate

From NPCI to PSP(S)

NPCI sends ReqAuthMandate to PSP(S) for address (VPA) resolution of the secondary user. PSP(S) sends acknowledgement and stores.

RespAuthMandate

From PSP(S) to NPCI

PSP(S) resolves Virtual Payment Address (VPA) and responds via RespAuthMandate without sending payee account details.

NPCI sends an acknowledgement to PSP(S), and PSP(S) stores both the response and the acknowledgement.

ReqMandate

From NPCI to Remitter Bank

NPCI sends ReqMandate without payee account details to Remitter Bank UPI switch. Remitter stores request and ACKs NPCI.

RespMandate

From Remitter Bank to NPCI

Remitter validates that the mandate amount is less than or equal to the limit maintained in the UPI Full Delegation Transaction Limit Detailed (PVDFDLTL) screen, which is the monthly cumulative transaction limit applicable for the processing date. If the mandate is maintained, no hold is marked in the core banking system. The Remitter then sends a signed RespMandate to NPCI and stores both the response and the acknowledgement.

RespMandate

From NPCI to PSP(P)

NPCI forwards signed RespMandate to PSP(P). PSP(P) acknowledges NPCI and stores and stores the mandate details along with the signature.

ReqMandateConfirmation

From NPCI to PSP(S)

NPCI sends ReqMandateConfirmation without signature to PSP(S). PSP(S) ACKs, stores, and stores mandate details.

RespMandateConfirmation

From PSP(S) to NPCI

PSP(S) sends the RespMandateConfirmation to NPCI. NPCI sends an acknowledgement to PSP(S), and PSP(S) stores both the response and the acknowledgement.

ReqDelegateAdd

From TPAP to PSP(P)

The TPAP sends a ReqDelegateAdd request to PSP(P) with the type set to ADD and the subtype set to Full.

PSP(P) stores request and sends synchronized acknowledgement to TPAP.

ReqDelegateAdd

From PSP(P) to NPCI

PSP(P) sends ReqDelegateAdd to NPCI and stores outbound request.

NPCI sends acknowledgement and PSP(P) stores it.

ReqDelegateAdd

From NPCI to PSP(S)

NPCI forwards ReqDelegateAdd to PSP(S). PSP(S) stores request, performs XSD validation, sends ACK to NPCI, and stores ACK.

RespDelegateAdd

From PSP(S) to NPCI

PSP(S) sends a notification to the secondary user’s TPAP to accept or decline the linkage.
  • If the secondary user declines, PSP(S) sends RespDelegateAdd with the result set to FAILURE and does not maintain any linkage.
  • If the secondary user accepts, PSP(S) sends RespDelegateAdd with the result set to SUCCESS and maintains the linkage.

PSP(S) stores both the response and the acknowledgement.

RespDelegateAdd

From NPCI to PSP(P)

NPCI sends the RespDelegateAdd to PSP(P). PSP(P) sends an acknowledgement to NPCI and stores both the response and the acknowledgement.
  • If the result is SUCCESS, PSP(P) maintains the linkage between the primary and secondary user.
  • If the result is FAILURE, PSP(P) does not maintain the linkage and initiates mandate revocation for the same UMN, with the mandate record updated based on the corresponding revoke RespMandate.
Query Service

From TPAP to PSP(P)

TPAP/channel fetches final response from PSP(P) response table using query service (used for mandate/delegation outcome retrieval).

UPI Circle (Full Delegation) Transaction APIs

Table 1-7 UPI Circle (Full Delegation) Transaction APIs

API Description
ReqValAdd

From the secondary user TPAP to PSP(S) UPI switch to validate payee details after the secondary user scans a QR code or enters beneficiary details.

PSP(S) stores the request and sends a synchronous acknowledgement to the TPAP.

ReqValAdd

From PSP(S) UPI switch to NPCI UPI switch for payee validation.

PSP(S) stores the outbound request. NPCI sends an acknowledgement and PSP(S) stores the acknowledgement.

RespValAdd

From NPCI UPI switch to PSP(S) UPI switch, as the response to ReqValAdd.

PSP(S) sends an acknowledgement to NPCI and stores both the response and the acknowledgement.

Query Service

The TPAP or channel fetches the RespValAdd outcome from the PSP(S) UPI switch response table using the query service.

Transaction Initiation Rest API

From the secondary user TPAP to PSP(S) UPI switch to initiate the transaction under full delegation.

PSP(S) stores the transaction details and sends a synchronous acknowledgement to the TPAP.

ReqDelegateAuth

From PSP(S) UPI switch to NPCI UPI switch to request delegation authorization, subject to validations that the transaction amount is within the single transaction limit configured in PVDFDLTL and that the monthly cumulative limit for the UMN, which is the mandate amount, is not breached.

PSP(S) stores the outbound request. NPCI sends an acknowledgement and PSP(S) stores the acknowledgement.

ReqDelegateAuth

From NPCI UPI switch to PSP(P) UPI switch for primary PSP processing. PSP(P) sends an acknowledgement to NPCI and stores the received request and acknowledgement.

PSP(P) checks mandate status for the UMN and performs limit validations when the mandate is active. If the mandate is not active, PSP(P) notifies the primary user for authorization and the flow follows partial delegation handling.

RespDelegateAuth

From PSP(P) UPI switch to NPCI UPI switch as the response to ReqDelegateAuth. If validations fail, PSP(P) returns FAILURE and the transaction is rejected with no further financial processing.

If validations pass, PSP(P) proceeds to prepare ReqPay with UMN signature and then returns SUCCESS after a positive acknowledgement to ReqPay is received from NPCI. PSP(P) stores the response. NPCI sends an acknowledgement and PSP(P) stores the acknowledgement.

RespDelegateAuth

From NPCI UPI switch to PSP(S) UPI switch. PSP(S) sends an acknowledgement to NPCI and stores both the response and the acknowledgement.

ReqPay

From PSP(P) UPI switch to NPCI UPI switch for financial processing. PSP(P) prepares ReqPay referencing the delegation authorization and adds the UMN signature. PSP(P) stores the ReqPay details.

NPCI sends an acknowledgement. If the acknowledgement is negative, PSP(P) sends RespDelegateAuth with result set to FAILURE.

If the acknowledgement is positive, PSP(P) sends RespDelegateAuth with result set to SUCCESS.

ReqAuthDetails

From NPCI UPI switch to the Payee PSP UPI switch for beneficiary address translation. The Payee PSP sends an acknowledgement and stores the received request and acknowledgement.

RespAuthDetails

From the Payee PSP UPI switch to NPCI UPI switch. The Payee PSP stores the outbound response. NPCI sends an acknowledgement and the Payee PSP stores the acknowledgement.

ReqPay

From NPCI UPI switch to the Remitter Bank UPI switch to debit the primary user account. Remitter Bank stores the request and sends an acknowledgement.

Remitter Bank debits the account in the core banking system only if the mandate is active, the transaction amount is within the PVDFDLTL single transaction limit, and the monthly cumulative limit for the UMN is not breached.

RespPay

From the Remitter Bank UPI switch to NPCI UPI switch indicating the debit outcome. NPCI sends an acknowledgement and the Remitter Bank stores both the response and acknowledgement.

ReqPay

From NPCI UPI switch to the Beneficiary Bank UPI switch to credit the beneficiary account.

The Beneficiary Bank stores the request and sends an acknowledgement. The Beneficiary Bank credits the account in the core banking system subject to validations.

RespPay

From the Beneficiary Bank UPI switch to NPCI UPI switch indicating the credit outcome.

NPCI sends an acknowledgement and the Beneficiary Bank stores both the response and acknowledgement.

RespPay

From NPCI UPI switch to PSP(P) UPI switch with the final response to ReqPay. PSP(P) sends an acknowledgement to NPCI and stores both the response and acknowledgement.

ReqTxnConfirmation

From NPCI UPI switch to PSP(S) UPI switch for transaction confirmation. PSP(S) sends an acknowledgement and stores the request and acknowledgement.

PSP(S) updates the transaction status in its database, updates the TPAP response table, sends RespTxnConfirmation to NPCI, and stores the response and acknowledgement.

RespTxnConfirmation

From PSP(S) UPI switch to NPCI UPI switch as the response to ReqTxnConfirmation. NPCI sends an acknowledgement and PSP(S) stores the acknowledgement.

ReqTxnConfirmation

From NPCI UPI switch to the Payee PSP UPI switch for transaction confirmation. The Payee PSP sends an acknowledgement and stores the request and acknowledgement, sends RespTxnConfirmation to NPCI, and stores the response and acknowledgement.

RespTxnConfirmation

From the Payee PSP UPI switch to NPCI UPI switch as the response to ReqTxnConfirmation. NPCI sends an acknowledgement and the Payee PSP stores the acknowledgement.

Query Service

The TPAP or channel fetches transaction status from the PSP(S) UPI switch response table after PSP(S) updates the transaction status based on the confirmation messages.