Explore the docs · Feature catalogue · Roadmap · Contribute
Self-hosted UPI checkout and merchant payment operations, planned by ZYRIX Dev.
Direct-to-bank UPI payments · WhatsApp OTP · Dynamic QR checkout · Android, Gmail and SMS observers · Online and counter payments · Merchant branding
Documentation stage. This repository currently contains the OpenUPI product specification and documentation only. Every feature below is planned, not implemented or tested here. There is no application, SDK, Android APK, deployment package or live payment service to install.
OpenUPI is intended to let merchants host their own checkout, receive UPI transfers into their own accounts, and connect observed bank alerts to orders. The target model charges no OpenUPI per-transaction platform fee. Hosting, messaging, domains, banking and maintenance may still cost money.
The design covers the documented feature scope of the YouPI-PG reference project, expressed as an OpenUPI specification. This repository does not claim to be that project's official successor, an implemented fork or an approved payment provider.
| Area | Scope |
|---|---|
| Customer checkout | Desktop modal, mobile bottom sheet, hosted checkout, SVG UPI QR, UPI app links and live status |
| Authentication | Six-digit WhatsApp OTP, sign-in/sign-up, customer sessions and two remembered profiles |
| Payment engine | One active payment slot per receiving VPA, FIFO queue, exact amount matching and server-owned timers |
| Bank observations | Android SMS and notifications, Gmail API/browser observation, Google Messages Web observation |
| Verification | Amount/UTR normalization, duplicate detection, channel evidence levels and manual review for ambiguity |
| Online payments | UPI and Cash on Delivery with separate address confirmation |
| Counter payments | UPI, cashier-confirmed cash and external card terminal payments |
| Merchant operations | Receiving accounts, transaction views, live queues, device pairing, risk review, support and reconciliation |
| Integration | Single-script checkout, declarative buttons, browser API, planned merchant SDK, REST API and signed webhooks |
| Branding | Merchant name, subtitle, logo, favicon, colors, support details and custom domains |
| Reliability | Durable state, restart recovery, late-payment handling, health checks, logs and backups |
| Developer experience | Demo storefront, five outcome pages, simulators and planned regression coverage |
See the complete feature catalogue for the detailed scope and acceptance criteria.
- The merchant backend creates an order with a trusted price.
- The customer opens OpenUPI checkout and verifies their phone.
- OpenUPI assigns a receiving-account slot or shows the queue position.
- The customer pays the displayed QR or opens a UPI app.
- Observers submit bank-alert evidence to the backend.
- The backend evaluates the evidence, records the result and notifies the merchant.
- The merchant validates the webhook and reconciles the payment before fulfillment under its payment policy.
An alert or signed webhook alone is not conclusive proof of bank settlement.
| Document | Contents |
|---|---|
| Documentation index | Reading order and project status |
| Features | Complete planned feature scope |
| Architecture | Services, data, boundaries and payment states |
| Merchant integration | Planned browser, SDK, REST and webhook contracts |
| Observers | Android, Gmail and SMS evidence collection |
| Configuration | Proposed configuration and secret handling |
| Deployment | Future hosting model and service ports |
| Merchant operations | Admin workflows, COD and cashier operations |
| Branding | OpenUPI naming and merchant customization |
| Security and reliability | Trust model, privacy and failure handling |
| Operations | Recovery, reconciliation and troubleshooting |
| Roadmap | Implementation phases and acceptance gates |
| Reference and scope | Reference materials, unresolved differences and attribution |
The repository contains Markdown documentation, community templates and original SVG artwork. Installation commands, downloadable binaries, package publication and supported bank lists will be added after implementation and validation. Proposed identifiers in these documents are design targets, not working interfaces.
OpenUPI is not represented as NPCI-approved, RBI-approved, bank-approved, audited or production-ready. Bank alerts can be delayed, missing, duplicated or misleading. A timed-out checkout does not establish that no funds moved. Receiving-account eligibility and any required approvals must be confirmed before real customer use.
Help us improve the specification, clarify edge cases and review the design. Start with CONTRIBUTING.md, then use an issue template or open a focused pull request.
| Guide | Purpose |
|---|---|
| Contributing | Contribution workflow, writing rules and contribution rights |
| Code of conduct | Community standards and reporting |
| Security policy | Safe reporting of vulnerabilities and exposed secrets |
| Governance | Maintainer roles and project decisions |
| Support | Help routes and current support scope |
| Permissions | Reuse rights and written permission requests |
| Changelog | Repository milestones |
Original repository material is covered by the ZYRIX Dev Review and Contribution License. It allows personal study, review and contributions. Commercial reuse and redistribution beyond its limited grant require written permission. This is a custom restricted license; public visibility and the OpenUPI name do not make it an OSI-approved open-source project. See PERMISSIONS.md for a plain-language summary.
Feature research references YouPI-PG, originally created by Gaurav and described by its README as maintained by Zenuxs. No upstream source code, media or binaries are included. OpenUPI's license applies only to material its copyright holders can license, and does not relicense upstream work. See reference notes.