---
title: UPI Reserve Pay
slug: upi-reserve-pay
hidden: false
sidebar_order: 1
metadata:
  robots: index
  title: 'UPI Reserve Pay — Block Once, Debit Later | Pine Labs'
  description: >-
    Enable UPI Reserve Pay (SBMD): block funds upfront in a customer's UPI
    account and debit later for recurring payments.
  keywords: >-
    UPI Reserve Pay, SBMD, Single Block Multi Debit, UPI mandate, block funds,
    partial debits, Pine Labs UPI, recurring payments, UPI payment gateway
sidebar_label: Overview
excerpt: >-
  Block funds once in a customer's bank account and debit multiple times with  
  UPI Reserve Pay (SBMD) — reserve up to ₹10,000 and collect partial payments  
  without repeated authorization.
---
UPI Reserve Pay allows merchants to block a specific amount in a customer's bank account once and collect multiple debits against that reserved amount over time.

Unlike a standard one-time mandate that supports a single debit, UPI Reserve Pay lets you execute multiple partial debits until the approved fund pool is fully utilized or the mandate expires.

<a class="hidden sm:inline-flex btn-light-green px-3.5 py-1.5 text-sm shadow-sm" href="upi-reserve-pay/integration-steps">Integration Steps</a>
<a class="hidden sm:inline-flex btn-light-green px-3.5 py-1.5 text-sm shadow-sm" href="upi-reserve-pay/faqs">FAQs</a>

> 📘 Note:
>
> - NPCI renamed SBMD to **UPI Reserve Pay**.
> - Both terms refer to the same capability. Some APIs or references may still use the SBMD name. 


<div className="not-prose card-grid-3">
  <div className="card-grid-item">
    <span className="inline-flex items-center justify-center w-10 h-10 rounded-lg bg-[#D0F6E5]/60 mb-2"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#003434" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg></span>
    <h3>Block funds once</h3>
    <p>The customer authorizes a maximum amount upfront. This amount is securely
  blocked in their bank account, subject to the current maximum mandate limit
  of `₹10,000`.</p>
  </div>
  <div className="card-grid-item">
    <span className="inline-flex items-center justify-center w-10 h-10 rounded-lg bg-[#D0F6E5]/60 mb-2"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#003434" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><polyline points="17 1 21 5 17 9"/><path d="M3 11V9a4 4 0 0 1 4-4h14"/><polyline points="7 23 3 19 7 15"/><path d="M21 13v2a4 4 0 0 1-4 4H3"/></svg></span>
    <h3>Debit multiple times</h3>
    <p>Merchants can initiate multiple smaller debit requests against the same
    approved fund pool.</p>
  </div>
  <div className="card-grid-item">
    <span className="inline-flex items-center justify-center w-10 h-10 rounded-lg bg-[#D0F6E5]/60 mb-2"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#003434" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg></span>
    <h3>Track live limits</h3>
    <p>Retrieve the utilized amount and remaining balance in real time using the
    Get Subscription API.</p>
  </div>
</div>

## Why use UPI Reserve Pay?

UPI Reserve Pay is designed for merchants who need the certainty of reserved funds along with the flexibility to collect payments in parts.

It is useful when the final payable amount may be consumed over time, split into multiple deductions, or collected based on customer usage.


<div className="not-prose card-grid-2">
  <div className="card-grid-item">
    <span className="inline-flex items-center justify-center w-10 h-10 rounded-lg bg-[#D0F6E5]/60 mb-2"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#003434" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><polyline points="9 12 11 14 15 10"/></svg></span>
    <h3>Improved payment certainty</h3>
    <p>Since the approved amount is blocked upfront, future debits are less likely
    to fail due to insufficient balance, as long as the mandate remains active
    and the debit is within the available limit.</p>
  </div>
  <div className="card-grid-item">
    <span className="inline-flex items-center justify-center w-10 h-10 rounded-lg bg-[#D0F6E5]/60 mb-2"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#003434" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><rect x="1" y="4" width="22" height="16" rx="2" ry="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg></span>
    <h3>Flexible collection model</h3>
    <p>Collect partial payments as needed without asking the customer to authorize
    each debit separately.</p>
  </div>
  <div className="card-grid-item">
    <span className="inline-flex items-center justify-center w-10 h-10 rounded-lg bg-[#D0F6E5]/60 mb-2"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#003434" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><polyline points="13 17 18 12 13 7"/><polyline points="6 17 11 12 6 7"/></svg></span>
    <h3>No pre-debit notification required</h3>
    <p>UPI Reserve Pay works as an extension of a one-time mandate where funds are
  already blocked. A Pre-Debit Notification is not required for UPI Reserve Pay.</p>
  </div>
  <div className="card-grid-item">
    <span className="inline-flex items-center justify-center w-10 h-10 rounded-lg bg-[#D0F6E5]/60 mb-2"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#003434" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg></span>
    <h3>Real-time balance visibility</h3>
    <p>Check how much has already been used and how much is still available before
    initiating a debit.</p>
  </div>
</div>

## How it works

When your customer approves a UPI Reserve Pay mandate, a maximum amount is reserved in their bank account. The merchant can then initiate multiple debit requests against this reserved amount.

The total value of all successful debits cannot exceed the amount approved by the customer.

1. **Funds are blocked** : The customer authorizes a maximum amount. This amount is held securely in the customer's bank account. At the moment, the maximum mandate limit is `₹10,000`, as set by NPCI.

2. **Merchant initiates debits** : The merchant can initiate multiple debit requests against the same reserved amount using the Create Presentation API.

3. **System tracks utilization** : The subscription tracks the total utilized amount and the remaining balance available for future debits.

4. **Mandate ends** : The mandate ends when the approved amount is fully utilized, the mandate expires, or the customer revokes it.

## UPI Reserve Pay vs UPI Autopay

Understanding the difference between UPI Reserve Pay and standard recurring subscriptions is important before integration.

| Capability             | UPI Reserve Pay                                                    | UPI Autopay / Subscription                               |
| ---------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| Fund handling          | Amount is blocked upfront in the customer's account                | Amount is deducted from the available balance at the time of debit |
| Debit pattern          | Multiple debits against one approved fund pool                     | Scheduled or recurring debits                                      |
| Payment certainty      | Higher certainty because funds are reserved upfront                | Can fail if the customer has insufficient balance at debit time    |
| Pre-debit notification | Not required for UPI Reserve Pay | Requires mandatory 24-hour pre-debit notification as per NPCI guidelines |
| Limit control          | Total debits cannot exceed the approved reserved amount            | Debit amount is governed by the recurring mandate configuration    |
| Validity               | Maximum validity is 90 days                                        | Depends on the recurring mandate setup                             |

## Integration flow

Once the UPI Reserve Pay mandate reaches the `active` state, you can start debiting funds using the Create Presentation API.


> ⚠️ Warning:
> 
> You cannot deduct more than the amount approved by the customer. Debit requests
  are restricted by the remaining available balance on the mandate.

### 1. Create the subscription : 
Call the Create UPI Reserve Pay Subscription API, also referred to as the Create SBMD Subscription API, to create the contract. Pass the required plan details:

    - Validity period in days
    - Blocked amount
    - Plan description
    - Customer ID

    The API response returns a unique `order_id`.

### 2. Generate the authorization request : 
Use the generated `order_id` to initiate a payment request through the Order Management System. Set the request type as `Create Mandate`, following the standard subscription authorization flow. This generates a unique challenge URL for customer authentication. The detailed API steps are listed in our [Integration Steps documentation](/upi-reserve-pay/integration-steps).


> 📘 Note: **Maximum mandate amount**
> 
> - At the moment, the maximum mandate limit for UPI Reserve Pay is ₹10,000, as
  set by NPCI.


### 3. Get customer approval: 
Present the challenge URL to the customer. After the customer approves the mandate in their preferred UPI app:
    - The order status moves to `processing`
    - The subscription status moves to `active`

### 4. Execute fund deductions : 
After the subscription becomes `active`, use the Create Presentation API to
debit funds synchronously against the reserved amount. The following limitations currently apply to UPI Reserve Pay, also referred to as SBMD. These restrictions are expected to ease as adoption progresses.


> 📘 Note:
> 
> - Many banks currently allow only one active SBMD subscription for a customer
    at a time.
> - The customer can reach out to the merchant to revoke the UPI Reserve Pay mandate.
> - SBMD mandates currently work only with ICICI Bank and Axis Bank savings
    accounts.
> - If a customer already has an active SBMD mandate, issuer banks may not allow
    another UPI Reserve Pay or SBMD mandate for the same customer.


## Checking available balance

Use the Get Subscription API to retrieve the live balance of an approved UPI Reserve Pay mandate.

The response helps you track:


<div className="not-prose card-grid-2">
  <div className="card-grid-item">
    <span className="inline-flex items-center justify-center w-10 h-10 rounded-lg bg-[#D0F6E5]/60 mb-2"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#003434" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg></span>
    <h3>Utilized amount</h3>
    <p>The total amount already debited by the merchant from the reserved fund pool.</p>
  </div>
  <div className="card-grid-item">
    <span className="inline-flex items-center justify-center w-10 h-10 rounded-lg bg-[#D0F6E5]/60 mb-2"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#003434" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"/><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/></svg></span>
    <h3>Remaining balance</h3>
    <p>The amount still available for future debit requests.</p>
  </div>
</div>

The sum of the utilized amount and the remaining balance will always equal the total mandate amount originally approved by the customer.

```text
approved mandate amount = utilized amount + remaining balance
```

> 📘 Note:
>
> - Reach out to Account manager or <a href="mailto:pgsupport@pinelabs.com" target="_blank">support team</a> for detailed integration walkthrough



---

## Resources 

<div className="not-prose card-grid-2">
  <div className="card-grid-item">
    <span className="inline-flex items-center justify-center w-10 h-10 rounded-lg bg-[#D0F6E5]/60 mb-2"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#003434" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><polyline points="17 1 21 5 17 9"/><path d="M3 11V9a4 4 0 0 1 4-4h14"/><polyline points="7 23 3 19 7 15"/><path d="M21 13v2a4 4 0 0 1-4 4H3"/></svg></span>
    <h3>Use UPI Reserve Pay (SBMD)</h3>
    <p>Integrate Single Block Multi Debit (SBMD) mandates for recurring and merchant-initiated payment experiences in agentic commerce workflows.</p>
    <a href="upi-reserve-pay/integration-steps">Integrate now →</a>
  </div>
  <div className="card-grid-item">
    <span className="inline-flex items-center justify-center w-10 h-10 rounded-lg bg-[#D0F6E5]/60 mb-2"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#003434" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><path d="M12 2L2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/></svg></span>
    <h3>Building Agentic Commerce Flows</h3>
    <p>  Use Pine Labs Payment Protocol (P3P) to enable AI agents and autonomous systems to securely initiate and manage UPI Reserve Pay (SBMD) transactions.</p>
    <a href="ai/p3p">Integrate now →</a>
  </div>
</div>
