> ## 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.

# QR Code APIs

> Checklist to integrate using QR Code APIs. List of QR Code APIs and GST QR Code APIs - Create, Close, Fetch and Refund.

<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>
</div>

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

<AccordionGroup>
  <Accordion title="Integration Checklist">
    <Warning>
      **Watch Out!**

      Once the QR Code has been created, you cannot edit its details.
    </Warning>

    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](/docs/api/customers/edit).
    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.
    3. Use [Payment Downtime API](/docs/api/payments/downtime) to check for any downtimes that might affect the UPI generation/transactions.
    4. Please note that the Razorpay order id gets generated automatically when a customer makes the payment using the QR Code provided by you.
    5. While [creating a QR Code via API](/docs/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.
    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.
    7. Check the difference between Static and Dynamic QR Codes:

    | 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](/docs/payments/qr-codes/subscribe-to-webhooks) or use [Fetch a QR Code API](/docs/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](/docs/api/qr-codes/fetch-with-id) to fetch relative information about QR Codes.

    <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](/docs/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>
  </Accordion>
</AccordionGroup>

## 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](/docs/api/qr-codes/create)                           | API to create a new QR Code                        |
| [Close a QR Code](/docs/api/qr-codes/close)                             | API to close a QR Code                             |
| [Fetch a QR Code](/docs/api/qr-codes/fetch-with-id)                     | API to view details of a QR Code                   |
| [Fetch a QR Code for Customer ID](/docs/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](/docs/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](/docs/api/qr-codes/fetch-payments)   | API to view details of payments made to a QR Code  |
| [Fetch multiple QR Codes](/docs/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](/docs/api/qr-codes/gst#create-a-qr-code/)                         | API to create a new QR Code                        |
| [Close a QR Code](/docs/api/qr-codes/gst#close-a-qr-code/)                           | API to close a QR Code                             |
| [Fetch a QR Code](/docs/api/qr-codes/gst#fetch-a-qr-code/)                           | API to view details of a QR Code                   |
| [Fetch a QR Code for Customer ID](/docs/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](/docs/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](/docs/api/qr-codes/gst#fetch-payments-qr-code/)   | API to view details of payments made to a QR Code  |
| [Fetch multiple QR Codes](/docs/api/qr-codes/gst#fetch-multiple-qr-codes/)           | API to view a list of all QR Codes                 |
| [Refund Payment](/docs/api/refunds)                                                  | API to refund a payment                            |

### Related Information

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