Choose what you want to build
MeraOTP helps you verify an Indian mobile number with an authentication OTP. Payment Solution is a separate, optional product for creating payment links and checking payments to your own Paytm Business account. You do not need a payment plan to send OTPs.
Send your first OTP
Register, add prepaid credit, copy your account key and make the send and verify calls. Includes complete PHP and Node.js examples.
WORDPRESS & WOOCOMMERCEUse the ready-made plugin
Add OTP login, verified signup, protected pages or checkout verification without building the API client yourself.
PAYMENT SOLUTIONCreate a payment link or QR
Activate a payment plan, use your own business MID and VPA, and confirm the result securely before fulfilling an order.
INTEGRATION HELPUnderstand an error
Find out whether the next step is fixing authentication, adding credit, waiting for a status check or correcting a payload.
The simplest OTP setup
- Create and verify your account. MeraOTP generates one account API key automatically.
- Add wallet credit. OTP is prepaid. Check your displayed rate and estimated sending capacity before paying.
- Keep the key on your backend. Store it as
MERAOTP_API_KEYin your server's environment or secret store. Do not put it in public JavaScript. - Send a code, then verify what the user enters. Save the returned
message_idagainst the user's login or signup attempt. Only your backend decides when access is granted.
You do not need to register a fixed outbound IP or configure a domain before calling the API. Localhost, shared hosting, a VPS, Kubernetes and serverless backends use the same Bearer API key. Account-level security checks, abuse blocks and request limits still apply.
Where your code runs matters
A typical integration has three parts: the visitor's screen, your backend, and MeraOTP. The visitor submits a phone number to your backend. Your backend sends the API request with its private key. The visitor then enters the received code, and your backend asks MeraOTP to verify it.
The browser must never call the authenticated API directly with your live key. A mobile app bundle is not a safe secret store either. The same rule applies to payment creation and verification: the server owns the order amount, recipient details and final fulfilment decision.
These guides use the primary base URL https://meraotp.in/api/v1. Existing integrations using https://new.meraotp.in/api/v1 remain supported. You do not need to change a working integration just to read these guides.
Before your first real request
- Use PHP with cURL and JSON support, or a currently supported Node.js release with built-in
fetch. - Set your environment variable using your hosting control panel or secret manager. Never commit it to source control.
- Use your own mobile number or someone who has requested verification. OTP sends are real, billable requests when accepted by the provider.
- Use HTTPS for production. Do not disable certificate checks to make a failing request work.
- For WordPress, start with the plugin guide rather than copying backend code into a public page or theme template.
Request and response examples contain fictional IDs, sample amounts and masked recipients. They do not make network requests from this documentation page. Account prices, provider availability and plan limits are always the values shown in your account.
Continue with the OTP API guide, or read how wallet credit and payment plans work.
Need a hand?
Send support the endpoint, request time, error code and a non-secret reference. Never send your API key, password, webhook secret or an OTP.
Contact developer support