# Generate B2C Payment QR Code (Lite)

You can generate a QR code by sending a **`POST`** request to E-Invoicing API with the following request headers.

### Request Method

POST

### **Request URL**

```
{{HOST}}/einv/v1/qrcode/generate
```

### **Request Header**

| Parameter             | Data Type | Field Validations | Description                                                             |
| --------------------- | --------- | ----------------- | ----------------------------------------------------------------------- |
| X-Cleartax-Auth-Token | String    | NA                | Mandatory. The auth token generated from ClearTax user id and password. |
| Gstin                 | String    | NA                | Mandatory. GSTIN number for the user.                                   |
| Content-Type          | String    | NA                | <p>Mandatory. This will always be <br>"application/json" for JSON.</p>  |

### Request Path Params <a href="#request-path-params" id="request-path-params"></a>

There are no path parameters for this API.

### Request Query Params <a href="#request-query-params" id="request-query-params"></a>

There are no query parameters for this API.

### **Request Body**

| Parameter                    | Data Type | Field Validations                                                       | Description                                                                  |
| ---------------------------- | --------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| payee\_address               | String    | NA                                                                      | Mandatory. Payee VPA(Virtual Payment Address)                                |
| payee\_name                  | String    | <p>minLength: 1</p><p>maxLength: 100</p><p>pattern: "^(\[^\\"])\*$"</p> | Mandatory. Payee Name                                                        |
| transaction\_note            | String    | NA                                                                      | Optional. Transaction note providing a short description of the transaction. |
| transaction\_amount          | String    | NA                                                                      | Mandatory. Transaction amount in decimal format.                             |
| payee\_bank\_account\_number | String    | <p>minLength: 1</p><p>maxLength: 18</p><p>pattern: "^(\[^\\"])\*$"</p>  | Optional.  Payee bank account number                                         |
| payee\_ifsc\_code            | String    | <p>minLength: 1</p><p>maxLength: 11</p><p>pattern: "^(\[^\\"])\*$"</p>  | Optional.  Payee IFSC code                                                   |
| document\_number             | String    | NA                                                                      | Optional.  Document number                                                   |
| document\_date               | String    | NA                                                                      | Optional.  Document date                                                     |
| gstin                        | String    | 15 Characters                                                           | Optional. Seller GSTIN number                                                |
| gst\_value                   | String    | NA                                                                      | Optional. Total GST tax value                                                |
| cgst\_value                  | String    | NA                                                                      | Optional. CGST value                                                         |
| sgst\_value                  | String    | NA                                                                      | Optional. SGST value                                                         |
| igst\_value                  | String    | NA                                                                      | Optional. IGST value                                                         |
| cess\_value                  | String    | NA                                                                      | Optional. CESS value                                                         |

### Response Status Codes

| HTTP Status Code | Description                                                                  |
| ---------------- | ---------------------------------------------------------------------------- |
| 200              | For a successfully processed request (may be a success or validation error). |
| 401              | If the user is not authenticated for the operation.                          |
| 403              | If the user is not authorized for the operation.                             |
| 500              | If there are any unhandled exceptions on the Clear side.                     |

### Response Schema

| Parameter      | Data Type | Field Validations | Description                                                                     |
| -------------- | --------- | ----------------- | ------------------------------------------------------------------------------- |
| qr\_code       | String    | NA                | QR code string in base 64 format. Value will be null in negative case scenario. |
| raw\_qrCode    | String    | NA                | This field will contain the keys - values pair of request.                      |
| error\_details | List      | NA                | List of Error objects. Will be null in a successful API call.                   |

#### Error Details Object

| Parameter      | Data Type | Field Validations | Description                        |
| -------------- | --------- | ----------------- | ---------------------------------- |
| error\_code    | Number    | NA                | Specific code as per the error.    |
| error\_message | String    | NA                | Specific message as per the error. |
| error\_source  | String    | ClearTax          | Source of the error.               |

### Sample Request and Response <a href="#sample-request-and-response" id="sample-request-and-response"></a>

#### Request

```json
{
    "payee_name": "sandeepjayendran",
    "payee_address": "sandjay@okhdfcbank",
    "transaction_amount": "100.5",
    "transaction_note": "TransactionNote",
    "payee_bank_account_number": "123456789",
    "payee_ifsc_code": "HDFC12345",
    "document_number": "Doc123",
    "document_date": "23/03/2021",
    "gstin": "29AAFCD5862R000",
    "gst_value": "18",
    "cgst_value": "9",
    "sgst_value": "9",
    "igst_value": "0",
    "cess_value": "0"
}
```

#### Response (Success)&#x20;

**HTTP Status Code: 200 OK**

```json
{
    "qr_code": "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",
    "raw_qrCode": "upi://pay?pa=sandjay@okhdfcbank&pn=7843842529@paytm&tn=Transaction Note - TransactionNote, Supplier Name - 7843842529@paytm, Supplier GSTIN - 29AAFCD5862R000, Bank Account Number - 123456789, UPI ID - sandjay@okhdfcbank, IFSC Code - HDFC12345, Invoice Number - Doc123, Invoice Date - 23/12/2022, Transaction Amount - 1000, GST Amount - 18, CGST Amount - 9, SGST Amount - 9, IGST Amount - 0, CESS Amount - 0&am=1000&cu=INR&mode=01",
    "error_details": null
}
```

#### Response (Success)&#x20;

**HTTP Status Code: 200 OK**

```json
{
    "qr_code": null,
    "raw_qrCode": null,
    "error_details": {
        "error_code": "107",
        "error_message": "null : UPI Id can not be left blank",
        "error_source": "CLEARTAX"
    }
}
```

When you scan the QR Code generated using the API returned qr\_code string, the payload corresponds to:

```
upi://pay?pa=vatsan@okhdfcbank&pn=sandeep%20jayendran&tn=Transaction+Note%3A+TransactionNote%2C+Supplier+GSTIN%3A+29AAFCD5862R000%2C+Bank+Account+Number%3A+123456789%2C+IFSC+Code%3A+HDFC12345%2C+Invoice+Number%3A+Doc123%2C+Invoice+Date%3A+23%2F03%2F2021%2C+GST+Amount%3A+18%2C+CGST+Amount%3A+9%2C+SGST+Amount%3A+9%2C+IGST+Amount%3A+0%2C+CESS+Amount%3A+0&am=100.5&cu=INR&mode=01
```

### API Validations <a href="#api-validations" id="api-validations"></a>

Currently there are no known validations for this API.

### API Constraints <a href="#api-constraints" id="api-constraints"></a>

Payee UPI Id is mandatory to generate B2C QR Code.
