---
title: "QR Code API"
method: POST
path: "/?qrCode"
---

# QR Code API

`POST /?qrCode`

## Request body

- object
  - `appid` string — Merchant APP ID (Alphanumeric - Length of 32 chars and special chars $@%#)
  - `appkey` string, required — Merchant APP KEY (Alphanumeric - Length of 32 chars and special chars $@%#)
  - `epi` string, required — EPI is an end point identifier, Identify the device on valor infrastructure, it's a 10 digit number starts with 2
  - `txn_type` string — sale or auth ('sale' - Amount of the purchase will be deducted from the cardholder's bank account and 'auth' - it will be held (authorized) for a certain period of time/days)
  - `amount` string, required — Transaction amount - Maximum amount $99,999.99 (Ex: 0.1 to 99,999.99)
  - `invoicenumber` string — Invoice number is a unique number assigned (Alphanumeric varchar)
  - `orderdescription` string — Add the order description - Optional (Alphanumeric - Length of 50 chars)
  - `surcharge` string — Additional fee of surcharge amount - Currency $ (Eg: 10.00)
  - `phone` string — Customer phone number- 10 digit Numeric (Ex: 5247896523)
  - `email` string — Customer email id - Varchar 255 (Ex: test@domain.com)
  - `tax` string — Tax amount - Currency $ (Eg. 00.00)
  - `epage` string, required — Should be set always 1
  - `redirect_url` string — Merchants call back url - It will be redirected to payment page
  - `ignore_surcharge_calc` string — Set value 0 (Fee will be calculate from merchant portal)
  - `success_url` string — For this flag successful transaction, page redirect to success page
  - `failure_url` string — For this flag failed transaction, page redirect to failed page
  - `shipping_country` string — Shipping country should be mention default set us US
  - `is_sync_qb` string — If the transaction can be sent to the QB account, set the value to 1; otherwise, set it to 0.
  - `customer_name` string, required — Customer name for the quick book account
  - `is_qrcode` string, required — Set the value to 1 to generate the QR code
  - `never_expire` string — If the never expire to set as 0 or 1
  - `active_on` string, date
  - `lineItems` object[]
    - `item_name` string, required — Name for the product
    - `item_description` string, required — Description for the Product
    - `item_quantity` string, required
    - `item_price` string, required
    - `item_tax` string
    - `modifierItems` object[]
      - `modifier_item_name` string
      - `modifier_description` string, required
      - `modifier_quantity` string
      - `modifier_price` string, required
      - `modifier_tax` string
  - `discount_id` string
  - `qb_email_invoice` string — Set to 1 if the QuickBooks invoice email is sent, otherwise set to 0.
  - `additional_prompts` object[] — Additional Inputs should be allowed max 25
    - `PROMPT_NAME` string — The prompt name should allow up to 16 alphanumeric characters
    - `PROMPT_VALUE` string — The prompt value should allow up to 16 alphanumeric characters

## Response `200`

200

- object
  - `error_no` string
  - `qr_code_url` string
  - `uid` string

## Other responses

- `400` — 400

---

[API](https://skmtc.net/valorpaytech/apis/ecommerce-api.md) · [All operations](https://skmtc.net/valorpaytech/apis/ecommerce-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/valorpaytech/ecommerce-api/revisions/c6468b606325/schema)
