> ## 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 Payments Made Using UPI Payment Method

> Fetch Payments made using UPI payment method, using the Razorpay 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 details of payments made using the UPI payment method.

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

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

  String paymentId = "pay_CmiztqmYJPtDAu";

  Payment payment = instance.payments.fetchupiTransfers(paymentId)
  ```

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

  $api->payment->fetch($virtualId)->upiTransfer();
  ```

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

  client.payment.upi_transfer(paymentId)
  ```

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

  instance.payments.upiTransfer(paymentId)
  ```

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

  body, err := client.Payment.upiTransfer("<paymentID>", nil, nil)
  ```

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

  paymend_id = "pay_Di5iqCqA1WEHq6"

  Razorpay::Razorpay::Payment.fetch(paymend_id).upiTransfer
  ```

  ```bash CLI theme={null}
  razorpay smart-collect fetch-upi-payment pay_DlGmm7jInLudH8
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "id": "ut_E5YEUKb9yA0YvX",
    "entity": "upi_transfer",
    "amount": 100,
    "payer_vpa": "gauravkumar@exampleupi",
    "payer_bank": "HDFC BANK LTD",
    "payer_account": "50100000000001",
    "payer_ifsc": "HDFC0000004",
    "payment_id": "pay_E5YETrWuVgP3fI",
    "npci_reference_id": "001718859181",
    "virtual_account_id": "va_E5V3Rb3sQaMS5v",
    "virtual_account": {
      "id": "va_E5V3Rb3sQaMS5v",
      "name": "Acme Corp",
      "entity": "virtual_account",
      "status": "active",
      "description": "First Customer Identifier",
      "amount_expected": null,
      "notes": [],
      "amount_paid": 200,
      "customer_id": "cust_9xnHzNGIEY4TAV",
      "receivers": [
        {
          "id": "vpa_E5V3RsO1g4QK7t",
          "entity": "vpa",
          "username": "rpy.payto00000gaurikumari",
          "handle": "icici",
          "address": "rpy.payto00000gaurikumari@icici"
        }
      ],
      "close_by": null,
      "closed_at": null,
      "created_at": 1579254678
    }
  }
  ```
</ResponseExample>

## Path Parameters

<ParamField path="id" type="string" required>
  The unique identifier of the payment made to the Customer Identifier.
</ParamField>

## Response Parameters

<ResponseField name="id" type="string">
  The unique identifier of the UPI transfer.
</ResponseField>

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

<ResponseField name="amount" type="integer">
  The amount paid by the customer.
</ResponseField>

<ResponseField name="payer_vpa" type="string">
  The UPI ID of the customer that is used to make the payment.
</ResponseField>

<ResponseField name="payer_bank" type="string">
  The name of the customer's bank.
</ResponseField>

<ResponseField name="payer_account" type="string">
  The bank account number of the customer that is linked to the UPI ID.
</ResponseField>

<ResponseField name="payer_ifsc" type="string">
  The IFSC associated with the bank account.
</ResponseField>

<ResponseField name="payment_id" type="string">
  The unique identifier of the payment made by the customer.
</ResponseField>

<ResponseField name="npci_reference_id" type="string">
  The unique reference number provided by NPCI for the payment.
</ResponseField>

<ResponseField name="virtual_account_id" type="string">
  The unique identifier of the Customer Identifier.
</ResponseField>

<ResponseField name="virtual_account" type="object">
  Details of the Customer Identifier.
</ResponseField>

<ResponseField name="id" type="string">
  The unique identifier of the Customer Identifier.
</ResponseField>

<ResponseField name="name" type="string">
  The `merchant billing label` as it appears on Dashboard.
</ResponseField>

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

<ResponseField name="status" type="string">
  Indicates the status of the Customer Identifier. Possible values are:

  * `active`
  * `closed`
</ResponseField>

<ResponseField name="description" type="string">
  A brief description about the Customer Identifier.
</ResponseField>

<ResponseField name="amount_paid" type="integer">
  The amount paid by the customer into the Customer Identifier.
</ResponseField>

<ResponseField name="notes" type="object">
  Any custom notes added during the creation of the Customer Identifier.
</ResponseField>

<ResponseField name="customer_id" type="string">
  The unique identifier of the customer the Customer Identifier is linked with. For more details, refer to the [Customers API](/docs/api/customers).
</ResponseField>

<ResponseField name="receivers" type="object">
  Configuration of desired receivers for the Customer Identifier.
</ResponseField>

<ResponseField name="id" type="string">
  The unique identifier of the virtual UPI ID. For example, `vpa_CkTmLXqVYPkbxx`.
</ResponseField>

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

<ResponseField name="username" type="string">
  The unique identifier which forms the first half of the virtual UPI ID. For example, `rpy.payto00000gaurikumari`.
</ResponseField>

<ResponseField name="handle" type="string">
  The bank name that forms the second half of the virtual UPI ID. For example, `icici`.
</ResponseField>

<ResponseField name="address" type="string">
  The UPI ID that combines the `username` and the `handle` with the `@` symbol. For example, `rpy.payto00000gaurikumari@icici`. This parameter appears in the response only when `vpa` is passed as the receiver `type`.
</ResponseField>

<ResponseField name="close_by" type="integer">
  UNIX timestamp at which the Customer Identifier is scheduled to be automatically closed. The time must be at least 15 minutes after current time. The date range can be set till `2147483647` in UNIX timestamp format (equivalent to Tuesday, January 19, 2038 8:44:07 AM GMT+05:30).<br />

  <Info>
    **Handy Tips**<br />Any request beyond `2147483647` UNIX timestamp will fail.
  </Info>
</ResponseField>

<ResponseField name="closed_at" type="integer">
  UNIX timestamp at which the Customer Identifier is automatically closed.
</ResponseField>

<ResponseField name="created_at" type="integer">
  UNIX timestamp at which the Customer Identifier was created.
</ResponseField>
