Qora mints dynamic QR codes on your Fonepay merchant account. Customers scan with any bank or wallet app, and the money settles straight into your bank — never into ours.
No sales call. Test keys work the moment you sign up.
curl https://qora.laayo.com.np/v1/payments \
-H "Authorization: Bearer sk_test_..." \
-H "Idempotency-Key: order_1042" \
-d amount=25000 \
-d reference="Order #1042"
{
"id": "pay_7Fh2kQ9mXwRt3vNbLp6sDc",
"object": "payment",
"amount": 25000,
"currency": "NPR",
"status": "requires_payment",
"qr": {
"payload": "00020101021230590016A0055...",
"expires_at": "2026-09-07T09:15:00+05:45"
}
}
Most ways to take a QR payment in Nepal route your money through someone else's merchant account first. They take a cut, then release what is left on their own schedule. Qora is built the other way round.
The parts that are tedious to build correctly, built correctly once.
Post an amount, get a scannable payload back. No SDK, no setup, nothing to host.
Qora watches every payment for you and confirms in about a second, with a sweep behind it that catches anything missed.
HMAC-SHA256 over a timestamped body, five retries with backoff, and verification snippets in three languages.
Send an Idempotency-Key and a timed-out retry returns the original result instead of charging twice.
Separate keys, separate data, separate webhooks. Build the whole integration before verification clears.
Your Fonepay credentials are encrypted at rest, and API keys are stored as hashes we cannot reverse.
Create an account, copy your test key, and make one API call. Verification only matters when you are ready for real money.