โœจ YOUPI Gateway Demo Powered by YOUPI PG | Zero Platform Fees ยท Direct P2P UPI Settlement
โšก
YOUPI Store Official Payment Gateway Demo

YOUPI PG โ€” Small Scale Self-Hosted UPI Payment Gateway

Direct-to-bank sovereign settlement. Test live checkout with zero intermediary fees.

Live Demo Checkout Price
โ‚น1.00
1-Tap Live Checkout

Test real end-to-end payment gateway execution. Default is โ‚น1.00 for instant testing, or select/type any custom amount:

Quick Select Test Amount
Or Custom Amount:
โ‚น
๐Ÿ”’ Bank-Grade 256-Bit SSL ยท Direct UPI Settlement ยท 0% Deductions
โšก Sub-second QR Code
๐Ÿ›ก๏ธ Direct P2P Settlement
๐Ÿ’ฌ WhatsApp OTP Auth
๐Ÿ“ฑ Bank SMS Parsing
๐Ÿ“ง Gmail Parsing
๐Ÿ”’ Browser Fingerprinting
๐Ÿ›‘ Instant Fraud Ban
๐Ÿช Cashier POS Till Desk
Security & Core Capabilities
  • โœ“ 0% Gateway Fees: Direct bank settlement with zero aggregator fees.
  • โœ“ WhatsApp-Based OTP Auth: Verifies buyers with WhatsApp OTP before checkout.
  • โœ“ SMS & Email Parsing: Automatically parses incoming bank SMS and Gmail alerts to verify payments.
  • โœ“ Browser Fingerprinting: Identifies buyer devices and flags high-risk or repeat offenders.
  • โœ“ Bans Fraudulent Users Instantly: Automatically bans fraudulent and suspicious users immediately.
  • โœ“ Strict Payment Verification Parameters: Strictly verifies payment amount, transaction UTR, and timestamp.
  • โœ“ POS Cashier Counter Desk: Counter checkout for walk-in cash and card payments.
  • โœ“ 100% White-Label: Custom merchant domain, logo, and branding.
โš ๏ธ

Security Flaw & System Requirements

Key operational limitations, bank notification rules, and device compatibility for YOUPI PG.

โณ Security Flaw: Single-Session UPI Queue
SECURITY FLAW

UPI works on a strict queue system to ensure topmost security and prevent payment mismatches. Only one user can pay on a VPA at a time. Other buyers must wait in a queue until the active transaction completes.

๐Ÿ”’ Why this exists: Guarantees every payment matches the exact order with 100% security and zero payment mismatch.
๐Ÿšจ Mandatory Requirement: Bank SMS & Gmail Alerts
MANDATORY REQUIREMENT

Your bank must push messages to Gmail and SMS. This is mandatory even for โ‚น1 transactions. Without it, it does not work. The gateway parses incoming SMS and Gmail alerts to automatically verify payments.

โš ๏ธ Requirement: Real-time SMS and email alerts must be active on your bank account for all transactions.
๐Ÿ“ฑ Conditional Requirement: Device Setup
CONDITIONAL REQUIREMENT

If you want Gmail + SMS verification, you need an Android device. Or if you only need Gmail verification, you can use an iPhone. SMS verification is not supported by iPhones.

๐ŸŸข Gmail + SMS Verification Android Device Required
๐Ÿ”ต Gmail Verification Only iPhone Supported
โš ๏ธ Important Limitation: SMS verification is not supported by iPhones.
Gateway Capabilities

Built For Small Scale Businesses

โšก

0% Gateway Fees

Direct bank settlement with zero aggregator fees. 100% of the funds go directly into your account.

๐Ÿ’ฌ

WhatsApp OTP Auth

Verifies buyers with WhatsApp OTP before checkout to prevent fake orders and confirm valid mobile numbers.

๐Ÿ”’

Browser Fingerprinting & Instant Bans

Identifies buyer devices and flags high-risk or repeat offenders. Automatically bans fraudulent users immediately.

๐Ÿ“ฑ

SMS & Email Parsing

Parses incoming bank SMS and Gmail alerts to automatically verify payments and confirm transactions in real time.

Why Merchants Switch to YOUPI PG

Architecture Feature โšก YOUPI PG (Self-Hosted) Traditional Gateways (Razorpay / Stripe)
Transaction Fee 0% (Zero Fees Forever) 2.0% โ€“ 3.0% + 18% GST
Settlement Window Instant (Direct to Bank) T+2 to T+3 Business Days
Customer Authentication WhatsApp-Based OTP Verification SMS / Email OTP Only
Fraud Mitigation Browser Fingerprinting & Instant Bans Generic Risk Scoring
Payment Verification Parses Bank SMS & Gmail Alerts Aggregator Dependent
White-Label Customization 100% Brand Control & Custom Domain Aggregator Branding Mandatory
POS Counter & Till Support Included (Cash & Card Modalities) Separate Hardware / High Add-On Cost
Merchant Reference Pages

Standardized Gateway Outcome Demonstrations

YOUPI PG communicates 5 distinct deterministic payment outcomes. Below are the live reference merchant pages demonstrating how customer experiences should be rendered.

โœ“ SUCCESS

Payment verified by banking observers. Order marked paid and provisioned.

Preview Success Page โ†’
โœ• FAILED

Transaction declined or not confirmed. Informs customer no funds were lost.

Preview Failed Page โ†’
โš  SUSPICIOUS

Flagged by gateway security systems. Held for manual compliance review.

Preview Review Page โ†’
โฑ EXPIRED

5-minute session window elapsed. Slot auto-released for next customer.

Preview Expired Page โ†’
โŠ˜ CANCELLED

User dismissed modal or requested cancellation before payment.

Preview Cancelled Page โ†’
Official Integration Guide

Integrate YOUPI PG in 5 Minutes

Universal, framework-independent browser integration. Works with PHP, Node.js, Python, Laravel, Django, Next.js, WordPress, or plain HTML.

1

Add the Official Script to Your Page

Place this single script tag in your HTML. It automatically provides modal checkout, responsive iframe sizing, and button auto-detection.

<!-- Official YOUPI PG Universal Integration Script -->
<script
    src="https://<youpi-checkout-host>/youpi.js"
    data-youpi-key="YOUR_PUBLIC_KEY">
</script>
2

Map Your Payment Button (Zero JavaScript)

Add data-youpi-pay, data-order-id, and data-amount to any button. The script automatically opens the centered modal checkout on click!

<button
    data-youpi-pay
    data-order-id="ORDER-1001"
    data-amount="499">
    Buy Now
</button>

Optional button attributes: data-currency="INR", data-customer-name="Mohit", data-customer-email="mohit@example.com", data-customer-phone="9876543210", data-metadata='{"sku":"TSHIRT-01"}'.

3

Listen to Browser Payment Events (For Frontend UX)

The script emits standardized DOM CustomEvents on window to drive your user experience.

<script>
  window.addEventListener('youpi:payment:success', (e) => {
    const { order_id, amount_received, utr, payment_mode } = e.detail;
    console.log(`Payment confirmed for Order #${order_id}. UTR: ${utr}`);
    window.location.href = `/order-success?order_id=${order_id}&amount=${amount_received}&utr=${utr}`;
  });

  window.addEventListener('youpi:payment:failed', (e) => {
    window.location.href = `/order-failed?order_id=${e.detail.order_id}&reason=${e.detail.reason}`;
  });

  window.addEventListener('youpi:payment:suspicious', (e) => {
    window.location.href = `/order-suspicious?order_id=${e.detail.order_id}`;
  });
</script>
4

Or Use Programmatic Invocation: Youpi.pay({...})

For dynamic shopping carts (React, Vue, Next.js, Nuxt), call the programmatic API directly:

Youpi.pay({
  order_id: "ORDER-1001",
  amount: 499,
  currency: "INR",
  customer: {
    name: "Mohit",
    email: "mohit@example.com",
    phone: "9876543210"
  },
  metadata: { product_id: "TSHIRT-01" },
  handler: function(response) {
    // response: { status: "SUCCESS", order_id, amount_received, utr, payment_mode }
    alert(`Payment successful! UTR: ${response.utr}`);
  },
  onFailed: function(response) {
    alert(`Payment failed: ${response.reason}`);
  }
});
5

Configure Authoritative Backend Webhook (Server-to-Server)

CRITICAL SECURITY INVARIANT: Never mark an order paid based only on client-side browser events. Only fulfill orders after verifying the server-to-server HMAC-SHA256 signed webhook!
// Node.js / Express Webhook Receiver Reference
import crypto from 'node:crypto';

app.post('/api/youpi-webhook', express.raw({ type: 'application/json' }), (req, res) => {
  const signature = req.headers['x-gateway-signature']; // 'sha256=...'
  const webhookSecret = process.env.YOUPI_WEBHOOK_SECRET;

  // Verify HMAC-SHA256 signature
  const expectedHmac = crypto.createHmac('sha256', webhookSecret).update(req.body).digest('hex');
  if (signature !== `sha256=${expectedHmac}`) {
    return res.status(401).send('Signature mismatch');
  }

  const event = JSON.parse(req.body.toString());
  if (event.event === 'SUCCESS') {
    // Authoritative proof: Mark order as PAID in your database!
    db.orders.markPaid(event.orderId, { utr: event.utr, amount: event.amount });
  }

  res.status(200).json({ received: true });
});

Frequently Asked Developer Questions

Q: What do I put in my HTML?

A: Exactly one script tag: <script src="..." data-youpi-key="KEY"></script> and your button with data-youpi-pay.

Q: What information do I send to YOUPI?

A: Only order_id and amount are required. Currency defaults to INR. Customer info and metadata are optional.

Q: How does the payment modal open?

A: Automatically! Clicking a data-youpi-pay button dims and blurs the background and renders the centered 2-column modal (or mobile drawer).

Q: Which event actually proves the order is paid?

A: ONLY the server-to-server webhook with valid HMAC signature. Browser events are for UI animations only.

Q: What should never be trusted from the browser?

A: Any frontend declaration of payment success. Never mark orders as fulfilled based solely on browser redirects or client callbacks.

Q: Does the browser integration need private API secrets?

A: NO! Only your public merchant key is placed in the browser. Private webhook secrets remain securely on your server.

โœ“

Payment Verified!

Your transaction was verified via banking observers. Your YOUPI PG Suite license is provisioned.

Product:YOUPI PG Small Scale Suite
Order ID:-
Payment ID:-
Amount Paid:โ‚น1.00
License Token:YPG-SML-2026-LIVE