Vizo Digital Api
Sign in

AEPS · Transactions

Transaction Status

Get the final status of a transaction.

GET request

URL: https://uat-api.vizodigital.com/api/v1/aeps/transactions/{reference_id}

Include a valid Bearer token with every request

Code sample

curl -X GET "https://uat-api.vizodigital.com/api/v1/aeps/transactions/TXN2026100300001" \
  -H "X-API-Key: YOUR_API_KEY_OR_TOKEN" \
  -H "X-Timestamp: $(TZ=Asia/Kolkata date '+%Y-%m-%d %H:%M:%S')"

Success Response

{
    "status": "success",
    "message": "Transaction successful.",
    "data": {
        "reference_id": "TXN2026100300001",
        "tran_type": "CW",
        "status": "success",
        "amount": "2000.00",
        "rrn": "627610123456",
        "bank_name": "State Bank of India",
        "customer_aadhaar": "XXXXXXXX9012",
        "commission": "4.0000",
        "settlement_status": "awaiting",
        "release_due_at": "2026-10-03T15:00:00+05:30"
    }
}

Failure response

{
    "status": "error",
    "code": "transaction_not_found",
    "message": "Transaction not found."
}

Overview

Returns the current status of a transaction. Use it after a 202 pending answer or a timeout.

Notes

  • data.status is success, failed or pending. Hand over cash only when it is success.
  • A pending transaction is checked with the bank network on every call (at most once every 30 seconds).
  • The answer has the same fields as the Transaction answer, without customer_balance and mini_statement.
  • 404 transaction_not_found also covers a transaction made with the other environment's key.

Headers

  • X-API-Key · string required

    Your credential: either your `rr_live_` API key, or the Bearer token from `POST /api/v1/auth/client-credentials` (the same token every other API uses). The token may instead be sent as `Authorization: Bearer <token>`. A token follows the same IP whitelist as your keys, and all your tokens share one requests-per-minute allowance.

    Example: rr_live_xxxxxxxxxxxxx

  • X-Timestamp · string required

    Current time in IST as `YYYY-MM-DD HH:MM:SS` (or `YYYY-MM-DDTHH:MM:SS`). Do not add a timezone suffix such as `+05:30`. Must be within 15 seconds of our server time.

    Example: 2026-10-03 10:30:45

Parameters

  • client_request_id · path · string required

    The `client_request_id` you sent in the Transaction call.

    Example: TXN2026100300001

  • reference_id · path · string required

    The `reference_id` you sent in the Transaction call.

    Example: TXN2026100300001

Responses

  • 200 · application/json default

    Success

    Example

    {
        "status": "success",
        "message": "Transaction successful.",
        "data": {
            "reference_id": "TXN2026100300001",
            "tran_type": "CW",
            "status": "success",
            "amount": "2000.00",
            "rrn": "627610123456",
            "bank_name": "State Bank of India",
            "customer_aadhaar": "XXXXXXXX9012",
            "commission": "4.0000",
            "settlement_status": "awaiting",
            "release_due_at": "2026-10-03T15:00:00+05:30"
        }
    }
  • 404 · application/json

    Failed or rejected

    Example

    {
        "status": "error",
        "code": "transaction_not_found",
        "message": "Transaction not found."
    }

Errors

  • INVALID_API_KEY · HTTP 401

    Invalid or revoked API key.

    {
        "message": "Invalid or revoked API key."
    }
  • TIMESTAMP_OUT_OF_RANGE · HTTP 400

    Request timestamp is outside the ±15 second window.

    {
        "message": "Request timestamp is outside the ±15 second window."
    }
  • service_not_enabled · HTTP 403

    AEPS is not enabled for your account. Contact your account manager to activate it.

    {
        "status": "error",
        "code": "service_not_enabled",
        "message": "AEPS is not enabled for your account. Contact your account manager to activate it."
    }
  • RATE_LIMITED · HTTP 429

    Rate limit exceeded.

    {
        "message": "Rate limit exceeded."
    }
  • transaction_not_found · HTTP 404

    Transaction not found.

    {
        "status": "error",
        "code": "transaction_not_found",
        "message": "Transaction not found."
    }

Rate Limits

100/min