NiriPayDocs
Dashboard
DocumentationAPI referenceGuidesMerchant API v1 / v2

Create a deposit

Create a payment order and return a hosted checkout URL.

POST/api/v1/merchant/deposits/create
Bearer authentication•Server-side only

Creates an INR deposit and returns the generated payment instructions.

Request fields#

FieldTypeRequiredConstraintsDescription
webhook_urlURLYesValid public URLReceives deposit status postbacks
return_urlURLNoValid URLCustomer redirect after payment
amountNumberYesINR 100 to 50,000Deposit amount
transaction_idStringYesNon-empty and uniqueYour merchant transaction ID
customer_idStringNoNon-empty if providedYour customer identifier
customer_nameStringNoNon-empty after trimmingCustomer name forwarded to supported providers
customer_emailStringNoValid emailCustomer email forwarded to supported providers
customer_mobileStringNoExactly 10 digitsCustomer mobile number
traffic_typeStringNoftd or trustedOptional traffic classification

Request example

Server-side
curl -X POST https://api.niripay.com/api/v1/merchant/deposits/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "webhook_url": "https://merchant.example/webhooks/deposit",
    "return_url": "https://merchant.example/payment-complete",
    "amount": 1000,
    "transaction_id": "TXN123456789",
    "customer_id": "CUSTOMER-101"
  }'

Success response#

JSON
{
  "status": "success",
  "message": "Deposit created successfully",
  "data": {
    "payment_page": "https://pay.niripay.com/pay/abc123def456ghi789",
    "intent_url": "upi://pay?pa=merchant@upi&am=1000&cu=INR",
    "is_native": false,
    "transaction_id": "TXN123456789",
    "internal_transaction_id": "abc123def456ghi789",
    "amount": 1000,
    "fees": {
      "percentage": 3,
      "fixed_amount": 2,
      "total_amount": 32.0,
      "net_credit_amount": 968.0
    }
  }
}

Important rules#

  • Each create request must use a new transaction_id.
  • The minimum amount is INR 100 and the maximum is INR 50,000.
  • Persist both transaction_id and internal_transaction_id.
  • Store the create response before redirecting the customer.
NiriPay developer documentationSource reviewed · 27 Oct 2026