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.
Markets and merchant accounts
Section titled “Markets and merchant accounts”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.
Test and live
Section titled “Test and live”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.
Where to go next
Section titled “Where to go next”- Get your account’s keys: API keys, and build in test mode first.
- Send them with every request: Authentication.
- Handle failures in one place: Errors.
- Retry safely: Idempotent requests.
- Pin your integration to a version: Versioning.
- Send the payer to our page instead of showing the details yourself: Hosted payment page.