> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-60c89f9a-mintlify-audit-missing-sections-1778528421.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# QR Code APIs

> You can use the QR Codes APIs to perform various actions. You can perform all of these actions from the Dashboard as well.

### Integration Checklist

<Warning>
  **Watch Out!**

  Once the QR Code has been created, you cannot edit its details.

  <Steps>
    <Step title="Step 1">
      If you are creating a Dynamic QR Code, we suggest you create a single `customer_id` rather than making multiple ids for the same customer. In any case, if their details change, you can use the [Edit Customer Details API](/api/customers#edit-customer-details).
    </Step>

    <Step title="Step 2">
      To keep a check on the duplicate customer details:

      * If you use the `fail_existing : "1"` parameter, the API throws an error when existing customer details are added.
      * If you use the `fail_existing : "0"` parameter, the API returns the `customer_id` when existing customer details are added.
    </Step>

    <Step title="Step 3">
      Use [Payment Downtime API](/api/payments/downtime) to check for any downtimes that might affect the UPI generation/transactions.
    </Step>

    <Step title="Step 4">
      Please note that the Razorpay order id gets generated automatically when a customer makes the payment using the QR Code provided by you.
    </Step>

    <Step title="Step 5">
      While [creating a QR Code via API](/api/qr-codes#create-a-qr-code) or using the Dashboard, make sure that you pass all the critical parameters for non-GST and GST QR Codes.
    </Step>

    <Step title="Step 6">
      Pass the type as `upi_qr` while creating the QR Code. Since we also have a BharatQR feature, not passing the type can lead to errors.
    </Step>

    <Step title="Step 7">
      Check the difference between Static and Dynamic QR Codes:
    </Step>
  </Steps>

  ## Dynamic QR | Static QR

  ## Single use. Can be used only once. | Can be used multiple times.

  If it is generated for specific customers, then you can pass `customer_id`. | Not required to pass `customer_id`.

  8. If the `fixed_amount` parameter is passed, you must pass the `amount` parameter at the time of QR Code creation.
  9. To fetch the details about the QR Codes, you can use [QR Code webhooks](/payments/qr-codes/subscribe-to-webhooks) or use [Fetch a QR Code API](/api/qr-codes/fetch-with-id) to get details about payment activity or the status of your QR Codes.
  10. We recommend using the [Fetch a QR Code API](/api/qr-codes/fetch-with-id) to fetch relative information about QR Codes.
</Warning>

<Info>
  **Best Practices for Image Content Integration**

  You can check the contents passed in the QR Code using the response payload for [Create a QR Code](/api/qr-codes#create-a-qr-code). The `image_content` parameter displays the QR Code content. For Example, once the `qr_image_content` feature is enabled, you can get the Create QR Code response as given on the right-hand side.
</Info>

## List of QR Code APIs

The table below lists the various QR Code APIs and gives a brief description of each API:

## API | Description

## [Create a QR Code](/api/qr-codes/create) | API to create a new QR Code

## [Close a QR Code](/api/qr-codes/close) | API to close a QR Code

## [Fetch a QR Code](/api/qr-codes/fetch-with-id) | API to view details of a QR Code

## [Fetch a QR Code for Customer ID](/api/qr-codes/fetch-customer-id) | API to view details of a QR Code for a customer id

## [Fetch a QR Code for Payment ID](/api/qr-codes/fetch-payment-id) | API to view details of a QR Code for a payment id

## [Fetch payments made to a QR Code](/api/qr-codes/fetch-payments) | API to view details of payments made to a QR Code

[Fetch multiple QR Codes](/api/qr-codes/fetch-all) | API to view a list of all QR Codes

## List of QR GST Code APIs

The table below lists the various QR Code APIs and gives a brief description of each API:

## API | Description

## [Create a QR Code](/api/qr-codes/gst#create-a-qr-code/) | API to create a new QR Code

## [Close a QR Code](/api/qr-codes/gst#close-a-qr-code/) | API to close a QR Code

## [Fetch a QR Code](/api/qr-codes/gst#fetch-a-qr-code/) | API to view details of a QR Code

## [Fetch a QR Code for Customer ID](/api/qr-codes/gst#fetch-qr-code-customer-id/) | API to view details of a QR Code for a customer id

## [Fetch a QR Code for Payment ID](/api/qr-codes/gst#fetch-qr-code-payment-id/) | API to view details of a QR Code for a payment id

## [Fetch payments made to a QR Code](/api/qr-codes/gst#fetch-payments-qr-code/) | API to view details of payments made to a QR Code

## [Fetch multiple QR Codes](/api/qr-codes/gst#fetch-multiple-qr-codes/) | API to view a list of all QR Codes

[Refund Payment](/api/refunds) | API to refund a payment

### Related Information

* [Create a QR Code](/payments/qr-codes/create)
* [Search a QR Code](/payments/qr-codes/search)
* [Close a QR Code](/payments/qr-codes/close)
* [Subscribe to Webhooks](/payments/qr-codes/subscribe-to-webhooks)
