Rupees, exactly
Every amount is an integer in paise. Never a float, so ₹4,99,000.00 is always ₹4,99,000.00.
Zyvor Payments
Open-source payments made for how India pays. Orchestrate your own Razorpay, Cashfree or PhonePe, or run acquire under a licensed sponsor with custody ledger, settlement batches and payout rails. Routes, records and reconciles every rupee.
The phone is a real screenshot of the open-source Vayora Pay test app. Test money; nothing here moves real money.
Made for India
UPI first, GST on every invoice, rupees counted in paise, and a checkout your customers can read.
Every amount is an integer in paise. Never a float, so ₹4,99,000.00 is always ₹4,99,000.00.
The checkout shows a QR or opens the customer's own UPI app. No UPI ID to type. A QR is never proof of payment: only a verified result is.
CGST, SGST and IGST by SAC code, GSTIN-checked, with a GSTR-1 style summary. Zyvor does not file returns for you.
The checkout speaks English, हिन्दी, मराठी, தமிழ், తెలుగు and বাংলা. Translations still await a native reader.
Principles
Every write carries an idempotency key. When a provider does not answer, the payment becomes unknown, and nothing new can start, through any provider, until it is resolved. Zyvor asks the provider. It never re-sends.
unknown. New attempts blocked.captured, onceOpen a settlement and see the payments, refunds, fees and adjustments behind its net, and the bank line it matched. In acquire mode, settlement batches and escrow proof show what sits in sponsor custody before payout. Anything that does not add up becomes a case someone can own.
Example settlement
An append-only, double-entry ledger, balanced per currency by the code and again by a database constraint. Orchestrate posts provider receivables; acquire posts escrow and merchant payable. Nothing is edited. A correction is a new entry that reverses the old one.
Orchestrate · one capture
Acquire · one capture
= balanced. Always.
A capability matrix and your rules choose where a payment goes, and the decision records every provider it considered and why it picked one. No black box.
Example routing decision · UPI, no UPI ID
Branches and counters, each with its own QR. Cash entries, an end-of-day closing a second person signs off, and a plain-words timeline for every payment. Till cash is records only. Digital money moves through your provider (orchestrate) or the sponsor rail (acquire).
Tenants are isolated by row-level security, tested as a non-superuser. Webhooks are guarded against SSRF and replays. The audit chain is tamper-evident. The threat model says what is defended and what is not.
Take a closer look
Vayora Pay is a payer. Vayora Merchant is the counter, and the place to see what is owed, what waits for approval, and why a settlement paid what it did. Together they run the whole loop against the simulator, with no real money. They are not bank-linked UPI apps: that needs NPCI TPAP approval and a sponsor bank.










Screens are real renders of the open-source apps with sample data. Payments are simulated. The merchant screens have also been run against a local test server; they have not been checked by a person with VoiceOver or on every phone.
Get started
Zyvor is free and open source. Pick how you want to begin.
Everything runs on your machine against a simulated provider. The fastest way to see a payment settle.
| Sandbox | Self-host | Talk to us | |
|---|---|---|---|
| Cost | Free | Free, Apache-2.0 | Ask us |
| Where it runs | Your laptop | Your servers | Not a hosted service today |
| Providers | Simulated | Razorpay, Cashfree, PhonePe, sponsor_upi or custom | We can help you connect one |
| Money mode | Either, against simulators | Orchestrate or acquire (sponsor LOI for live) | Either; we help with the path |
| Real money | None | Provider or sponsor collects; Zyvor records | Same, after counsel and credentials |
| Licences | Not needed | Yours, or a sponsor's, for acquire | Yours or a sponsor's |
No. In orchestrate mode your own provider collects and settles; Zyvor does not hold funds. In acquire mode a licensed sponsor PA / bank PSP holds escrow; Zyvor is the merchant-facing software and ledger. Live acquire needs counsel, a sponsor LOI, acquire KYC and an explicit env gate. See the regulatory position and acquire mode (not legal advice).
A second money mode: custody ledger accounts (escrow:*, merchant_payable:*), captures auto-enrol into settlement batches with a T+N delay, escrow proof, payouts via a sponsor rail (send_rail), and network card tokens (charge with card_token_id). Console: Settlement page. Operator guide: ACQUIRE_MODE.md.
The platform is tested against local simulators and a k3s sandbox. One capability, Cashfree UPI intent and QR, also ran against Cashfree's own sandbox. PhonePe, sponsor UPI, settle rails, card tokens and AutoPay adapters are simulator/mock only. Nothing has run against a live provider for acquire. STATUS.md lists every gap.
Yes. Built-in adapters cover Razorpay, Cashfree, PhonePe and sponsor_upi. A generic custom adapter speaks a small JSON contract. Store plugins for Shopify, WooCommerce and Magento create payment links and mark orders paid on payment.captured (Woo/Shopify release zips via scripts/package-*-plugin.sh). Bank statements import as CSV, SWIFT MT940 or CAMT.053. See bring your own provider and plugins.
scripts/compose-smoke.sh builds the stack, waits on Envoy /readyz and bootstraps a test org. The Developers page lists recent authenticated calls (GET /v1/api_requests, no bodies) and outbox deliveries. CI validates docker compose config; a full smoke needs Docker locally.
No. Vayora Pay and Vayora Merchant on iOS and Android are test apps against the simulator (scan/paste UPI, Collect → QR). A real consumer UPI app needs NPCI TPAP approval and a sponsor bank, which these do not have. See apps/ios and apps/android.
Yes. A test environment can clear its own payments and money records from Settings, with a typed confirmation. Your setup stays. A live environment cannot do this, and the reset is written to the audit log.
No. It issues GST tax invoices and a GSTR-1 style summary. Filing is yours.
The software is free under Apache-2.0. Your provider, bank and any licensed partner charge their own fees; Zyvor can measure the real cost from your settlements.