> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-881012b3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch a Payment With ID

> Fetch a Payment using Razorpay Payments API.

<div style={{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0.35rem 0.9rem",border:"1px solid rgba(128,128,128,0.28)",borderRadius:"0.5rem",padding:"0.45rem 0.75rem",margin:"0 0 1.25rem",fontSize:"0.875rem"}}>
  <span style={{fontWeight:600}}>Available in</span>
  <span>🇮🇳 India</span>
  <span>🇸🇬 Singapore</span>
  <span>🇺🇸 United States</span>
</div>

Use this endpoint to retrieve the details of a specific payment using its `id`.

<RequestExample>
  ```bash Curl theme={null}
  curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]
  -X GET https://api.razorpay.com/v1/payments/pay_DG4ZdRK8ZnXC3k
  ```

  ```java Java theme={null}
  RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");

  String paymentId = "pay_DG4ZdRK8ZnXC3k";

  Payment payment = razorpay.payments.fetch(paymentId);
  ```

  ```python Python theme={null}
  import razorpay
  client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))

  client.payment.fetch(paymentId)
  ```

  ```go Go theme={null}
  import ( razorpay "github.com/razorpay/razorpay-go" )
  client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")

  paymentId := "pay_DG4ZdRK8ZnXC3k"

  body, err := client.Payment.Fetch(paymentId, nil, nil)
  ```

  ```php PHP theme={null}
  $api = new Api($key_id, $secret);

  $api->payment->fetch($paymentId);
  ```

  ```ruby Ruby theme={null}
  require "razorpay"
  Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET')

  paymentId = "pay_DG4ZdRK8ZnXC3k"

  Razorpay::Payment.fetch(paymentId)
  ```

  ```javascript Node.js theme={null}
  var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })

  instance.payments.fetch(paymentId)
  ```

  ```csharp .NET theme={null}
  RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
  Payment payment = client.Payment.Fetch(paymentId);
  ```

  ```bash CLI theme={null}
  razorpay payments fetch pay_ABC123
  ```
</RequestExample>

<ResponseExample>
  ```json Netbanking theme={null}
  {
    "id": "pay_MT48CvBhIC98MQ",
    "entity": "payment",
    "amount": 2100,
    "currency": "INR",
    "status": "captured",
    "order_id": "order_MT47xgV5ApouIB",
    "invoice_id": null,
    "international": false,
    "method": "netbanking",
    "amount_refunded": 0,
    "refund_status": null,
    "captured": true,
    "description": "#MT47qgzX2EOko2",
    "card_id": null,
    "bank": "ICIC",
    "wallet": null,
    "vpa": null,
    "email": "gaurav.kumar@example.com",
    "contact": "+919000090000",
    "notes": [],
    "fee": 50,
    "tax": 8,
    "error_code": null,
    "error_description": null,
    "error_source": null,
    "error_step": null,
    "error_reason": null,
    "acquirer_data": {
        "bank_transaction_id": "6951370"
    },
    "created_at": 1692696719
  }
  ```

  ```json UPI theme={null}
  {
    "id": "pay_MT3PgKGazkDUUM",
    "entity": "payment",
    "amount": 1000,
    "currency": "INR",
    "status": "captured",
    "order_id": "order_MLXS6VLbhKH7i1",
    "invoice_id": "inv_MLXS5jI0oFNX2a",
    "international": false,
    "method": "upi",
    "amount_refunded": 0,
    "refund_status": null,
    "captured": true,
    "description": "#MLXS5jI0oFNX2a",
    "card_id": null,
    "bank": null,
    "wallet": null,
    "vpa": "gaurav.kumar@examplebank",
    "email": null,
    "contact": "+919000090000",
    "notes": [],
    "fee": 24,
    "tax": 4,
    "error_code": null,
    "error_description": null,
    "error_source": null,
    "error_step": null,
    "error_reason": null,
    "acquirer_data": {
        "rrn": "322398320067"
    },
    "created_at": 1692694191,
    "upi": {
        "payer_account_type": "credit_card",
        "vpa": "gaurav.kumar@examplebank",
        "flow": "intent"
    }
  }
  ```

  ```json Card theme={null}
  {
    "id": "pay_DG4ZdRK8ZnXC3k",
    "entity": "payment",
    "amount": 100,
    "currency": "INR",
    "status": "captured",
    "order_id": "order_GjCr5oKh4AVC51",
    "invoice_id": null,
    "international": false,
    "method": "card",
    "amount_refunded": 0,
    "refund_status": null,
    "captured": true,
    "description": "Payment for Adidas shoes",
    "card_id": "card_KOdY30ajbuyOYN",
    "bank": null,
    "wallet": null,
    "vpa": null,
    "email": "gaurav.kumar@example.com",
    "contact": "9000090000",
    "customer_id": "cust_K6fNE0WJZWGqtN",
    "token_id": "token_KOdY$DBYQOv08n",
    "notes": [],
    "fee": 1,
    "tax": 0,
    "error_code": null,
    "error_description": null,
    "error_source": null,
    "error_step": null,
    "error_reason": null,
    "acquirer_data": {
        "auth_code": "064381",
        "arn": "74119663031031075351326",
        "rrn": "303107535132"
    },
    "created_at": 1605871409
  }
  ```

  ```json Wallet theme={null}
  {
    "id": "pay_MT4GRFUHBfMCNf",
    "entity": "payment",
    "amount": 250000,
    "currency": "INR",
    "status": "captured",
    "order_id": "order_MT4FE4i64KutqB",
    "invoice_id": null,
    "international": false,
    "method": "wallet",
    "amount_refunded": 0,
    "refund_status": null,
    "captured": true,
    "description": "#MT4F1XRgHKcWEt",
    "card_id": null,
    "bank": null,
    "wallet": "airtelmoney",
    "vpa": null,
    "email": "gaurav.kumar@example.com",
    "contact": "+919000090000",
    "notes": [],
    "fee": 5900,
    "tax": 900,
    "error_code": null,
    "error_description": null,
    "error_source": null,
    "error_step": null,
    "error_reason": null,
    "acquirer_data": {
        "transaction_id": null
    },
    "created_at": 1692697187
  }
  ```

  ```json Pay Later theme={null}
  {
    "id": "pay_QrfcvoKuJmQMy4",
    "entity": "payment",
    "amount": 100,
    "currency": "INR",
    "status": "captured",
    "order_id": "order_QrfZOFrKHaAErr",
    "invoice_id": null,
    "international": false,
    "method": "paylater",
    "amount_refunded": 0,
    "refund_status": null,
    "captured": true,
    "description": "Payment for your product",
    "card_id": null,
    "bank": null,
    "wallet": "rzpx_postpaid",
    "vpa": null,
    "email": "gaurav.kumar@example.com",
    "contact": "+919000090000",
    "notes": [],
    "fee": 2,
    "tax": 0,
    "error_code": null,
    "error_description": null,
    "error_source": null,
    "error_step": null,
    "error_reason": null,
    "acquirer_data": {
      "transaction_id": null
    },
    "created_at": 1752217274
  }
  ```

  ```json Failure theme={null}
  {
    "error": {
        "code": "BAD_REQUEST_ERROR",
        "description": "The id provided does not exist",
        "source": "business",
        "step": "payment_initiation",
        "reason": "input_validation_failed",
        "metadata": {}
    }
  }
  ```
</ResponseExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "id": "pay_DG4ZdRK8ZnXC3k",
    "entity": "payment",
    "amount": 100,
    "currency": "INR",
    "status": "captured",
    "order_id": "order_GjCr5oKh4AVC51",
    "invoice_id": null,
    "international": false,
    "method": "card",
    "amount_refunded": 0,
    "refund_status": null,
    "captured": true,
    "description": "Payment for Adidas shoes",
    "card_id": "card_KOdY30ajbuyOYN",
    "bank": null,
    "wallet": null,
    "vpa": null,
    "email": "gaurav.kumar@example.com",
    "contact": "9000090000",
    "customer_id": "cust_K6fNE0WJZWGqtN",
    "token_id": "token_KOdY$DBYQOv08n",
    "notes": [],
    "fee": 1,
    "tax": 0,
    "error_code": null,
    "error_description": null,
    "error_source": null,
    "error_step": null,
    "error_reason": null,
    "acquirer_data": {
        "auth_code": "064381",
        "arn": "74119663031031075351326",
        "rrn": "303107535132"
    },
    "created_at": 1605871409
  }
  ```

  ```json Failure theme={null}
  {
      "error": {
          "code": "BAD_REQUEST_ERROR",
          "description": "The id provided does not exist",
          "source": "business",
          "step": "payment_initiation",
          "reason": "input_validation_failed",
          "metadata": {}
      }
  }
  ```
</ResponseExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "id": "pay_DG4ZdRK8ZnXC3k",
    "entity": "payment",
    "amount": 5000,
    "currency": "SGD",
    "status": "captured",
    "order_id": null,
    "invoice_id": null,
    "international": false,
    "method": "card",
    "amount_refunded": 0,
    "refund_status": null,
    "captured": true,
    "description": "Test Transaction",
    "card_id": "card_LPpN6ubeosLH4g",
    "card": {
      "id": "card_LPpN6ubeosLH4g",
      "entity": "card",
      "name": "",
      "last4": "0153",
      "network": "Visa",
      "type": "debit",
      "issuer": null,
      "international": false,
      "sub_type": "consumer",
      "token_iin": null
    },
    "bank": null,
    "wallet": null,
    "email": "<email>",
    "contact": "<phone>",
    "notes": {
      "address": "Corporate Office"
    },
    "fee": 100,
    "tax": 0,
    "error_code": null,
    "error_description": null,
    "error_source": null,
    "error_step": null,
    "error_reason": null,
    "acquirer_data": {
      "auth_code": "878694"
    },
    "created_at": 1678452635
  }
  ```

  ```json Failure theme={null}
  {
      "error": {
          "code": "BAD_REQUEST_ERROR",
          "description": "The id provided does not exist",
          "source": "business",
          "step": "payment_initiation",
          "reason": "input_validation_failed",
          "metadata": {}
      }
  }
  ```

  ```json Card theme={null}
  {
    "id": "pay_DG4ZdRK8ZnXC3k",
    "entity": "payment",
    "amount": 5000,
    "currency": "SGD",
    "status": "captured",
    "order_id": null,
    "invoice_id": null,
    "international": false,
    "method": "card",
    "amount_refunded": 0,
    "refund_status": null,
    "captured": true,
    "description": "Test Transaction",
    "card_id": "card_LPpN6ubeosLH4g",
    "card": {
      "id": "card_LPpN6ubeosLH4g",
      "entity": "card",
      "name": "",
      "last4": "0153",
      "network": "Visa",
      "type": "debit",
      "issuer": null,
      "international": false,
      "sub_type": "consumer",
      "token_iin": null
    },
    "bank": null,
    "wallet": null,
    "email": "<email>",
    "contact": "<phone>",
    "notes": {
      "address": "Corporate Office"
    },
    "fee": 100,
    "tax": 0,
    "error_code": null,
    "error_description": null,
    "error_source": null,
    "error_step": null,
    "error_reason": null,
    "acquirer_data": {
      "auth_code": "878694"
    },
    "created_at": 1678452635
  }
  ```

  ```json Pay Later theme={null}
  {
    "id": "pay_R9EYsYsO99TNUq",
    "entity": "payment",
    "amount": 17700,
    "currency": "SGD",
    "status": "captured",
    "order_id": "order_R9EYkuJb39qgpE",
    "invoice_id": null,
    "international": false,
    "method": "paylater",
    "amount_refunded": 0,
    "refund_status": null,
    "captured": true,
    "description": null,
    "card_id": null,
    "bank": null,
    "wallet": "atome",
    "vpa": null,
    "email": "<email>",
    "contact": "<phone>",
    "notes": [],
    "fee": 1062,
    "tax": 0,
    "error_code": null,
    "error_description": null,
    "error_source": null,
    "error_step": null,
    "error_reason": null,
    "acquirer_data": {
      "transaction_id": "MTX2505986141123"
    },
    "created_at": 1756052081
  }
  ```

  ```json Failure theme={null}
  {
      "error": {
          "code": "BAD_REQUEST_ERROR",
          "description": "The id provided does not exist",
          "source": "business",
          "step": "payment_initiation",
          "reason": "input_validation_failed",
          "metadata": {}
      }
  }
  ```
</ResponseExample>

## Path Parameters

<ParamField path="id" type="string" required>
  Unique identifier of the payment to be retrieved.
</ParamField>

## Response Parameters

<ResponseField name="id" type="string">
  Unique identifier of the payment.
</ResponseField>

<ResponseField name="entity" type="string">
  Indicates the type of entity.
</ResponseField>

<ResponseField name="amount" type="integer">
  The payment amount in currency subunits. For example, for an amount of ₹1 enter 100.
</ResponseField>

<ResponseField name="currency" type="string">
  The currency in which the payment is made. Refer to the list of [international currencies](/docs/sg/payments/international-payments#supported-currencies) that we support.
</ResponseField>

<ResponseField name="status" type="string">
  The status of the payment. Possible values:

  * `created`
  * `authorized`
  * `captured`
  * `refunded`
  * `failed`
</ResponseField>

<ResponseField name="method" type="string">
  The payment method used for making the payment. Possible values:

  * `card`
  * `netbanking`
  * `wallet`
  * `emi`
  * `upi`
  * `paylater`
</ResponseField>

<ResponseField name="order_id" type="string">
  Order id, if provided. Know more about [Orders](/docs/sg/payments/orders).
</ResponseField>

<ResponseField name="description" type="string">
  Description of the payment, if any.
</ResponseField>

<ResponseField name="international" type="boolean">
  Indicates whether the payment is done via an international card or a domestic one. Possible values:

  * `true`: Payment made using international card.
  * `false`: Payment not made using international card.
</ResponseField>

<ResponseField name="refund_status" type="string">
  The refund status of the payment. Possible values:

  * `null`
  * `partial`
  * `full`
</ResponseField>

<ResponseField name="amount_refunded" type="integer">
  The amount refunded in currency subunits. For example, if `amount_refunded = 100`, it is equal to ₹1.
</ResponseField>

<ResponseField name="captured" type="boolean">
  Indicates if the payment is captured. Possible values:

  * `true`: Payment has been captured.
  * `false`: Payment has not been captured.
</ResponseField>

<ResponseField name="email" type="string">
  Customer email address used for the payment.
</ResponseField>

<ResponseField name="contact" type="string">
  Customer contact number used for the payment.
</ResponseField>

<ResponseField name="fee" type="integer">
  Fee (including GST) charged by Razorpay.
</ResponseField>

<ResponseField name="tax" type="integer">
  GST charged for the payment.
</ResponseField>

<ResponseField name="error_code" type="string">
  Error that occurred during payment. For example, `BAD_REQUEST_ERROR`.
</ResponseField>

<ResponseField name="error_description" type="string">
  Description of the error that occurred during payment. For example, `Payment processing failed because of incorrect OTP`.
</ResponseField>

<ResponseField name="error_source" type="string">
  The point of failure. For example, `customer`.
</ResponseField>

<ResponseField name="error_step" type="string">
  The stage where the transaction failure occurred. The stages can vary depending on the payment method used to complete the transaction. For example, `payment_authentication`.
</ResponseField>

<ResponseField name="error_reason" type="string">
  The exact error reason. For example, `incorrect_otp`.
</ResponseField>

<ResponseField name="notes" type="json object">
  Contains user-defined fields, stored for reference purposes.
</ResponseField>

<ResponseField name="created_at" type="integer">
  Timestamp, in UNIX format, on which the payment was created.
</ResponseField>

<ResponseField name="card_id" type="string">
  The unique identifier of the card used by the customer to make the payment.
</ResponseField>

<ResponseField name="card" type="object">
  Details of the card used to make the payment.
</ResponseField>

<ResponseField name="id" type="string">
  The unique identifier of the card used by the customer to make the payment.
</ResponseField>

<ResponseField name="entity" type="string">
  The name of the entity. Here, it is `card`.
</ResponseField>

<ResponseField name="name" type="string">
  Name of the cardholder.
</ResponseField>

<ResponseField name="last4" type="integer">
  The last 4 digits of the card number.
</ResponseField>

<ResponseField name="network" type="string">
  The card network. Possible values:

  * `American Express`
  * `Diners Club` (Only available for private limited and registered businesses)
  * `Maestro`
  * `MasterCard`
  * `RuPay`
  * `Unknown`
  * `Visa`
</ResponseField>

<ResponseField name="type" type="string">
  The card type. Possible values:

  * `credit`
  * `debit`
  * `prepaid`
  * `unknown`
</ResponseField>

<ResponseField name="issuer" type="string">
  The card issuer. The 4-character code denotes the issuing bank. This attribute will not be set for the card issued by a foreign bank.
</ResponseField>

<ResponseField name="emi" type="boolean">
  Indicates whether the card can be used for EMI payment method. Possible values:

  * `true`: Card can be used for EMI payments.
  * `false`: Card cannot be used for EMI payments.
</ResponseField>

<ResponseField name="sub_type" type="string">
  The sub-type of the customer's card. Possible values:

  * `customer`
  * `business`<br />

  Know how to accept payments made by customers using [corporate cards](/docs/sg/payments/payment-methods/cards/corporate-cards).
</ResponseField>

<ResponseField name="upi" type="object">
  Details of the UPI payment received. Only applicable if `method` is `upi`.
</ResponseField>

<ResponseField name="payer_account_type" type="string">
  The payment method used for making the payment. Possible values:

  * `bank_account`
  * `credit_card`
  * `wallet`
  * `credit_line`
</ResponseField>

<ResponseField name="vpa" type="string">
  The customer's VPA (Virtual Payment Address) or UPI id used to make the payment. For example, `gauravkumar@exampleupi`.
</ResponseField>

<ResponseField name="flow" type="string">
  The type of UPI flow. Possible values:

  * `intent`: When a UPI app is selected and user is redirected to it.
  * `collect`: The user enters their UPI ID and receives a notification from the UPI app. They open the app and complete the payment.
  * `in_app`: In case of Turbo UPI Payments.
</ResponseField>

<ResponseField name="bank" type="string">
  The 4-character bank code which the customer's account is associated with. For example, `UTIB` for Axis Bank.
</ResponseField>

<ResponseField name="vpa" type="string">
  The customer's VPA (Virtual Payment Address) or UPI id used to make the payment. For example, `gauravkumar@exampleupi`.
</ResponseField>

<ResponseField name="wallet" type="string">
  The name of the wallet used by the customer to make the payment. For example, `payzapp`.
</ResponseField>

<ResponseField name="acquirer_data" type="object">
  An object containing unique reference numbers.
</ResponseField>

<ResponseField name="rrn" type="string">
  A unique bank reference number provided by the banking partner when a refund is processed. This reference number can be used by the customer to track the status of the refund with the bank.
</ResponseField>

<ResponseField name="authentication_reference_number" type="string">
  A unique reference number generated for RuPay card payments.
</ResponseField>

<ResponseField name="bank_transaction_id" type="string">
  A unique reference number provided by the banking partner in case of netbanking payments.
</ResponseField>

<ResponseField name="amount_captured" type="integer">
  The amount captured for this payment, in the smallest currency unit (paise for INR).
</ResponseField>

<ResponseField name="provider" type="string">
  The payment provider used for cardless EMI, PayLater, or app-based payment methods.
</ResponseField>

<ResponseField name="reward" type="object">
  Reward details applied to this payment, when an offer of type `reward` was redeemed.
</ResponseField>

<ResponseField name="token_id" type="string">
  Unique identifier of the token associated with this payment.
</ResponseField>

<ResponseField name="customer_id" type="string">
  Unique identifier of the customer associated with this payment.
</ResponseField>

<ResponseField name="invoice_id" type="string">
  Unique identifier of the invoice associated with this payment.
</ResponseField>

## Errors

<AccordionGroup>
  <Accordion title="The API {key/secret} provided is invalid.">
    **Code:** `4xx`

    The API credentials passed in the API call differ from the ones generated on the Dashboard.

    **Solution:** The API keys must be active and entered correctly with no whitespace before or after.
  </Accordion>

  <Accordion title="The id provided does not exist.">
    **Code:** `400`

    The `payment_id` provided is incorrect.

    **Solution:** Use the correct `payment_id`.
  </Accordion>
</AccordionGroup>
