Connect your application to NiriPay with server-side APIs, hosted checkout, and signed payment notifications. Start with an INR payment, or explore the separate USDT integration.
Make your first request#
Create an INR deposit and use the returned payment_page to open checkout. The example below uses illustrative values; requests sent to the production API create real orders.
curl -X POST https://api.niripay.com/api/v1/merchant/deposits/create \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 1000,
"transaction_id": "ORDER-2026-001",
"webhook_url": "https://merchant.example/webhooks/niripay"
}'A payment, from end to end#
- 1Create an orderYour server → NiriPay
- 2Open checkoutYour customer pays
- 3Confirm paymentVerify & reconcile
Your server creates the payment. Your customer completes checkout. Your application verifies the notification and reconciles the final status.
Choose your integration#
| Integration | What you can build | Start here |
|---|---|---|
| INR collections | UPI payments and hosted checkout | Create a deposit |
| INR payouts | Bank transfers and status tracking | Create a payout |
| USDT on TRON | Reusable deposit addresses and quoted payouts | USDT overview |
| WooCommerce | Checkout integration for your store | WooCommerce guide |
Before you begin#
Have an approved merchant account, a server-side API key, an allowlisted server egress IP, and an HTTPS webhook endpoint ready. USDT functionality requires separate merchant activation.
Read the quickstart for the complete flow, then follow the production checklist before accepting payments.