---
page_title: One Time Mandate
product: SmartGateway TranPortal Integration
page_source: https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/one-time-mandate
llms_txt: https://smartgateway.hdfc.bank.in/docs/llms.txt
product_llms_txt: https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/llms.txt
---


# One Time Mandate




## Overview



The One-Time Mandate (OTM) allows merchants to block funds from a customer's account for a specific period. 

This is required because there are scenarios where a delay is required(e.g., for processing or underwriting). Currently provided for Insurance merchants. 


## **How to Use the API for OTM** 



Merchants already integrated with mandates must **update**  their integration to support OTM. 


### **Mandate Registration Flow** 



* Create Customer : [Link](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/createcustomer)
* Add the required parameters in the **Create Order**  request. : [Link](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/mandate-registration-setting-up-a-subscription)

Regardless of the integration method, the following parameters must be sent in API requests to initiate the OTM flow:


| Parameter | Type | Description |
|---|---|---|
| mandate.block_funds | Boolean | Set to true to initiate the fund blocking process. |
| mandate.revokable_by_customer | Boolean | Set to false. The customer should not be able to revoke the mandate. |
| mandate.frequency | String | Set to ONETIME to indicate this is a one-time mandate for premiums/ subscription or any other use case. |
| mandate.start_date | Integer | The starting date of the mandate in Unix timestamp format (seconds). Use the current date. |
| mandate.end_date | Integer | The ending date of the mandate  in Unix timestamp format (seconds). |


* Call Transaction Request API as per the below documentation 
  
  * UPI Collect : [Link](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/mandate-registration-api)
  * UPI Intent : [Link](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/mandate-registration-api)
* Post redirection/ orderStatus API response, store the **mandate_id**  under **mandate**  block. [Link](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/response-in-return-url)


### **Mandate Execution Flow** 



* Check Mandate Status based on Mandate ID : [Link](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/mandates-status-check-api)
* Call Mandate Execution API : [Link](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/mandate-execution-api)
* Call orderStatus API / Consume Webhook for order fulfilment.

The Mandate execution will happen within 30 minutes of execution request. 

> **Note**
> * These amount-related fields in orderStatus API represent the below:
> * `maximum_eligible_refund_amount`, `amount`, and `effective_amount` will be equal to `mandate.max_amount`.
> * `amount_debited`will be the amount actually captured (which might be less than `mandate.max_amount` if you only capture part of the blocked amount).




### **Mandate Revoke** 



The **Mandate Revoke API (** **[Link](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/revoke-mandate-api)** **)**  allows merchants to revoke an existing mandate before it is executed. This may be necessary if the user **withdraws**  consent or if the service is no longer required.

* Once revoked, the blocked funds will be released back to the user’s account.


### **Auto-Release of funds:** 



If the mandate isn’t executed before `mandate.end_date`, funds auto-release to the user.

* A **mandate revoke webhook**  will trigger upon expiry.
* The timeframe for auto-revocation may vary based on industry regulations and use case requirements. 
  
  * **For example** , in the insurance sector, mandates are typically auto-revoked after 14 days if not utilised.


## Supported PSP Handles



At present we support the below listed PSP’s


| PSP Handle | PSP Handle | PSP Handle | PSP Handle |
|---|---|---|---|
| @ybl | @paytm | @upi | @ibl |
| @axl | @boi | @cnrb | @okhdfcbank |
| @okaxis | @axisbank | @postbank | @ikwik |
| @barodampay | @apl | @indus | @dbs |
| @icici | @okicici | @dlb | @sliceaxis |
| @pz | @jio | @sbi | @axb |
| @yesg | @yapl | @pnb | @oksbi |
| @jupiteraxis | @shriramhdfcbank | @abfspay | @niyoicici |
| @waicici | @centralbank | @equitas | @naviaxis |
| @ypay | @axispay | @razorpay | @tapicici |
| @Goaxb | @mahb | @fincarebank | @iob |
| @indie | @pingpay | @yespay | @gocash |
| @kotak | @kotak811 | @paytmwallet | @axisb |
| @freecharge | @hdfcbank | @abcdicici | @sbipa |
| @fifederal | @Payu | @timecosmos | @sib |
| @ptyes | @ptaxis | @ptsbi | @pthdfc |
| @oneyes | @seyes | @superyes | @ttyes |
| @yescurie | @yesfam | @yestp | @gwaxis |
| @rmrbl | @easebuzz |   |   |



## FAQ’s



## FAQs:

### Is partial capture of the blocked amount possible?

 Yes, partial capture is possible.

### What happens to the remaining blocked amount?

The remaining amount will be transferred back to the user's account immediately.



---

## See Also

- [Appendix](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/appendix)
- [UPI Error Codes](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/upi-error-codes)
