Skip to content
NovaroPayDocs
PSP-Version 2026-10-25.acacia
Theme
Merchant portal(opens in a new tab)

Overview

The NovaroPay API lets your servers create payments and payouts, and tells you what happened to them. It is a REST API over HTTPS with JSON bodies, and it follows Stripe’s conventions: if you have integrated Stripe, the keys, errors, idempotency keys and versions here will look familiar.

You work with us as a merchant. A merchant has one or more merchant accounts, and each account is on one market, such as India (IN). An account takes payments and pays out in its market’s currency, and everything you do through the API is done on one account: its payments, its payouts, its balance.

Each account has its own API keys, and a key names its account’s market: sk_live_in_… is a live key of an account in India. A key of one account cannot see or change another account’s objects, not even another account of the same merchant.

Each account has two modes:

  • Test, with sk_test_… keys. Use it while you build and in your CI: nothing in test mode moves real money, and test data stays apart from live data. See Test mode.
  • Live, with sk_live_… keys. Real payments, real money.

The key decides which mode a request is in. Live keys can be limited to your servers’ addresses with an IP allowlist; test keys are not limited by it.

  1. Get your account’s keys: API keys, and build in test mode first.
  2. Send them with every request: Authentication.
  3. Handle failures in one place: Errors.
  4. Retry safely: Idempotent requests.
  5. Pin your integration to a version: Versioning.
  6. Send the payer to our page instead of showing the details yourself: Hosted payment page.