---
title: "Merchant Add - Surcharge (Tsys)"
method: POST
path: "/api/Valor/create?surcharge"
---

# Merchant Add - Surcharge (Tsys)

`POST /api/Valor/create?surcharge`

## Request body

- object
  - `legalName` string, required — Max length is 48 char - varchar (Ex: Quick book dba, Valor Cafe )
  - `dbaName` string, required — Max length is 48 char - varchar (Ex: SRM Hardware LLC, Merchant Firm Cafe)
  - `firstName` string, required — Max length is 35 char - varchar (First name of the Mechant)
  - `lastName` string, required — Max length is 35 char - varchar (Last name of the Mechant)
  - `ownerName` string, required — Boarded by ISO & Sub-ISO name - varchar
  - `emailId` string, required — Merchant email id - Varchar (Ex: test@domain.com, Max length of 64 chars)
  - `userName` string, required — Merchant user name (Alphanumeric length of 35 chars)
  - `mobile` string, required — Merchnat phone number- 10 digit Numeric (Ex: 5247896523)
  - `legalAddress` string — Legal Address should be max 45 chars - Alphanumeric
  - `legalCity` string, required — City should be allowed max 50 chars of string (Ex: New York, San Francisco)
  - `legalState` string, required — State 2 chars of capital (Ex: New York - NY, California - CA)
  - `legalCountry` string, required — Legal country should be mention default set us US
  - `legalZipCode` string, required — Legal zip code should be 5 digits (Numeric - Ex: 10001, 90002)
  - `legalTimezone` string, required — Time zone (3 char eg: EST, AST ,PST, HST, MST)
  - `role` integer, required — Should be set as '10' it is related to role of Merchant
  - `userType` integer, required — Should be set as '4' - User type for the merchant
  - `isTxnAllowed` integer, required — Should be set isTxnAllowed default as '1'
  - `businessType` string, required — Should be sent as business type (varchar - Ex: Retail, Direct Marketing)
  - `storeData` object[], required
    - `storeName` string — Store name of Merchant (Max length is 48 char)
    - `storeAddress` string, required — Store address should be max 25 chars - Alphanumeric
    - `storeCity` string — Store city should be allowed max 25 chars of string (Ex: New York, San Francisco)
    - `storeState` string, required — Store state 2 chars of capital (Ex: New York - NY, California - CA)
    - `storeCountry` string, required — Store country should be mention default set us US
    - `storeZipCode` string, required — Store zip code should be 5 digits (Numeric - Ex: 10001, 90002)
    - `storeTimezone` string, required — Store time zone (3 char eg: EST,AST,PST,HST,MST)
    - `superVisorName` string, required — Name of the supervisor (Max length is 25 char)
    - `superVisorEmail` string, required — Supervisor email id - Varchar (Ex: test@domain.com, Max length of 50 chars)
    - `superVisorContact` string — Supervisor contact number 10 digit Numeric (Ex: 5247896523)
    - `mccCode` string, required — It should be 4 digit MCC (Ex: 8765, 5993)
    - `descriptors` string[] — It should be 25 chars
    - `epiData` object[]
      - `device` string, required — <p>The model description of the device to be boarded for that merchant. Have to pass the 'Device ID'</p> <table class="valor_module_table"> <tr> <th>Device Name</th> <th>Device ID</th> </tr> <tr> <td>VL100</td> <td>130</td> </tr> <tr> <td>VL110</td> <td>145</td> </tr> <tr> <td>VL500</td> <td>136</td> </tr> <tr> <td>VP100</td> <td>207</td> </tr> <tr> <td>RCKT</td> <td>274</td> </tr> <tr> <td>Virtual Terminal</td> <td>139</td> </tr> <tr> <td>VP500</td> <td>235</td> </tr> <tr> <td>VL100 Pro</td> <td>540</td> </tr> <tr> <td>VL550</td> <td>533</td> </tr> <tr> <td>VP550</td> <td>412</td> </tr> <tr> <td>VP550E</td> <td>524</td> </tr> <tr> <td>VP800</td> <td>527</td> </tr> <tr> <td>VL300</td> <td>519</td> </tr> <tr> <td>VP350</td> <td>530</td> </tr> <tr> <td>N950</td> <td>622</td> </tr> <tr> <td>VP550C</td> <td>737</td> </tr> <tr> <td>X800</td> <td>738</td> </tr></table>
      - `deviceType` string, required — <p>The type description of the device / terminal Possible Options.</p> <table class="valor_module_table"> <tr> <th>Device Name</th> <th>Device Type</th> </tr> <tr> <td>VL100, VP100, VL100 Pro, VL300</td> <td>Desktop POS</td> </tr> <tr> <td>VL500, VP500, VP550, VP550E, VP800, VP350, N950, VP550C, X800</td> <td>Smart POS</td> </tr> <tr> <td>VL110</td> <td>Handheld POS</td> </tr> <tr> <td>RCKT</td> <td>DONGLE</td> </tr> <tr> <td>Virtual Terminal</td> <td>Soft POS</td> </tr> <tr> <td>VL550</td> <td>Portable</td> </tr></table>
      - `processor` string, required — Update the processor params 1 or 2 (TSYS : 1 and FD : 2)
      - `epiLabel` string, required — Label description for the device /terminal. Max length 48 char
      - `features` object — In this feature can enable tip, settlement, paytable, ebt, seccom, signaturecab and surcharge
        - `tip` object
          - `enabled` boolean, required
          - `value` integer[], required
        - `surcharge` object
          - `enabled` boolean, required
          - `value` string, required
        - `tax` object
          - `enabled` boolean, required
          - `value` string, required
      - `batch_number` string
      - `processorData` object[]
        - `mid` string, required — Merchant id related to the surcharge profile. If the epi is to be boarded on Traditional profile set it as "null"
        - `mid1` string, json, required — Merchant id related to the traditional profile. If the epi is to be boarded on surcharge Profile sets it as "null"
        - `vNumber` string, required — vNumber mapped to the particular device / terminal in surcharge profile. If the epi is to be boarded on Traditional profile set it as "null"
        - `vNumber1` string, json, required — vNumber mapped to the particular device / terminal in traditional profile. If the epi is to be boarded on a Surcharge profile, set it as "null"
        - `storeNo` string, required — Store number of the particular device / terminal in surcharge profile. If the epi is to be boarded on traditional Profile set it as "null"
        - `storeNo1` string, json, required — Store number of the particular device / terminal in traditional profile. If the epi is to be boarded on a Surcharge profile, set it as "null"
        - `termNo` string, required — Terminal number of the particular device / terminal in surcharge profile. If the epi is to be boarded on traditional Profile set it as "null"
        - `termNo1` string, json, required — Terminal number of the particular device / terminal in traditional profile. If the epi is to be boarded on a Surcharge profile, set it as "null"
        - `association` string, required — Association number for the particular device / terminal in surcharge profile. If the epi is to be boarded on a traditional Profile set it as "null"
        - `association1` string, json, required — Association number for the particular device / terminal in traditional profile. If the epi is to be boarded on a Surcharge profile, set it as "null"
        - `chain` string, required — Chain number for the particular device / terminal in surcharge profile. If the epi is to be boarded on a traditional Profile set it as "null"
        - `chain1` string, json, required — Chain number for the particular device / terminal in traditional profile. If the epi is to be boarded on a Surcharge profile, set it as "null"
        - `agent` string, required — Agent code number for the particular device / terminal in surcharge profile. If the epi is to be boarded on a traditional Profile set it as "null"
        - `agent1` string, json, required — Agent code number for the particular device / terminal in traditional profile. If the epi is to be boarded on a Surcharge profile, set it as "null"
        - `EbtNo` string, json, required — Ebt number for the particular device / terminal in surcharge profile. If the epi is to be boarded on a traditional Profile set it as "null"
        - `EbtNo1` string, json, required — Ebt number for the particular device / terminal in traditional profile. If the epi is to be boarded on a Surcharge profile, set it as "null"
        - `binnumber` string, required — Bin number for the particular device / terminal in surcharge profile. If the epi is to be boarded on a traditional Profile set it as "null"
        - `binnumber1` string, json, required — Bin number for the particular device / terminal in traditional profile. If the epi is to be boarded on a Surcharge profile, set it as "null"
        - `agentBank` string, required — Agent bank number for the particular device / terminal in surcharge profile. If the epi is to be boarded on a traditional Profile set it as "null"
        - `agentBank1` string, json, required — Agent bank number for the particular device / terminal in traditional profile. If the epi is to be boarded on a Surcharge profile, set it as "null"
        - `industry` string, required — The industry type on which the terminal / terminal in surcharge profile. If the epi is to be boarded on a traditional Profile set it as "null"
        - `industry1` string, json, required — The industry type on which the terminal / device to be boarded in traditional profile. If the epi is to be boarded on a surcharge Profile set it as "null"
        - `EBTcash` string, required — The EBT cash on which the terminal / device to be boarded in traditional profile. If the epi is to be boarded on a surcharge Profile set it as 0 or 1
        - `EBTcash1` integer, required — The EBT cash on which the terminal / device to be boarded in traditional profile. If the epi is to be boarded on a surcharge Profile set it as 0 or 1
        - `EBTfood` integer, required — The EBT food on which the terminal / device to be boarded in traditional profile. If the epi is to be boarded on a surcharge Profile set it as 0 or 1
        - `EBTfood1` integer, required — The EBT food on which the terminal / device to be boarded in traditional profile. If the epi is to be boarded on a surcharge Profile set it as 0 or 1
        - `surchargeIndicator` integer, required — The value '0' means % and 1 means dollar
        - `surchargePercentage` string, required — If the epi is to be boarded on a traditional Profile set it as "null". Surcharge indicator % means the value should be (3.000) and dollar (3.00)
        - `label` string, required — The storename on which the device/terminal created is mapped on this field
        - `programType` string, required — If program type set as "surcharge" or "cashdiscount".
      - `source_epi` string — Source EPI is an end point identifier, Identify the device on valor infrastructure, it's a 10 digit number starts with 2
    - `selectedState` string, required — The State which is selected to be sent on it with the State code
    - `vat_number` string — Accepts alphanumeric characters only (no special characters allowed). Max length: 20 characters.
  - `moduleList` integer[], required — <table class="valor_module_table"> <tr> <th>Module</th> <th>Module ID</th> </tr> <tr> <td>User Management</td> <td>1</td> </tr> <tr> <td>Transactions</td> <td>3</td> </tr> <tr> <td>Settings</td> <td>6</td> </tr> <tr> <td>Virtual Terminal</td> <td>14</td> </tr> <tr> <td>Device Management</td> <td>15</td> </tr> <tr> <td>Engage My Customers</td> <td>17</td> </tr> <tr> <td>Promotions</td> <td>18</td> </tr> <tr> <td>Valor Shield RT</td> <td>19</td> </tr> <tr> <td>Contact Us</td> <td>20</td> </tr> <tr> <td>Support</td> <td>24</td> </tr> <tr> <td>My Tickets</td> <td>25</td> </tr> <tr> <td>Vault</td> <td>29</td> </tr> </table>
  - `passCode` string, required — The password of the office login on which the merchant to be boarded
  - `mailId` string, required — E-mail id of the parent ISO account - Varchar (Ex: test@domain.com, Max length of 50 chars)
  - `SubmailId` string, required — Submail / the username of the Sub ISO office - Varchar (Ex: test@domain.com, Max length of 50 chars)
  - `selectedState` string, required — State 2 chars of capital (Ex: New York - NY, California - CA)
  - `processor` integer, required — Update the processor params 1 (TSYS - 1)
  - `programType` string, required — 1 (cash discount) or 2 (traditional)
  - `rollUp` string, required — Set value 0 or 1 (This value allows merchants to access the virtual terminal free of charge for 6 months)
  - `ActivationNotification` boolean, required — If the ActivationNotification is set to true, it indicates that an activation email will be sent to the merchant. If set to false, it means that no activation email will be sent.

## Response `200`

200

- object
  - `status` boolean
  - `message` string
  - `Mp_id` integer
  - `newUserId` integer
  - `StoreID` object
    - `22438` string[]
  - `data` 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)
