One Time Mandate
A One Time Mandate (OTM) is essentially a “hold now, charge later” feature for UPI payments.
Instead of immediately pulling money out of a customer’s bank account when they hit the pay button, OTM just puts a temporary block on those funds. You can then come back later to actually collect the money, or simply release the hold if the order is canceled.
Environments
Use the environment URLs below to integrate and test your API calls. The Sandbox environment is intended for testing and validation, while the Production environment should be used once your integration is live. Make sure to switch the base URL based on the environment you are working in.
| Environment | API |
| Sandbox | https://api-preprod.phonepe.com/apis/pg-sandbox/<Endpoint> |
| Production | Authorization API: https://api.phonepe.com/apis/identity-manager/<Endpoint> Other APIs: https://api.phonepe.com/apis/pg/<Endpoint> |
API Endpoints
Endpoint Details:
| API | Method | Endpoint |
| Authorization | POST | /v1/oauth/token |
| Initiate OTM Authorization | POST | /payments/v2/pay |
| Capture Authorized Payment | POST | /payments/v2/capture |
| Cancel Authorized Payment | POST | /payments/v2/{merchantOrderId}/cancel |
| Check Order Status | GET | /payments/v2/order/{merchantOrderId}/status |
| Check Transaction Status | GET | /payments/v2/transaction/{transactionId}/status |