Frequently Asked Questions

Everything you need to know about the UPI Gateway.dev platform — from merchant linking to API integration.

All General Merchant Linking Payments API Payouts Security Troubleshooting

General

What is UPI Gateway.dev and who is it for?
UPI Gateway.dev is a zero-fee UPI payment gateway API built for Indian businesses, developers, and freelancers. It lets you collect payments via UPI QR codes and UPI Collect requests — and the money lands directly in your registered bank account with 0% transaction charges. Whether you run an e-commerce store, a SaaS product, a mobile app, or offer freelance services, UPI Gateway.dev is designed for you.
Is UPI Gateway.dev really free? Are there any hidden charges?
Yes — absolutely free. UPI Gateway.dev charges 0% on every transaction. There are no setup fees, no monthly subscription fees, no per-transaction fees, and no hidden charges of any kind. You keep 100% of every payment you receive. We believe payment infrastructure should be accessible to everyone.
Is UPI Gateway.dev a cloud service or do I host it myself?
The platform is self-hosted. You install it on your own PHP/MySQL server (shared hosting, VPS, or dedicated). This gives you full control over your data, merchant credentials, and transaction logs. No third-party dependency — your data stays on your server.
Who can register and use UPI Gateway.dev?
UPI Gateway.dev is open to individuals, freelancers, startups, and businesses across India. If you have a valid UPI ID linked to an Indian bank account, you can register and start accepting payments immediately. No GST registration or business documents are required to get started.
Is there a transaction limit or volume cap?
Individual UPI transactions are capped at ₹1,00,000 per transaction as per NPCI guidelines. There is no daily or monthly volume cap imposed by UPI Gateway.dev — you can process as many transactions as your business needs. For very high-volume use cases (above ₹10 lakh/day), please contact our team for a dedicated merchant setup.
Can I create payment links to share with customers?
Absolutely. UPI Gateway.dev lets you create shareable payment links directly from your dashboard — no coding required. Just enter the amount, add a description, and share the link via WhatsApp, email, or SMS. Customers click the link, scan the QR or pay via UPI, and you get notified instantly. Perfect for freelancers, coaches, and service businesses.

Merchant Linking

Which UPI apps and banks can I link as merchants?
The platform supports HDFC Bank, SBI, PhonePe, Paytm, BharatPe, Google Pay, Amazon Pay, MobiKwik, Freecharge, TataNeu, and QuintusPay via automated OTP-based integration. Any customer with a UPI-enabled bank account can pay you instantly using any of these apps.
How does the OTP-based merchant linking process work?
You provide your UPI app credentials (mobile number). The platform requests an OTP from the bank/app server on your behalf. Once you enter the OTP in the dashboard, the platform stores the authenticated session token for that merchant account. This token is used to verify incoming payments automatically — no manual checking required.
Can I link multiple UPI accounts or merchants?
Yes. UPI Gateway.dev supports multiple merchant accounts. You can link different UPI apps (e.g., PhonePe + Paytm + HDFC) and the system will intelligently route or distribute incoming payments. This also provides redundancy — if one account has issues, others continue working.
How often do merchant sessions expire and need re-linking?
Session expiry depends on the UPI app provider. Most sessions last 30–90 days. The platform will notify you when a session is about to expire. Re-linking takes under 2 minutes — just enter your mobile number and the new OTP. Automated cron jobs handle session refresh for supported providers like HDFC and SBI.
Can I generate a static UPI QR code for my store?
Yes! UPI Gateway.dev supports both dynamic QR codes (generated per transaction with a specific amount) and static UPI QR codes (for open-amount payments). Dynamic QR codes are ideal for e-commerce checkouts where you need to verify exact payment amounts. Static QR codes work great for physical stores, invoices, and donation pages.

Payments

How does the unique-amount auto-verification system work?
The system assigns a unique micro-increment (e.g., ₹100.01, ₹100.02) to each order. When the customer pays that exact amount, the system matches it back to the order by cross-referencing the UPI ID, timestamp, and precise amount received — all without requiring bank webhooks. This is a proprietary verification method that works with any UPI app.
How fast is the payment settlement?
UPI Gateway.dev provides instant settlement — the moment a customer completes a UPI payment, the amount is credited directly to your linked bank account in real time. There is no holding period, no T+1 or T+2 delay. Your money is yours the second the transaction is confirmed by the UPI network.
Which UPI apps are supported for customer payments?
UPI Gateway.dev supports all NPCI-registered UPI apps in India. This includes Google Pay, PhonePe, Paytm, BHIM, Amazon Pay, WhatsApp Pay, Mobikwik, FreeCharge, SBI YONO, HDFC PayZapp, and every other bank's UPI app. Any customer with a UPI-enabled bank account can pay you instantly.
What happens if a payment fails or is pending?
If a payment fails, the amount is automatically refunded to the customer's bank account within 2–5 business days by the UPI network — no action needed from your side. For pending transactions, you can use our payment status API to poll the status in real time. Your dashboard also shows live transaction states: Pending, Success, Failed, or Expired.
Can I set a custom expiry time for payment orders?
Yes. When creating an order via the API, you can specify a custom expiry duration (in minutes). The default is 10 minutes. After expiry, the order status changes to Expired and the micro-increment amount is freed up for reuse. This prevents amount collisions and keeps your payment pool clean.
Does UPI Gateway.dev support recurring or subscription payments?
Currently, UPI Gateway.dev focuses on one-time UPI payments. For recurring billing, you can implement your own subscription logic by creating a new payment order each billing cycle and sending the payment link to your customer via WhatsApp or email. Native recurring payment support is on our roadmap.

API & Integration

What API endpoints are available?
The two core endpoints are:

POST api/create-order.php — Creates a new payment order and returns a UPI QR code + unique amount.
GET api/check-order-status.php — Checks the real-time status of an existing order by order ID.

Both endpoints require your API key and secret key for authentication. Full documentation is available at our developer portal.
How do I integrate UPI Gateway.dev into my website or app?
Integration is simple and takes under 30 minutes. After registering and getting your API key from the dashboard:

1. Call create-order.php with the amount and order details.
2. Display the returned QR code or UPI deep link to your customer.
3. Poll check-order-status.php every few seconds until status is Success or Failed.

We provide ready-made code samples for PHP, JavaScript, Python, and Android. Visit our API Documentation for full guides.
Does UPI Gateway.dev support webhooks for payment notifications?
Yes. UPI Gateway.dev supports webhook callbacks. You can configure a callback URL in your dashboard. When a payment is confirmed, the system sends a POST request to your URL with the order details and payment status. Always verify the webhook signature using your secret key to prevent spoofing.
Is there a WordPress plugin or Shopify integration?
Yes. A WordPress WooCommerce plugin is available that lets you add UPI Gateway.dev as a payment method in your store with zero coding. For Shopify and other platforms, you can use our REST API with a custom integration. Android SDK and React Native modules are also available for mobile app developers.
What are the API rate limits?
The default rate limit is 100 API requests per minute per API key. For high-volume merchants processing thousands of orders per minute, contact our team for a dedicated rate limit increase. Status polling endpoints have a separate limit of 300 requests per minute to support real-time payment tracking.

Payouts

How do I process UPI or bank payouts?
Use payment/upi-payout.php to send money to a UPI ID or payment/bank-payout.php for IMPS/NEFT bank transfers. Track the status of any payout via payment/payout-status.php. All payout requests require authentication with your API key and are logged in your dashboard.
How long do payouts take to reach the recipient?
UPI payouts are typically instant — credited within seconds to the recipient's UPI-linked bank account. Bank transfers (IMPS) are processed within 30 minutes to 2 hours. NEFT transfers follow RBI batch timings and may take up to 2 hours during banking hours. All payout statuses are trackable in real time.
Is there a minimum or maximum payout amount?
The minimum payout amount is ₹1. The maximum per UPI payout is ₹1,00,000 as per NPCI guidelines. For bank transfers, limits depend on your linked bank account's IMPS/NEFT limits. For bulk payouts above ₹5 lakh, please contact our team for a dedicated payout solution.
Can I do bulk payouts to multiple recipients at once?
Yes. The payout API supports batch processing. You can submit an array of payout requests in a single API call. The system processes them asynchronously and returns individual status for each recipient. This is ideal for salary disbursements, vendor payments, and affiliate payouts.

Security

Is the platform secure?
Yes. UPI Gateway.dev uses 256-bit SSL/TLS encryption on all API communications and is PCI-DSS compliant. Your UPI credentials and bank details are never stored in plaintext — OTP-based login means no passwords are stored. Session tokens are encrypted and managed securely. Every API request is authenticated with a unique secret key tied to your account.
How are API keys protected?
API keys are generated using cryptographically secure random functions and stored as hashed values in the database. Your secret key is shown only once at generation — store it safely. If you suspect your key is compromised, you can regenerate it instantly from your dashboard. Old keys are immediately invalidated.
Does UPI Gateway.dev store my customers' payment data?
UPI Gateway.dev only stores transaction metadata (order ID, amount, status, timestamp, UPI reference). No sensitive customer financial data (card numbers, bank account details, UPI PINs) is ever stored on our servers. All actual payment processing happens through the NPCI UPI network directly.
How do I verify that a webhook is genuinely from UPI Gateway.dev?
Every webhook request includes an X-Signature header — an HMAC-SHA256 hash of the request body signed with your secret key. On your server, compute the same hash and compare it with the header value. If they match, the webhook is authentic. Never process a webhook without verifying this signature. Sample verification code is available in our documentation.

Troubleshooting

What if OTP verification fails repeatedly?
Try these steps in order:

1. Verify your mobile number is correct and registered with the UPI app.
2. Check that the OTP module has the correct device fingerprint parameters.
3. Ensure your server IP isn't blocked by the UPI provider (some providers block datacenter IPs).
4. Try using a residential proxy or VPN if your server IP is flagged.
5. Wait 15–30 minutes before retrying — too many failed attempts may trigger a temporary lockout.
Payments are being made but orders are not getting verified. Why?
This usually happens due to one of these reasons:

1. Session expired — Re-link your merchant account from the dashboard.
2. Amount mismatch — The customer paid a different amount than the unique micro-increment assigned. Ensure your checkout page shows the exact amount.
3. Cron job not running — The verification cron (crons/hdfc_bharatpe_phonepe_upi.php) must run every 1–2 minutes. Check your server's cron configuration.
4. Database connection issue — Verify your pages/dbInfo.php credentials are correct.
The QR code is not scanning or showing an error. What should I do?
1. Ensure the UPI ID in the QR code is valid and active.
2. Check that the QR code image is not distorted or too small — minimum 200×200px recommended.
3. Verify the UPI deep link format: upi://pay?pa=UPI_ID&pn=NAME&am=AMOUNT&cu=INR.
4. Test the QR code with multiple UPI apps (Google Pay, PhonePe, Paytm) to isolate if it's app-specific.
5. If using dynamic QR, ensure the amount parameter is correctly encoded in the URL.
I'm getting a "Database connection failed" error. How do I fix it?
1. Open pages/dbInfo.php and verify your DB_HOST, DB_USERNAME, DB_PASSWORD, and DB_NAME are correct.
2. Ensure your MySQL server is running and accessible from your PHP server.
3. Check if your hosting provider requires a specific host format (e.g., localhost vs 127.0.0.1 vs a remote host).
4. Verify the database user has sufficient privileges (SELECT, INSERT, UPDATE, DELETE).
5. If on shared hosting, check if the database name requires a prefix (e.g., username_dbname).
How do I contact support if I can't resolve an issue?
UPI Gateway.dev provides 24/7 WhatsApp support for all registered users. Our team typically responds within minutes. You can also:

• Visit our developer documentation portal for detailed guides.
• Check the changelog.txt file for known issues and recent fixes.
• Enable display_errors in PHP temporarily to see detailed error messages.
• For critical production issues, mark your message as URGENT on WhatsApp for priority response.

Still have questions?

Our support team is available 24/7 on WhatsApp. We typically respond within minutes.

Chat on WhatsApp Read Documentation Get Started Free