NiriPayDocs
Dashboard
DocumentationAPI referenceGuidesMerchant API v1 / v2

Get deposit status

Read the current payment and manual verification state.

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

Returns the current payment and manual-verification state of a deposit owned by the authenticated merchant.

Request fields#

FieldTypeRequiredDescription
transaction_idStringYesMerchant transaction ID used to create the deposit

Request example

Server-side
curl -X POST https://api.niripay.com/api/v1/merchant/deposits/status \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"transaction_id":"TXN123456789"}'

Example response#

JSON
{
  "status": "success",
  "message": "Deposit status fetched successfully",
  "data": {
    "transaction_id": "TXN123456789",
    "internal_transaction_id": "abc123internal456",
    "intent_url": "upi://pay?pa=merchant@upi&am=1000&cu=INR",
    "amount": 1000,
    "status": "pending",
    "manual_verification_status": "need_pdf_video",
    "fees": {
      "percentage": 3,
      "fixed_amount": 2,
      "total_amount": 32.0,
      "net_credit_amount": 968.0
    }
  }
}

Manual verification states#

StateMeaning or next action
need_screenshotUpload the payment screenshot
screenshot_submittedScreenshot was received
checking_by_gatewayUTR or evidence is being checked
need_pdf_videoUpload both PDF and video
pdf_video_submittedPDF and video were received for review
invalid_screenshotScreenshot could not be accepted
rejectedManual verification was rejected
wrong_orderEvidence does not match the order
not_receivedPayment was not received
duplicateEvidence or payment appears duplicated
duplicate_successA matching payment was already completed successfully

Use the status API after receiving a webhook to reconcile your local state, and as a fallback when a webhook does not arrive.

NiriPay developer documentationSource reviewed · 27 Oct 2026