API Reference

Documentation

CRM API

Boarding merchant / device and manage the devices, transactions and API which requires to connect and perform transactions from VALOR Terminals.

Direct Send API

API is used to generate payment link and send it to the card holder based on the Merchants convenient method either via sms or email

curl --request POST \
     --url 'https://securelink-staging.valorpaytech.com:4430/?directSale=' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "appid": "rPWqbGUwUOH37S2IeLa8GYu9tK3K7jNY",
  "appkey": "LjTjMu6Asd6ZfNgnQRIBOr54UFYKF6Pi",
  "txn_type": "sale",
  "amount": "10.00",
  "phone": "7010754391",
  "email": "[email protected]",
  "address": "main street",
  "city": "chennai",
  "state": "TN",
  "zip": "11111",
  "cardnumber": "4111111111111111",
  "cvv": "999",
  "expirydate": "1232",
  "cardholdername": "dinesh",
  "epi": "2235560406",
  "shipping_country": "USA",
  "invoicenumber": "7777",
  "orderdescription": "NO",
  "Custom fee/surcharge fee if any - Optional": "10.00",
  "surchargeIndicator": 1
}
'
import requests

url = "https://securelink-staging.valorpaytech.com:4430/?directSale="

payload = {
    "appid": "rPWqbGUwUOH37S2IeLa8GYu9tK3K7jNY",
    "appkey": "LjTjMu6Asd6ZfNgnQRIBOr54UFYKF6Pi",
    "txn_type": "sale",
    "amount": "10.00",
    "phone": "7010754391",
    "email": "[email protected]",
    "address": "main street",
    "city": "chennai",
    "state": "TN",
    "zip": "11111",
    "cardnumber": "4111111111111111",
    "cvv": "999",
    "expirydate": "1232",
    "cardholdername": "dinesh",
    "epi": "2235560406",
    "shipping_country": "USA",
    "invoicenumber": "7777",
    "orderdescription": "NO",
    "Custom fee/surcharge fee if any - Optional": "10.00",
    "surchargeIndicator": 1
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#fkfd1tylnog14l9');

sdk.directSendApi({
  appid: 'rPWqbGUwUOH37S2IeLa8GYu9tK3K7jNY',
  appkey: 'LjTjMu6Asd6ZfNgnQRIBOr54UFYKF6Pi',
  txn_type: 'sale',
  amount: '10.00',
  phone: '7010754391',
  email: '[email protected]',
  address: 'main street',
  city: 'chennai',
  state: 'TN',
  zip: '11111',
  cardnumber: '4111111111111111',
  cvv: '999',
  expirydate: '1232',
  cardholdername: 'dinesh',
  epi: '2235560406',
  shipping_country: 'USA',
  invoicenumber: '7777',
  orderdescription: 'NO',
  'Custom fee/surcharge fee if any - Optional': '10.00',
  surchargeIndicator: 1
}, {directSale: ''})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://securelink-staging.valorpaytech.com:4430/?directSale=");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"appid\":\"rPWqbGUwUOH37S2IeLa8GYu9tK3K7jNY\",\"appkey\":\"LjTjMu6Asd6ZfNgnQRIBOr54UFYKF6Pi\",\"txn_type\":\"sale\",\"amount\":\"10.00\",\"phone\":\"7010754391\",\"email\":\"[email protected]\",\"address\":\"main street\",\"city\":\"chennai\",\"state\":\"TN\",\"zip\":\"11111\",\"cardnumber\":\"4111111111111111\",\"cvv\":\"999\",\"expirydate\":\"1232\",\"cardholdername\":\"dinesh\",\"epi\":\"2235560406\",\"shipping_country\":\"USA\",\"invoicenumber\":\"7777\",\"orderdescription\":\"NO\",\"Custom fee/surcharge fee if any - Optional\":\"10.00\",\"surchargeIndicator\":1}");

CURLcode ret = curl_easy_perform(hnd);
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://securelink-staging.valorpaytech.com:4430/?directSale=");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"appid\":\"rPWqbGUwUOH37S2IeLa8GYu9tK3K7jNY\",\"appkey\":\"LjTjMu6Asd6ZfNgnQRIBOr54UFYKF6Pi\",\"txn_type\":\"sale\",\"amount\":\"10.00\",\"phone\":\"7010754391\",\"email\":\"[email protected]\",\"address\":\"main street\",\"city\":\"chennai\",\"state\":\"TN\",\"zip\":\"11111\",\"cardnumber\":\"4111111111111111\",\"cvv\":\"999\",\"expirydate\":\"1232\",\"cardholdername\":\"dinesh\",\"epi\":\"2235560406\",\"shipping_country\":\"USA\",\"invoicenumber\":\"7777\",\"orderdescription\":\"NO\",\"Custom fee/surcharge fee if any - Optional\":\"10.00\",\"surchargeIndicator\":1}");

CURLcode ret = curl_easy_perform(hnd);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://securelink-staging.valorpaytech.com:4430/?directSale="

	payload := strings.NewReader("{\"appid\":\"rPWqbGUwUOH37S2IeLa8GYu9tK3K7jNY\",\"appkey\":\"LjTjMu6Asd6ZfNgnQRIBOr54UFYKF6Pi\",\"txn_type\":\"sale\",\"amount\":\"10.00\",\"phone\":\"7010754391\",\"email\":\"[email protected]\",\"address\":\"main street\",\"city\":\"chennai\",\"state\":\"TN\",\"zip\":\"11111\",\"cardnumber\":\"4111111111111111\",\"cvv\":\"999\",\"expirydate\":\"1232\",\"cardholdername\":\"dinesh\",\"epi\":\"2235560406\",\"shipping_country\":\"USA\",\"invoicenumber\":\"7777\",\"orderdescription\":\"NO\",\"Custom fee/surcharge fee if any - Optional\":\"10.00\",\"surchargeIndicator\":1}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://securelink-staging.valorpaytech.com:4430/?directSale=")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"appid\":\"rPWqbGUwUOH37S2IeLa8GYu9tK3K7jNY\",\"appkey\":\"LjTjMu6Asd6ZfNgnQRIBOr54UFYKF6Pi\",\"txn_type\":\"sale\",\"amount\":\"10.00\",\"phone\":\"7010754391\",\"email\":\"[email protected]\",\"address\":\"main street\",\"city\":\"chennai\",\"state\":\"TN\",\"zip\":\"11111\",\"cardnumber\":\"4111111111111111\",\"cvv\":\"999\",\"expirydate\":\"1232\",\"cardholdername\":\"dinesh\",\"epi\":\"2235560406\",\"shipping_country\":\"USA\",\"invoicenumber\":\"7777\",\"orderdescription\":\"NO\",\"Custom fee/surcharge fee if any - Optional\":\"10.00\",\"surchargeIndicator\":1}"

response = http.request(request)
puts response.read_body
{
  "error_no": "S00",
  "success_url": true,
  "error_code": "00",
  "amount": "10.00",
  "tax": "",
  "customfee": "",
  "msg": "APPROVED",
  "desc": "  NO  MATCH     ",
  "additional_info": null,
  "clerk_id": null,
  "clerk_name": null,
  "clerk_label": null,
  "additionalKeyOne": null,
  "additionalKeyTwo": null,
  "additionalValueOne": null,
  "additionalValueTwo": null,
  "approval_code": "TAS236",
  "rrn": "328908500293",
  "txnid": "5226834",
  "tran_no": 1,
  "stan": 529,
  "is_partial_approve": 0,
  "partial_amount": "000000001000",
  "pan": "XXXX1111",
  "card_type": null,
  "phone_number": "7010754391",
  "email_id": "[email protected]",
  "zip": null,
  "card_holder_name": "dinesh",
  "expiry_date": "12/32",
  "address": "main street",
  "epi": "2235560406",
  "channel": "ECOMM",
  "token": "717A8E56EE456923647C01F2370F4D4B4A3F5355",
  "card_brand": "Visa",
  "netamt": 10
}
Field              Type                 Length         Mandatory / Optional        Example Value                    Description
app_id             String                32                Mandatory               YbDwjtb7tDPlSbEml4s7et0YWcPLEf59 Merchant APP ID
auth_key           String                32                Mandatory               oVNjaWOAtkeDElgL25gvCsGbGWQlgwnG Merchant API Key
txn_type           String                 4                Mandatory               sale or auth                     sale or auth
amount             Numeric                7                Mandatory               10.00                            Transaction amount (Maximum amount 99,999.99)
tax                Numeric                4                Mandatory               10.00                            Currency
phone              Numeric               10                Optional                8523647921                       Customer phone number - 10 digit
email              String               255                Optional                [email protected]                   Customer email id
address            String                25                Optional                12, New Street                   25 chars
city               String                15                Optional                New York                         15 chars
state              String                 2                Optional                NY                               2 chars capital
zip                Numeric                5                Optional                52436                            Zip code 5 digit number
ip                 String                15                Optional                8:8:12:8                         Merchant IP Address (Ex. 0.0.0.0)
cardnumber         String                19                Mandatory               4111111111111111                 Customer card number 15 to 19 digits
cvv                Numeric                4                Mandatory               542 or 2546                      3 or 4 digits
expirydate         String                 5                Mandatory               1225                             Card expiry date, Accepted expiry MMYY or MM/YY
cardholdername     String                25                Mandatory               John                             Name of the cardholder
invoicenumber      String                12                Optional                A125N5647892                     Alphanumeric 12 chars
orderdescription   String                25                Optional                comments                         To give the order description
surchargeIndicator Number                 1                Mandatory               set 0 or 1                       Calculate the surcharge fee - set 0 or 1
shipping_country   String                15                Mandatory               US                               Default set us USA
surcharge          Numeric                4                Mandatory               4.00                             Currency - surcharge amount
epi                Numeric               10                Mandatory               2541987632                       The unique id refers to a particular store of the merchant
epage              Numeric                1                Mandatory               1                                1, should be 1 always
Redirect_url       String                25                Optional                Merchant redirect url            Optional, if present response data will be forwarded to the given url

Merchant Add

If we add new Merchant account in the Valor portal, we use this API. We need minimal details from the Merchant, i.e Legal Details, Store Details, and the type of equipment the Merchant needs (Valor 100/110/500/VT) and the Processor (TSYS/FDR).

https://demo.valorpaytech.com:443/api/Valor/create
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/create?surcharge=', [
  'body' => '{"legalName":"Valor Store","dbaName":"Valor Store LLC","firstName":"MERCHANT","lastName":"PORTAL","ownerName":"MERCHANT PORTAL","emailId":"[email protected]","userName":"merchat310823","mobile":"8327287578","legalAddress":"Test Address","legalCity":"CLIFFSIDE PARK","legalState":"NJ","legalCountry":"US","legalZipCode":"07010","legalTimezone":"EST","role":10,"userType":4,"isTxnAllowed":1,"businessType":"Direct Marketing","moduleList":[1,3,6,14,15,17,18,19,20,24,25,29],"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","selectedState":"NJ","processor":1,"programType":"1","rollUp":"0","storeData":[{"storeName":"EL TRI MX RESTA Add","storeAddress":"4100 JOHNSTON ST","storeCity":"LAFAYETTE","storeState":"LA","storeCountry":"US","storeZipCode":"70503","storeTimezone":"EST","superVisorName":"EL TRI MX RESTA","superVisorEmail":"[email protected]","superVisorContact":"3377040344","mccCode":"5812","selectedState":"NJ","epiData":[{"device":"145","deviceType":"Handheld POS","processor":"1","epiLabel":"Valor VL 110","features":{"tip":{"enabled":false,"value":[5,10,15,20]},"surcharge":{"enabled":false,"value":"4.00"},"tax":{"enabled":false,"value":"0"}},"processorData":[{"midFD":"887000003193","midFD1":null,"vNumber":"75021674","vNumber1":null,"storeNo":"5999","storeNo1":null,"termNo":"1515","termNo1":null,"association":"949006","association1":null,"chain":"111111","chain1":null,"agent":"0001","agent1":null,"EbtNo":"","EbtNo1":null,"binnumber":"999991","binnumber1":null,"agentBank":"000000","agentBank1":null,"industry":"Retail","industry1":null,"surchargePercentage":"4.00","label":"MERCHANT PORTAL LOGIN"}]}]}]}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/create?surcharge="

payload = {
    "legalName": "Valor Store",
    "dbaName": "Valor Store LLC",
    "firstName": "MERCHANT",
    "lastName": "PORTAL",
    "ownerName": "MERCHANT PORTAL",
    "emailId": "[email protected]",
    "userName": "merchat310823",
    "mobileField": "(832) 728-7578",
    "mobile": "8327287578",
    "legalAddress": "Test Address",
    "legalCity": "CLIFFSIDE PARK",
    "legalState": "NJ",
    "legalCountry": "US",
    "legalZipCode": "07010",
    "legalTimezone": "EST",
    "role": 10,
    "userType": 4,
    "isTxnAllowed": 1,
    "businessType": "Direct Marketing",
    "moduleList": [1, 3, 6, 14, 15, 17, 18, 19, 20, 24, 25, 29],
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "selectedState": "NJ",
    "processor": 1,
    "s4f": "1",
    "rollUp": "0",
    "storeData": [
        {
            "storeName": "EL TRI MX RESTA Add",
            "storeAddress": "4100 JOHNSTON ST",
            "storeCity": "LAFAYETTE",
            "storeState": "LA",
            "storeCountry": "US",
            "storeZipCode": "70503",
            "storeTimezone": "EST",
            "superVisorName": "EL TRI MX RESTA",
            "superVisorEmail": "[email protected]",
            "superVisorContact": "3377040344",
            "mccCode": "5812",
            "selectedState": "NJ",
            "epiData": [
                {
                    "device": "174",
                    "deviceType": "Handheld POS",
                    "processor": "1",
                    "epiLabel": "Valor VL 110",
                    "features": {
                        "tip": {
                            "enabled": False,
                            "value": [5, 10, 15, 20]
                        },
                        "surcharge": {
                            "enabled": False,
                            "value": "4.00"
                        },
                        "tax": {
                            "enabled": False,
                            "value": "0"
                        }
                    },
                    "processorData": [
                        {
                            "midFD": "887000003193",
                            "midFD1": None,
                            "vNumber": "75021674",
                            "vNumber1": None,
                            "storeNo": "5999",
                            "storeNo1": None,
                            "termNo": "1515",
                            "termNo1": None,
                            "association": "949006",
                            "association1": None,
                            "chain": "111111",
                            "chain1": None,
                            "agent": "0001",
                            "agent1": None,
                            "EbtNo": "",
                            "EbtNo1": None,
                            "binnumber": "999991",
                            "binnumber1": None,
                            "agentBank": "000000",
                            "agentBank1": None,
                            "industry": "Retail",
                            "industry1": None,
                            "surchargePercentage": "4.00",
                            "label": "MERCHANT PORTAL LOGIN"
                        }
                    ]
                }
            ]
        }
    ]
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.merchantAddSurcharge({
  legalName: 'Valor Store',
  dbaName: 'Valor Store LLC',
  firstName: 'MERCHANT',
  lastName: 'PORTAL',
  ownerName: 'MERCHANT PORTAL',
  emailId: '[email protected]',
  userName: 'merchat310823',
  mobileField: '(832) 728-7578',
  mobile: '8327287578',
  legalAddress: 'Test Address',
  legalCity: 'CLIFFSIDE PARK',
  legalState: 'NJ',
  legalCountry: 'US',
  legalZipCode: '07010',
  legalTimezone: 'EST',
  role: 10,
  userType: 4,
  isTxnAllowed: 1,
  businessType: 'Direct Marketing',
  moduleList: [
    1,
    3,
    6,
    14,
    15,
    17,
    18,
    19,
    20,
    24,
    25,
    29
  ],
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  selectedState: 'NJ',
  processor: 1,
  s4f: '1',
  rollUp: '0',
  storeData: [
    {
      storeName: 'EL TRI MX RESTA Add',
      storeAddress: '4100 JOHNSTON ST',
      storeCity: 'LAFAYETTE',
      storeState: 'LA',
      storeCountry: 'US',
      storeZipCode: '70503',
      storeTimezone: 'EST',
      superVisorName: 'EL TRI MX RESTA',
      superVisorEmail: '[email protected]',
      superVisorContact: '3377040344',
      mccCode: '5812',
      selectedState: 'NJ',
      epiData: [
        {
          device: '174',
          deviceType: 'Handheld POS',
          processor: '1',
          epiLabel: 'Valor VL 110',
          features: {
            tip: {enabled: false, value: [5, 10, 15, 20]},
            surcharge: {enabled: false, value: '4.00'},
            tax: {enabled: false, value: '0'}
          },
          processorData: [
            {
              midFD: '887000003193',
              midFD1: null,
              vNumber: '75021674',
              vNumber1: null,
              storeNo: '5999',
              storeNo1: null,
              termNo: '1515',
              termNo1: null,
              association: '949006',
              association1: null,
              chain: '111111',
              chain1: null,
              agent: '0001',
              agent1: null,
              EbtNo: '',
              EbtNo1: null,
              binnumber: '999991',
              binnumber1: null,
              agentBank: '000000',
              agentBank1: null,
              industry: 'Retail',
              industry1: null,
              surchargePercentage: '4.00',
              label: 'MERCHANT PORTAL LOGIN'
            }
          ]
        }
      ]
    }
  ]
}, {surcharge: ''})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/create?surcharge=");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"legalName\":\"Valor Store\",\"dbaName\":\"Valor Store LLC\",\"firstName\":\"MERCHANT\",\"lastName\":\"PORTAL\",\"ownerName\":\"MERCHANT PORTAL\",\"emailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"mobileField\":\"(832) 728-7578\",\"mobile\":\"8327287578\",\"legalAddress\":\"Test Address\",\"legalCity\":\"CLIFFSIDE PARK\",\"legalState\":\"NJ\",\"legalCountry\":\"US\",\"legalZipCode\":\"07010\",\"legalTimezone\":\"EST\",\"role\":10,\"userType\":4,\"isTxnAllowed\":1,\"businessType\":\"Direct Marketing\",\"moduleList\":[1,3,6,14,15,17,18,19,20,24,25,29],\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"selectedState\":\"NJ\",\"processor\":1,\"s4f\":\"1\",\"rollUp\":\"0\",\"storeData\":[{\"storeName\":\"EL TRI MX RESTA Add\",\"storeAddress\":\"4100 JOHNSTON ST\",\"storeCity\":\"LAFAYETTE\",\"storeState\":\"LA\",\"storeCountry\":\"US\",\"storeZipCode\":\"70503\",\"storeTimezone\":\"EST\",\"superVisorName\":\"EL TRI MX RESTA\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"3377040344\",\"mccCode\":\"5812\",\"selectedState\":\"NJ\",\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}]}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/create?surcharge=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"legalName\":\"Valor Store\",\"dbaName\":\"Valor Store LLC\",\"firstName\":\"MERCHANT\",\"lastName\":\"PORTAL\",\"ownerName\":\"MERCHANT PORTAL\",\"emailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"mobileField\":\"(832) 728-7578\",\"mobile\":\"8327287578\",\"legalAddress\":\"Test Address\",\"legalCity\":\"CLIFFSIDE PARK\",\"legalState\":\"NJ\",\"legalCountry\":\"US\",\"legalZipCode\":\"07010\",\"legalTimezone\":\"EST\",\"role\":10,\"userType\":4,\"isTxnAllowed\":1,\"businessType\":\"Direct Marketing\",\"moduleList\":[1,3,6,14,15,17,18,19,20,24,25,29],\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"selectedState\":\"NJ\",\"processor\":1,\"s4f\":\"1\",\"rollUp\":\"0\",\"storeData\":[{\"storeName\":\"EL TRI MX RESTA Add\",\"storeAddress\":\"4100 JOHNSTON ST\",\"storeCity\":\"LAFAYETTE\",\"storeState\":\"LA\",\"storeCountry\":\"US\",\"storeZipCode\":\"70503\",\"storeTimezone\":\"EST\",\"superVisorName\":\"EL TRI MX RESTA\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"3377040344\",\"mccCode\":\"5812\",\"selectedState\":\"NJ\",\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}]}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/create?surcharge="

	payload := strings.NewReader("{\"legalName\":\"Valor Store\",\"dbaName\":\"Valor Store LLC\",\"firstName\":\"MERCHANT\",\"lastName\":\"PORTAL\",\"ownerName\":\"MERCHANT PORTAL\",\"emailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"mobileField\":\"(832) 728-7578\",\"mobile\":\"8327287578\",\"legalAddress\":\"Test Address\",\"legalCity\":\"CLIFFSIDE PARK\",\"legalState\":\"NJ\",\"legalCountry\":\"US\",\"legalZipCode\":\"07010\",\"legalTimezone\":\"EST\",\"role\":10,\"userType\":4,\"isTxnAllowed\":1,\"businessType\":\"Direct Marketing\",\"moduleList\":[1,3,6,14,15,17,18,19,20,24,25,29],\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"selectedState\":\"NJ\",\"processor\":1,\"s4f\":\"1\",\"rollUp\":\"0\",\"storeData\":[{\"storeName\":\"EL TRI MX RESTA Add\",\"storeAddress\":\"4100 JOHNSTON ST\",\"storeCity\":\"LAFAYETTE\",\"storeState\":\"LA\",\"storeCountry\":\"US\",\"storeZipCode\":\"70503\",\"storeTimezone\":\"EST\",\"superVisorName\":\"EL TRI MX RESTA\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"3377040344\",\"mccCode\":\"5812\",\"selectedState\":\"NJ\",\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}]}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/create?surcharge=")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"legalName\":\"Valor Store\",\"dbaName\":\"Valor Store LLC\",\"firstName\":\"MERCHANT\",\"lastName\":\"PORTAL\",\"ownerName\":\"MERCHANT PORTAL\",\"emailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"mobileField\":\"(832) 728-7578\",\"mobile\":\"8327287578\",\"legalAddress\":\"Test Address\",\"legalCity\":\"CLIFFSIDE PARK\",\"legalState\":\"NJ\",\"legalCountry\":\"US\",\"legalZipCode\":\"07010\",\"legalTimezone\":\"EST\",\"role\":10,\"userType\":4,\"isTxnAllowed\":1,\"businessType\":\"Direct Marketing\",\"moduleList\":[1,3,6,14,15,17,18,19,20,24,25,29],\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"selectedState\":\"NJ\",\"processor\":1,\"s4f\":\"1\",\"rollUp\":\"0\",\"storeData\":[{\"storeName\":\"EL TRI MX RESTA Add\",\"storeAddress\":\"4100 JOHNSTON ST\",\"storeCity\":\"LAFAYETTE\",\"storeState\":\"LA\",\"storeCountry\":\"US\",\"storeZipCode\":\"70503\",\"storeTimezone\":\"EST\",\"superVisorName\":\"EL TRI MX RESTA\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"3377040344\",\"mccCode\":\"5812\",\"selectedState\":\"NJ\",\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}]}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "message": "User Added Successfully",
  "Mp_id": 18906,
  "newUserId": 38890,
  "StoreID": {
    "22438": [
      "2319917209"
    ]
  },
  "data": "Success"
}
Field             Type         Length      Mandatory/Optional      Example Value              Description
passCode          String           20         Mandatory            Valor@Pi@2023              The password for the Submailid/mailId                                                    
mailid            String           15         Mandatory            [email protected]     To board the new merchant user for the given mail id, and check                         
                                                                                              whether this mail id is present or not. eg:[email protected]
SubmailId         String           15         Mandatory            [email protected]     To board a merchant under a particular sub office for the Valor admin login              
legalName         String           15         Mandatory            valor CRM Parameter        Max length is 15 char                                                                    
dbaName           String           15         Mandatory            valor CRM API Store        Max length is 15 char                                                                    
firstName         String           15         Mandatory            Valor Boarding             Max length is 15 char                                                                    
lastName          String           15         Mandatory            CRM                        Max length is 15 char                                                                    
ownerName         String           15         Mandatory            CRM Store Owner            Boarded by name                                                                         
emailId           String           15         Mandatory            [email protected]       Valid email should be given                                                               
mobile            String           10         Mandatory            9876543210                 Mobile number of the merchant,max length is 10 digit                                      
legalAddress      String           25         Mandatory            123 New CRM Street         max length 25 char                                                                      
legalCity         String           20         Mandatory            New York                    max length is 20 char                                                                    
legalState        String            2         Mandatory            NY                         State code with Two char                                                                
legalCountry      String            -         Mandatory            US                         default set as 'US'                                                                      
legalZipCode      Numeric           5         Mandatory            10006                      maxlength is 5 digit                                                                        
legalTimezone     String            3         Mandatory            EST                        Sent with (3 char eg: EST,AST,PST,HST,MST)                                               
userType          Numeric           4         Mandatory            4                          Should be '4' - user type for the merchant                                                 
isTxnAllowed      Numeric           1         Mandatory            1                          0 or 1 we will update based on merchant (only accept 0 and 1)                                            
businessType      String           10         Mandatory            Oil Company/Automated      Should be sent as business type
                                                                   Fueling System                                                                                                 
storeName         String           28         Mandatory            CRM Store                  Max length 28 char                                                                       
storeAddress      String           25         Mandatory            123 New CRM Street         Max length 25 char                                                                      
storeCity         String           30         Mandatory            New York                    Max length 30 char                                                                       
storeState        String            -         Mandatory            NY                         State code with Two char                                                                 
storeCountry      String            2         Mandatory            US                         default set as 'US'                                                                    
storeZipCode      Number            5         Mandatory            10006                      max length is 5 digit                                                                       
storeTimezone     String            3         Mandatory            EST                        Sent with (3 char eg: EST,AST,PST,HST,MST)                                               
superVisorName    String           15         Mandatory            crmboarding                Name of the supervisor                                                                                     
superVisorEmail   Number            5         Mandatory            [email protected]       Valid email id should be given                                                                     
superVisorContact Number           10         Mandatory            9876543210                 manager contact number, max length is 10 digit                                          
mccCode           Number            4         Mandatory            5945                       It should be 4 digit MCC                                                                                   
selectedMCC       String            4         Mandatory            5945 - HOBBY-TOY-AND GAME  It should be alphanumneric format                                                   
descriptors       String           25         Mandatory            CRM Store                  It should be 25 chars                                                                    
device            Number            -         Mandatory            139                        The model description of the device to be boarded for that                               
                                                                                              merchant. Have to pass the 'device_id' 
                                                                                              ID   DEVICE_MODEL
                                                                                              130  VL 100
                                                                                              145  VL 110
                                                                                              136  VL 500
                                                                                              139  Virtual Terminal/Ecommerce
                                                                                              207  VP 100
                                                                                              274  RCKT
 deviceType       String           -          Mandatory            Soft Pos                   The type description of the device / terminal Possible Options                           
                                                                                              Desktop POS
                                                                                              Smart POS 
                                                                                              Soft POS
                                                                                              Handheld POS
processor         Number           -          Mandatory             1 or 2                    The processor which supports the merchant to be specified in this field,                 1
                                                                                              ProcessorID should be mentioned (Tsys - 1, FD - 2)
epiLabel          String           15         Mandatory            Ground floor terminal      Label description for the device /terminal. Max length 15 char   
                                                                   1 or Valor VT         
mid               Number           12         Mandatory            000000123456( Tsys )       Merchant id related to the surcharge profile. If the epi is to be boarded                
                                                                                              on Traditional profile set it as "null" (Tsys - 12 Fd omaha - 15)
mid1              Number           12         Mandatory                                       Merchant id related to the traditional profile. If the epi is to be boarded                  
                                                                                              on surcharge Profile sets it as "null"
vNumber           Number            8         Mandatory            71234567                   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          Number            8         Mandatory                                       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           Number            4         Mandatory            1234                       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          Number            4         Mandatory                                       store number of the particular device / terminal in surcharge profile.           
                                                                                              If the epi is to be boarded on traditional Profile set it as "null"
termNo            Number            4         Mandatory            5678                       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           Number            4         Mandatory                                       Terminal number of the particular device / terminal in surcharge profile. 
                                                                                              If the epi is to be boarded on traditional Profile set it as "null"                      
association       Number            6         Mandatory            987654                     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      Number            6         Mandatory                                       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"
chain             Number            6         Mandatory            987654                     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            Number            6         Mandatory                                       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"                    
agent             Number            4         Mandatory            1001                       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            Number            4         Mandatory                                       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"  
EbtNo             Number            7         Mandatory            1234567                    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            Number            7         Mandatory                                       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"
binnumber         Number            6         Mandatory            654321                     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        Number            6         Mandatory                                       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" 
agentBank         Number            6         Mandatory            987654                     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        Number            6         Mandatory                                       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"
industry          String            -         Mandatory            Retail                     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"
industry1         String            -         Mandatory                                       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"
surcharge         Number            5         Mandatory            4.0000                     Additional fee ( surchanrge percentage mandatory for cash discount)                     
Percentage
label             Number            -         Mandatory            CRM Store                  The storename on which the device/terminal created is mapped on this field                    
selectedState     String            2         Mandatory            NY                         The State which is selected to be sent on it with the State code. eg: NY-for new york      
programType               Number            1         Mandatory            1                          1  (sf4) or 2 (traditional)
processor         Numeber           1         Mandatory            1                          Select the processor (Tsys, FD-Omaha)                                

Merchant Update

Same as Merchant add parameter, for update we need to add the Merchant Id, Store Id, User Id (if already we have). We use the existing valor details and add the one more equipment's under that Merchant

https://demo.valorpaytech.com:443/api/Valor/update
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/update', [
  'body' => '{"newUserId":"12037","mp_id":"16609","legalName":"Valor Store","dbaName":"Valor Store LLC","firstName":"MERCHANT","lastName":"PORTAL","ownerName":"MERCHANT PORTAL","emailId":"[email protected]","userName":"merchat310823","mobile":"8327287578","legalAddress":"Test Address","legalCity":"CLIFFSIDE PARK","legalState":"NJ","legalCountry":"US","legalZipCode":"07010","legalTimezone":"EST","role":10,"userType":4,"isTxnAllowed":1,"businessType":"Direct Marketing","moduleList":[1,2,3,5,6,14,15,19,20,21],"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","processor":1,"rollUp":2,"programType":"1","selectedState":"NJ","storeData":[{"id":"19794","storeName":"Test Store","storeAddress":"Test Address","storeCity":"CLIFFSIDE PARK","storeState":"NJ","storeCountry":"US","storeZipCode":"07010","storeTimezone":"EST","superVisorName":"MERCHANT PORTAL LOGIN","superVisorEmail":"[email protected]","superVisorContact":"8327287578","mccCode":"0742","selectedState":"NJ","epiData":[{"id":"34809","epi":"2319915884","device":"139","deviceType":"Soft Pos","processor":"1","epiLabel":"Valor VT","features":{"tip":{"enabled":false,"value":[5,10,15,20]},"surcharge":{"enabled":false,"value":"4.00"},"tax":{"enabled":false,"value":"0"}},"processorData":[{"mid":null,"mid1":"887000003193","vNumber":null,"vNumber1":"75021674","storeNo":null,"storeNo1":"5999","termNo":null,"termNo1":"1515","association":null,"association1":"949006","chain":null,"chain1":"111111","agent":null,"agent1":"0001","EbtNo":null,"EbtNo1":"","binnumber":null,"binnumber1":"999991","agentBank":null,"agentBank1":"000001","industry":null,"industry1":"Direct Marketing","surchargePercentage":null,"label":"MERCHANT PORTAL LOGIN"}]}]}]}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/update"

payload = {
    "newUserId": "12037",
    "mp_id": "16609",
    "legalName": "Valor Store",
    "dbaName": "Valor Store LLC",
    "firstName": "MERCHANT",
    "lastName": "PORTAL",
    "ownerName": "MERCHANT PORTAL",
    "emailId": "[email protected]",
    "userName": "merchat310823",
    "mobile": "8327287578",
    "legalAddress": "Test Address",
    "legalCity": "CLIFFSIDE PARK",
    "legalState": "NJ",
    "legalCountry": "US",
    "legalZipCode": "07010",
    "legalTimezone": "EST",
    "role": 10,
    "userType": 4,
    "isTxnAllowed": 1,
    "businessType": "Direct Marketing",
    "moduleList": [1, 2, 3, 5, 6, 14, 15, 19, 20, 21],
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "processor": 1,
    "rollUp": 2,
    "s4f": "1",
    "selectedState": "NJ",
    "storeData": [
        {
            "id": "19794",
            "storeName": "Test Store",
            "storeAddress": "Test Address",
            "storeCity": "CLIFFSIDE PARK",
            "storeState": "NJ",
            "storeCountry": "US",
            "storeZipCode": "07010",
            "storeTimezone": "EST",
            "superVisorName": "MERCHANT PORTAL LOGIN",
            "superVisorEmail": "[email protected]",
            "superVisorContact": "8327287578",
            "mccCode": "0742",
            "selectedState": "NJ",
            "epiData": [
                {
                    "id": "34809",
                    "epi": "2319915884",
                    "device": "139",
                    "deviceType": "Soft Pos",
                    "processor": "1",
                    "epiLabel": "Valor VT",
                    "features": {
                        "tip": {
                            "enabled": False,
                            "value": [5, 10, 15, 20]
                        },
                        "surcharge": {
                            "enabled": False,
                            "value": "4.00"
                        },
                        "tax": {
                            "enabled": False,
                            "value": "0"
                        }
                    },
                    "processorData": [
                        {
                            "mid": None,
                            "mid1": "887000003193",
                            "vNumber": None,
                            "vNumber1": "75021674",
                            "storeNo": None,
                            "storeNo1": "5999",
                            "termNo": None,
                            "termNo1": "1515",
                            "association": None,
                            "association1": "949006",
                            "chain": None,
                            "chain1": "111111",
                            "agent": None,
                            "agent1": "0001",
                            "EbtNo": None,
                            "EbtNo1": "",
                            "binnumber": None,
                            "binnumber1": "999991",
                            "agentBank": None,
                            "agentBank1": "000001",
                            "industry": None,
                            "industry1": "Direct Marketing",
                            "surchargePercentage": None,
                            "label": "MERCHANT PORTAL LOGIN"
                        }
                    ]
                }
            ]
        }
    ]
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.merchantUpdate({
  newUserId: '12037',
  mp_id: '16609',
  legalName: 'Valor Store',
  dbaName: 'Valor Store LLC',
  firstName: 'MERCHANT',
  lastName: 'PORTAL',
  ownerName: 'MERCHANT PORTAL',
  emailId: '[email protected]',
  userName: 'merchat310823',
  mobile: '8327287578',
  legalAddress: 'Test Address',
  legalCity: 'CLIFFSIDE PARK',
  legalState: 'NJ',
  legalCountry: 'US',
  legalZipCode: '07010',
  legalTimezone: 'EST',
  role: 10,
  userType: 4,
  isTxnAllowed: 1,
  businessType: 'Direct Marketing',
  moduleList: [1, 2, 3, 5, 6, 14, 15, 19, 20, 21],
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  processor: 1,
  rollUp: 2,
  s4f: '1',
  selectedState: 'NJ',
  storeData: [
    {
      id: '19794',
      storeName: 'Test Store',
      storeAddress: 'Test Address',
      storeCity: 'CLIFFSIDE PARK',
      storeState: 'NJ',
      storeCountry: 'US',
      storeZipCode: '07010',
      storeTimezone: 'EST',
      superVisorName: 'MERCHANT PORTAL LOGIN',
      superVisorEmail: '[email protected]',
      superVisorContact: '8327287578',
      mccCode: '0742',
      selectedState: 'NJ',
      epiData: [
        {
          id: '34809',
          epi: '2319915884',
          device: '139',
          deviceType: 'Soft Pos',
          processor: '1',
          epiLabel: 'Valor VT',
          features: {
            tip: {enabled: false, value: [5, 10, 15, 20]},
            surcharge: {enabled: false, value: '4.00'},
            tax: {enabled: false, value: '0'}
          },
          processorData: [
            {
              mid: null,
              mid1: '887000003193',
              vNumber: null,
              vNumber1: '75021674',
              storeNo: null,
              storeNo1: '5999',
              termNo: null,
              termNo1: '1515',
              association: null,
              association1: '949006',
              chain: null,
              chain1: '111111',
              agent: null,
              agent1: '0001',
              EbtNo: null,
              EbtNo1: '',
              binnumber: null,
              binnumber1: '999991',
              agentBank: null,
              agentBank1: '000001',
              industry: null,
              industry1: 'Direct Marketing',
              surchargePercentage: null,
              label: 'MERCHANT PORTAL LOGIN'
            }
          ]
        }
      ]
    }
  ]
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/update");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"newUserId\":\"12037\",\"mp_id\":\"16609\",\"legalName\":\"Valor Store\",\"dbaName\":\"Valor Store LLC\",\"firstName\":\"MERCHANT\",\"lastName\":\"PORTAL\",\"ownerName\":\"MERCHANT PORTAL\",\"emailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"mobile\":\"8327287578\",\"legalAddress\":\"Test Address\",\"legalCity\":\"CLIFFSIDE PARK\",\"legalState\":\"NJ\",\"legalCountry\":\"US\",\"legalZipCode\":\"07010\",\"legalTimezone\":\"EST\",\"role\":10,\"userType\":4,\"isTxnAllowed\":1,\"businessType\":\"Direct Marketing\",\"moduleList\":[1,2,3,5,6,14,15,19,20,21],\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"processor\":1,\"rollUp\":2,\"s4f\":\"1\",\"selectedState\":\"NJ\",\"storeData\":[{\"id\":\"19794\",\"storeName\":\"Test Store\",\"storeAddress\":\"Test Address\",\"storeCity\":\"CLIFFSIDE PARK\",\"storeState\":\"NJ\",\"storeCountry\":\"US\",\"storeZipCode\":\"07010\",\"storeTimezone\":\"EST\",\"superVisorName\":\"MERCHANT PORTAL LOGIN\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"8327287578\",\"mccCode\":\"0742\",\"selectedState\":\"NJ\",\"epiData\":[{\"id\":\"34809\",\"epi\":\"2319915884\",\"device\":\"139\",\"deviceType\":\"Soft Pos\",\"processor\":\"1\",\"epiLabel\":\"Valor VT\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"mid\":null,\"mid1\":\"887000003193\",\"vNumber\":null,\"vNumber1\":\"75021674\",\"storeNo\":null,\"storeNo1\":\"5999\",\"termNo\":null,\"termNo1\":\"1515\",\"association\":null,\"association1\":\"949006\",\"chain\":null,\"chain1\":\"111111\",\"agent\":null,\"agent1\":\"0001\",\"EbtNo\":null,\"EbtNo1\":\"\",\"binnumber\":null,\"binnumber1\":\"999991\",\"agentBank\":null,\"agentBank1\":\"000001\",\"industry\":null,\"industry1\":\"Direct Marketing\",\"surchargePercentage\":null,\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}]}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/update");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"newUserId\":\"12037\",\"mp_id\":\"16609\",\"legalName\":\"Valor Store\",\"dbaName\":\"Valor Store LLC\",\"firstName\":\"MERCHANT\",\"lastName\":\"PORTAL\",\"ownerName\":\"MERCHANT PORTAL\",\"emailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"mobile\":\"8327287578\",\"legalAddress\":\"Test Address\",\"legalCity\":\"CLIFFSIDE PARK\",\"legalState\":\"NJ\",\"legalCountry\":\"US\",\"legalZipCode\":\"07010\",\"legalTimezone\":\"EST\",\"role\":10,\"userType\":4,\"isTxnAllowed\":1,\"businessType\":\"Direct Marketing\",\"moduleList\":[1,2,3,5,6,14,15,19,20,21],\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"processor\":1,\"rollUp\":2,\"s4f\":\"1\",\"selectedState\":\"NJ\",\"storeData\":[{\"id\":\"19794\",\"storeName\":\"Test Store\",\"storeAddress\":\"Test Address\",\"storeCity\":\"CLIFFSIDE PARK\",\"storeState\":\"NJ\",\"storeCountry\":\"US\",\"storeZipCode\":\"07010\",\"storeTimezone\":\"EST\",\"superVisorName\":\"MERCHANT PORTAL LOGIN\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"8327287578\",\"mccCode\":\"0742\",\"selectedState\":\"NJ\",\"epiData\":[{\"id\":\"34809\",\"epi\":\"2319915884\",\"device\":\"139\",\"deviceType\":\"Soft Pos\",\"processor\":\"1\",\"epiLabel\":\"Valor VT\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"mid\":null,\"mid1\":\"887000003193\",\"vNumber\":null,\"vNumber1\":\"75021674\",\"storeNo\":null,\"storeNo1\":\"5999\",\"termNo\":null,\"termNo1\":\"1515\",\"association\":null,\"association1\":\"949006\",\"chain\":null,\"chain1\":\"111111\",\"agent\":null,\"agent1\":\"0001\",\"EbtNo\":null,\"EbtNo1\":\"\",\"binnumber\":null,\"binnumber1\":\"999991\",\"agentBank\":null,\"agentBank1\":\"000001\",\"industry\":null,\"industry1\":\"Direct Marketing\",\"surchargePercentage\":null,\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}]}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/update"

	payload := strings.NewReader("{\"newUserId\":\"12037\",\"mp_id\":\"16609\",\"legalName\":\"Valor Store\",\"dbaName\":\"Valor Store LLC\",\"firstName\":\"MERCHANT\",\"lastName\":\"PORTAL\",\"ownerName\":\"MERCHANT PORTAL\",\"emailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"mobile\":\"8327287578\",\"legalAddress\":\"Test Address\",\"legalCity\":\"CLIFFSIDE PARK\",\"legalState\":\"NJ\",\"legalCountry\":\"US\",\"legalZipCode\":\"07010\",\"legalTimezone\":\"EST\",\"role\":10,\"userType\":4,\"isTxnAllowed\":1,\"businessType\":\"Direct Marketing\",\"moduleList\":[1,2,3,5,6,14,15,19,20,21],\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"processor\":1,\"rollUp\":2,\"s4f\":\"1\",\"selectedState\":\"NJ\",\"storeData\":[{\"id\":\"19794\",\"storeName\":\"Test Store\",\"storeAddress\":\"Test Address\",\"storeCity\":\"CLIFFSIDE PARK\",\"storeState\":\"NJ\",\"storeCountry\":\"US\",\"storeZipCode\":\"07010\",\"storeTimezone\":\"EST\",\"superVisorName\":\"MERCHANT PORTAL LOGIN\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"8327287578\",\"mccCode\":\"0742\",\"selectedState\":\"NJ\",\"epiData\":[{\"id\":\"34809\",\"epi\":\"2319915884\",\"device\":\"139\",\"deviceType\":\"Soft Pos\",\"processor\":\"1\",\"epiLabel\":\"Valor VT\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"mid\":null,\"mid1\":\"887000003193\",\"vNumber\":null,\"vNumber1\":\"75021674\",\"storeNo\":null,\"storeNo1\":\"5999\",\"termNo\":null,\"termNo1\":\"1515\",\"association\":null,\"association1\":\"949006\",\"chain\":null,\"chain1\":\"111111\",\"agent\":null,\"agent1\":\"0001\",\"EbtNo\":null,\"EbtNo1\":\"\",\"binnumber\":null,\"binnumber1\":\"999991\",\"agentBank\":null,\"agentBank1\":\"000001\",\"industry\":null,\"industry1\":\"Direct Marketing\",\"surchargePercentage\":null,\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}]}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/update")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"newUserId\":\"12037\",\"mp_id\":\"16609\",\"legalName\":\"Valor Store\",\"dbaName\":\"Valor Store LLC\",\"firstName\":\"MERCHANT\",\"lastName\":\"PORTAL\",\"ownerName\":\"MERCHANT PORTAL\",\"emailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"mobile\":\"8327287578\",\"legalAddress\":\"Test Address\",\"legalCity\":\"CLIFFSIDE PARK\",\"legalState\":\"NJ\",\"legalCountry\":\"US\",\"legalZipCode\":\"07010\",\"legalTimezone\":\"EST\",\"role\":10,\"userType\":4,\"isTxnAllowed\":1,\"businessType\":\"Direct Marketing\",\"moduleList\":[1,2,3,5,6,14,15,19,20,21],\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"processor\":1,\"rollUp\":2,\"s4f\":\"1\",\"selectedState\":\"NJ\",\"storeData\":[{\"id\":\"19794\",\"storeName\":\"Test Store\",\"storeAddress\":\"Test Address\",\"storeCity\":\"CLIFFSIDE PARK\",\"storeState\":\"NJ\",\"storeCountry\":\"US\",\"storeZipCode\":\"07010\",\"storeTimezone\":\"EST\",\"superVisorName\":\"MERCHANT PORTAL LOGIN\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"8327287578\",\"mccCode\":\"0742\",\"selectedState\":\"NJ\",\"epiData\":[{\"id\":\"34809\",\"epi\":\"2319915884\",\"device\":\"139\",\"deviceType\":\"Soft Pos\",\"processor\":\"1\",\"epiLabel\":\"Valor VT\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"mid\":null,\"mid1\":\"887000003193\",\"vNumber\":null,\"vNumber1\":\"75021674\",\"storeNo\":null,\"storeNo1\":\"5999\",\"termNo\":null,\"termNo1\":\"1515\",\"association\":null,\"association1\":\"949006\",\"chain\":null,\"chain1\":\"111111\",\"agent\":null,\"agent1\":\"0001\",\"EbtNo\":null,\"EbtNo1\":\"\",\"binnumber\":null,\"binnumber1\":\"999991\",\"agentBank\":null,\"agentBank1\":\"000001\",\"industry\":null,\"industry1\":\"Direct Marketing\",\"surchargePercentage\":null,\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}]}"

response = http.request(request)
puts response.read_body
{
   "status": true,
   "message": "Merchant Updated Successfully",
   "Mp_id": "5732",
   "epiId": "2202599391",
   "newUserId": "9230",
   "StoreID": "6740",
   "data": "Success"
}
Field             Type         Length      Mandatory/Optional      Example Value              Description
epi               Number           12         Mandatory            2534698752                 The unique id refers to a particular store of the merchant
newUserId         Number            4         Mandatory            9523                       It is the userid of the merchant to be updated
mp_id             Number            4         Mandatory            5875                       It is a merchant profile id which is respective to the particular merchant
store_id          Number            4         Mandatory            6898                       The unique id refers to a particular store of the merchant   
passCode          String           20         Mandatory            Valor@Pi@2023              The password for the Submailid/mailId                                                    
mailid            String           15         Mandatory            [email protected]     To board the new merchant user for the given mail id, and check                         
                                                                                              whether this mail id is present or not. eg:[email protected]
SubmailId         String           15         Mandatory            [email protected]     To board a merchant under a particular sub office for the Valor admin login              
legalName         String           15         Mandatory            valor CRM Parameter        Max length is 15 char                                                                    
dbaName           String           15         Mandatory            valor CRM API Store        Max length is 15 char                                                                    
firstName         String           15         Mandatory            Valor Boarding             Max length is 15 char                                                                    
lastName          String           15         Mandatory            CRM                        Max length is 15 char                                                                    
ownerName         String           15         Mandatory            CRM Store Owner            Boarded by name                                                                         
emailId           String           15         Mandatory            [email protected]       Valid email should be given                                                               
mobile            String           10         Mandatory            9876543210                 Mobile number of the merchant,max length is 10 digit                                      
legalAddress      String           25         Mandatory            123 New CRM Street         max length 25 char                                                                      
legalCity         String           20         Mandatory            New York                    max length is 20 char                                                                    
legalState        String            2         Mandatory            NY                         State code with Two char                                                                
legalCountry      String            -         Mandatory            US                         default set as 'US'                                                                      
legalZipCode      Numeric           5         Mandatory            10006                      maxlength is 5 digit                                                                        
legalTimezone     String            3         Mandatory            EST                        Sent with (3 char eg: EST,AST,PST,HST,MST)                                               
userType          Numeric           4         Mandatory            4                          Should be '4' - user type for the merchant                                                 
isTxnAllowed      Numeric           1         Mandatory            1                          0 or 1 we will update based on merchant (only accept 0 and 1)                                            
businessType      String           10         Mandatory            Oil Company/Automated      Should be sent as business type
                                                                   Fueling System                                                                                                                                                        
storeName         String           28         Mandatory            CRM Store                  Max length 28 char                                                                       
storeAddress      String           25         Mandatory            123 New CRM Street         Max length 25 char                                                                      
storeCity         String           30         Mandatory            New York                    Max length 30 char                                                                       
storeState        String            -         Mandatory            NY                         State code with Two char                                                                 
storeCountry      String            2         Mandatory            US                         default set as 'US'                                                                    
storeZipCode      Number            5         Mandatory            10006                      max length is 5 digit                                                                       
storeTimezone     String            3         Mandatory            EST                        Sent with (3 char eg: EST,AST,PST,HST,MST)                                               
superVisorName    String           15         Mandatory            crmboarding                Name of the supervisor                                                                                     
superVisorEmail   Number            5         Mandatory            [email protected]       Valid email id should be given                                                                     
superVisorContact Number           10         Mandatory            9876543210                 manager contact number, max length is 10 digit                                          
mccCode           Number            4         Mandatory            5945                       It should be 4 digit MCC                                                                                   
selectedMCC       String            4         Mandatory            5945 - HOBBY-TOY-AND GAME  It should be alphanumneric format                                                   
descriptors       String           25         Mandatory            CRM Store                  It should be 25 chars                                                                    
device            Number            -         Mandatory            139                        The model description of the device to be boarded for that                               
                                                                                              merchant. Have to pass the 'device_id' 
                                                                                              ID   DEVICE_MODEL
                                                                                              130  VL 100
                                                                                              145  VL 110
                                                                                              136  VL 500
                                                                                              139  Virtual Terminal/Ecommerce
                                                                                              207  VP 100
                                                                                              274  RCKT
 deviceType       String           -          Mandatory            Soft Pos                   The type description of the device / terminal Possible Options                           
                                                                                              Desktop POS
                                                                                              Smart POS 
                                                                                              Soft POS
                                                                                              Handheld POS
processor         Number           -          Mandatory             1 or 2                    The processor which supports the merchant to be specified in this field,                 1
                                                                                              ProcessorID should be mentioned (Tsys - 1, FD - 2)
epiLabel          String           15         Mandatory            Ground floor terminal      Label description for the device /terminal. Max length 15 char   
                                                                   1 or Valor VT         
mid               Number           12         Mandatory            000000123456( Tsys )       Merchant id related to the surcharge profile. If the epi is to be boarded                
                                                                                              on Traditional profile set it as "null" (Tsys - 12 Fd omaha - 15)
mid1              Number           12         Mandatory                                       Merchant id related to the traditional profile. If the epi is to be boarded                  
                                                                                              on surcharge Profile sets it as "null"
vNumber           Number            8         Mandatory            71234567                   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          Number            8         Mandatory                                       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           Number            4         Mandatory            1234                       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          Number            4         Mandatory                                       store number of the particular device / terminal in surcharge profile.           
                                                                                              If the epi is to be boarded on traditional Profile set it as "null"
termNo            Number            4         Mandatory            5678                       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           Number            4         Mandatory                                       Terminal number of the particular device / terminal in surcharge profile. 
                                                                                              If the epi is to be boarded on traditional Profile set it as "null"                      
association       Number            6         Mandatory            987654                     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      Number            6         Mandatory                                       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"
chain             Number            6         Mandatory            987654                     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            Number            6         Mandatory                                       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"                    
agent             Number            4         Mandatory            1001                       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            Number            4         Mandatory                                       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"  
EbtNo             Number            7         Mandatory            1234567                    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            Number            7         Mandatory                                       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"
binnumber         Number            6         Mandatory            654321                     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        Number            6         Mandatory                                       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" 
agentBank         Number            6         Mandatory            987654                     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        Number            6         Mandatory                                       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"
industry          String            -         Mandatory            Retail                     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"
industry1         String            -         Mandatory                                       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"
surcharge         Number            5         Mandatory            4.0000                     Additional fee ( surchanrge percentage mandatory for cash discount)                     
Percentage
label             Number            -         Mandatory            CRM Store                  The storename on which the device/terminal created is mapped on this field                    
selectedState     String            2         Mandatory            NY                         The State which is selected to be sent on it with the State code. eg: NY-for new york      
programType               Number            1         Mandatory            1                          1  (sf4) or 2 (traditional)
processor         Numeber           1         Mandatory            1                          Select the processor (Tsys, FD-Omaha)

Merchant Delete

This API completely deletes the Merchant profile from Valor Portal. We delete one Merchant, we send a Merchant Id (Mp Id). If we delete the Merchant, we need to have a Merchant Profile Id (Mp Id).

https://demo.valorpaytech.com:443/api/Valor/delete
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/delete', [
  'body' => '{"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","mp_id":"4587"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/delete"

payload = {
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "mp_id": "4587"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.merchantView({
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  mp_id: '4587'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/delete");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"4587\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/delete");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"4587\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/delete"

	payload := strings.NewReader("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"4587\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/delete")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"4587\"}"

response = http.request(request)
puts response.read_body
{
   "status": true,
   "message": "Success"
}
Field             Type           Length       Mandatory/Optional   Example Value           Description
passcode          String         20           Mandatory            Valor@Pi@2023           The password of the office login on which the merchant to be boarded.
userName          String         20           Mandatory            ddd32432                The username of the office login on which the merchant to be boarded.
mailId            String         15           Mandatory            [email protected]  E-mail id of the iso office
submailid         String         15           Mandatory            [email protected]  submail / the username of the sub office.
mp_id             Number         4            Mandatory            25627                   It is a merchant profile id which is respective to the particular merchant 

Merchant View

This API use for the completely get all the Merchant details

https://demo.valorpaytech.com:443/api/Valor/getepidetails
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/getepidetails', [
  'body' => '{"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","mp_id":"45785","epi":"2547896587"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/getepidetails"

payload = {
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "mp_id": "45785",
    "epi": "2547896587"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.merchantView1({
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  mp_id: '45785',
  epi: '2547896587'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/getepidetails");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"45785\",\"epi\":\"2547896587\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/getepidetails");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"45785\",\"epi\":\"2547896587\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/getepidetails"

	payload := strings.NewReader("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"45785\",\"epi\":\"2547896587\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/getepidetails")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"45785\",\"epi\":\"2547896587\"}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "message": "Success",
  "data": {
    "id": 18942,
    "userId": 38930,
    "parentId": 4389,
    "dbaName": "Valor Store LLC",
    "legalName": "Valor Store",
    "firstName": "MERCHANT",
    "lastName": "PORTAL",
    "ownerName": "BASE ISO INTERNAL",
    "emailId": "[email protected]",
    "mobile": "8327287578",
    "legalAddress": "Test Address",
    "legalCity": "CLIFFSIDE PARK",
    "legalState": "28",
    "selectedState": "28",
    "legalCountry": "US",
    "legalZipCode": "07010",
    "legalTimezone": "EST",
    "logo": "MERCHANT",
    "role": 10,
    "userType": 4,
    "isTxnAllowed": 1,
    "businessType": "10",
    "storeData": [
      {
        "id": 22478,
        "storeName": "EL TRI MX RESTA Add",
        "storeAddress": "4100 JOHNSTON ST",
        "storeCity": "LAFAYETTE",
        "storeState": "16",
        "selectedState": "LA - Louisiana",
        "storeCountry": "US",
        "storeZipCode": "70503",
        "storeTimezone": "EST",
        "superVisorName": "EL TRI MX RESTA",
        "superVisorEmail": "[email protected]",
        "superVisorContact": "3377040344",
        "mccCode": "5812",
        "selectedMCC": "5812 - EATING PLACES-RESTAURANTS",
        "epiData": [
          {
            "id": 39938,
            "epi": "2319917225",
            "device": 145,
            "deviceType": "Handheld POS",
            "processor": 1,
            "epiLabel": "Valor VL 110",
            "features": {
              "tip": {
                "enabled": false,
                "value": [
                  5,
                  10,
                  15,
                  20
                ]
              },
              "surcharge": {
                "enabled": false,
                "value": "4.00"
              },
              "tax": {
                "enabled": false,
                "value": "0"
              }
            },
            "processorData": [
              {
                "midFD": "887000003193",
                "midFD1": null,
                "vNumber": "75021674",
                "vNumber1": null,
                "storeNo": "5999",
                "storeNo1": null,
                "termNo": "1515",
                "termNo1": null,
                "association": "949006",
                "association1": null,
                "chain": "111111",
                "chain1": null,
                "agent": "0001",
                "agent1": null,
                "EbtNo": null,
                "EbtNo1": null,
                "binnumber": "999991",
                "binnumber1": null,
                "agentBank": "000000",
                "agentBank1": null,
                "industry": "Retail",
                "industry1": null,
                "surchargePercentage": "4.00",
                "label": "MERCHANT PORTAL LOGIN",
                "EBTcash": 0,
                "EBTfood": 0,
                "EBTcash1": 0,
                "EBTfood1": 0,
                "id": 42410
              }
            ]
          }
        ]
      }
    ]
  }
}
Field             Type           Length       Mandatory/Optional   Example Value           Description
passcode          String         20           Mandatory            Valor@Pi@2023           The password of the office login on which the merchant to be boarded.
mailId            String         15           Mandatory            [email protected]  E-mail id of the iso office
submailid         String         15           Mandatory            [email protected]  submail / the username of the sub office.
mp_id             Number          4           Mandatory            25627                   It is a merchant profile id which is respective to the particular merchant
epi               Number         10           Mandatory            2541689752              The unique id refers to a particular store of the merchant

Merchant Status

Same as CheckEpi, we need to add the one more parameter Merchant Id (Mp Id ). This API is use full to cross check the Merchant status.

https://demo.valorpaytech.com:443/api/Valor/statusUpdate
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/statusUpdate', [
  'body' => '{"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","merchantIds":[15464],"action":"activate"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/statusUpdate"

payload = {
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "merchantIds": [15464],
    "action": "activate"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.merchantStatus({
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  merchantIds: [15464],
  action: 'activate'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/statusUpdate");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"merchantIds\":[15464],\"action\":\"activate\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/statusUpdate");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"merchantIds\":[15464],\"action\":\"activate\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/statusUpdate"

	payload := strings.NewReader("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"merchantIds\":[15464],\"action\":\"activate\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/statusUpdate")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"merchantIds\":[15464],\"action\":\"activate\"}"

response = http.request(request)
puts response.read_body
{
    "status": "OK",
    "message": "Success"
}
Field             Type           Length       Mandatory/Optional   Example Value           Description
merchantIds       Number         4            Mandatory            6683                    The merchantIds of the office login on which the merchant to be boarded
passcode          String         20           Mandatory            Valor@Pi@2023           The password of the office login on which the merchant to be boarded.
mailId            String         15           Mandatory            [email protected]  E-mail id of the iso office
submailid         String         15           Mandatory            [email protected]  submail / the username of the sub office.
action            String         10           Mandatory            activate                The unique id refers to a particular store of the merchant

Merchant View All

To get the merchant report for using Merchant userId

https://demo.valorpaytech.com:443/api/Valor/getIsoReport
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://demo.valorpaytech.com:443/api/ValorCRM/getIsoReport',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "userId": "2983",
    "currentMonth": "04-2022",
    "lastMonth":"03-2022"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import http.client
import json

conn = http.client.HTTPSConnection("demo.valorpaytech.com", 443)
payload = json.dumps({
  "userId": "2983",
  "currentMonth": "04-2022",
  "lastMonth": "03-2022"
})
headers = {
  'Content-Type': 'application/json'
}
conn.request("POST", "/api/ValorCRM/getIsoReport", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var axios = require('axios');
var data = JSON.stringify({
  "userId": "2983",
  "currentMonth": "04-2022",
  "lastMonth": "03-2022"
});

var config = {
  method: 'post',
  url: 'https://demo.valorpaytech.com:443/api/ValorCRM/getIsoReport',
  headers: {
    'Content-Type': 'application/json'
  },
  data : data
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
  curl_easy_setopt(curl, CURLOPT_URL, "https://demo.valorpaytech.com:443/api/ValorCRM/getIsoReport");
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
  struct curl_slist *headers = NULL;
  headers = curl_slist_append(headers, "Content-Type: application/json");
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  const char *data = "{\r\n    \"userId\": \"2983\",\r\n   \"currentMonth\": \"04-2022\",\r\n    \"lastMonth\":\"03-2022\"\r\n}";
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
  res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);
var client = new RestClient("https://demo.valorpaytech.com:443/api/ValorCRM/getIsoReport");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
var body = @"{
" + "\n" +
@"    ""userId"": ""2983"",
" + "\n" +
@"    ""currentMonth"": ""04-2022"",
" + "\n" +
@"    ""lastMonth"":""03-2022""
" + "\n" +
@"}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://demo.valorpaytech.com:443/api/ValorCRM/getIsoReport"
  method := "POST"

  payload := strings.NewReader(`{`+"
"+`
    "userId": "2983",`+"
"+`
    "currentMonth": "04-2022",`+"
"+`
    "lastMonth":"03-2022"`+"
"+`
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
require "uri"
require "json"
require "net/http"

url = URI("https://demo.valorpaytech.com:443/api/ValorCRM/getIsoReport")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request.body = JSON.dump({
  "userId": "2983",
  "currentMonth": "04-2022",
  "lastMonth": "03-2022"
})

response = https.request(request)
puts response.read_body

{
    "status": "OK",
    "message": "Success",
    "data": [
        {
            "UserType_Id": 4,
            "Cust_ID": 264,
            "txn_netAmount_MTD": 760680,
            "txn_totalCount_MTD": 50,
            "txn_netAmount_LTD": 478133,
            "txn_totalCount_LTD": 13,
            "epi_active_count": 0,
            "epi_remove_count": 0,
            "epi_total_count": 36,
            "txn_netAmount_MTD_NON_VT": 712600,
            "txn_totalCount_MTD_NON_VT": 43,
            "txn_netAmount_MTD_VT": 48080,
            "txn_totalCount_MTD_VT": 7,
            "txn_netAmount_LTD_NON_VT": 122312973,
            "txn_totalCount_LTD_NON_VT": 5257,
            "txn_Amount_LTD_VT": 478133,
            "txn_Count_LTD_VT": 13
        }
    ]
}
Field             Type           Length       Mandatory/Optional    Example Value          Description
userId            Number         20           Mandatory             2983                   It is the userid of the merchant to be updated
currentMonth      String         10           Mandatory             04-2022                MM-YYYY
lastMonth         String         10           Mandatory             03-2022                MM-YYYY

Merchant Add Store

Same as Merchant add Parameter. For add a new store under the existing Merchant, we need to add the Merchant Id, User Id (if already we have ). We use the existing valor details and add the one more equipment's and store under that Merchant.

https://demo.valorpaytech.com:443/api/Valor/update
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/createStore', [
  'body' => '{"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","dbaName":"EL TRI MX RESTA","processor":1,"rollUp":2,"programType":"1","selectedState":"NJ","storeData":[{"storeName":"EL TRI MX RESTA Add","storeAddress":"4100 JOHNSTON ST","storeCity":"LAFAYETTE","storeState":"LA","storeCountry":"US","storeZipCode":"70503","storeTimezone":"EST","superVisorName":"EL TRI MX RESTA","superVisorEmail":"[email protected]","superVisorContact":"3377040344","mccCode":"5812","selectedState":"NJ","epiData":[{"device":"145","deviceType":"Handheld POS","processor":"1","epiLabel":"Valor VL 110","features":{"tip":{"enabled":false,"value":[5,10,15,20]},"surcharge":{"enabled":false,"value":"4.00"},"tax":{"enabled":false,"value":"0"}},"processorData":[{"midFD":"887000003193","midFD1":null,"vNumber":"75021674","vNumber1":null,"storeNo":"5999","storeNo1":null,"termNo":"1515","termNo1":null,"association":"949006","association1":null,"chain":"111111","chain1":null,"agent":"0001","agent1":null,"EbtNo":"","EbtNo1":null,"binnumber":"999991","binnumber1":null,"agentBank":"000000","agentBank1":null,"industry":"Retail","industry1":null,"surchargePercentage":"4.00","label":"MERCHANT PORTAL LOGIN"}]}]}],"newUserId":"19341","mp_id":"10645"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/createStore"

payload = {
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "dbaName": "EL TRI MX RESTA",
    "processor": 1,
    "rollUp": 2,
    "s4f": "1",
    "selectedState": "NJ",
    "storeData": [
        {
            "storeName": "EL TRI MX RESTA Add",
            "storeAddress": "4100 JOHNSTON ST",
            "storeCity": "LAFAYETTE",
            "storeState": "LA",
            "storeCountry": "US",
            "storeZipCode": "70503",
            "storeTimezone": "EST",
            "superVisorName": "EL TRI MX RESTA",
            "superVisorEmail": "[email protected]",
            "superVisorContact": "3377040344",
            "mccCode": "5812",
            "selectedState": "NJ",
            "epiData": [
                {
                    "device": "174",
                    "deviceType": "Handheld POS",
                    "processor": "1",
                    "epiLabel": "Valor VL 110",
                    "features": {
                        "tip": {
                            "enabled": False,
                            "value": [5, 10, 15, 20]
                        },
                        "surcharge": {
                            "enabled": False,
                            "value": "4.00"
                        },
                        "tax": {
                            "enabled": False,
                            "value": "0"
                        }
                    },
                    "processorData": [
                        {
                            "midFD": "887000003193",
                            "midFD1": None,
                            "vNumber": "75021674",
                            "vNumber1": None,
                            "storeNo": "5999",
                            "storeNo1": None,
                            "termNo": "1515",
                            "termNo1": None,
                            "association": "949006",
                            "association1": None,
                            "chain": "111111",
                            "chain1": None,
                            "agent": "0001",
                            "agent1": None,
                            "EbtNo": "",
                            "EbtNo1": None,
                            "binnumber": "999991",
                            "binnumber1": None,
                            "agentBank": "000000",
                            "agentBank1": None,
                            "industry": "Retail",
                            "industry1": None,
                            "surchargePercentage": "4.00",
                            "label": "MERCHANT PORTAL LOGIN"
                        }
                    ]
                }
            ]
        }
    ],
    "newUserId": "19341",
    "mp_id": "10645"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.storeAdd({
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  dbaName: 'EL TRI MX RESTA',
  processor: 1,
  rollUp: 2,
  s4f: '1',
  selectedState: 'NJ',
  storeData: [
    {
      storeName: 'EL TRI MX RESTA Add',
      storeAddress: '4100 JOHNSTON ST',
      storeCity: 'LAFAYETTE',
      storeState: 'LA',
      storeCountry: 'US',
      storeZipCode: '70503',
      storeTimezone: 'EST',
      superVisorName: 'EL TRI MX RESTA',
      superVisorEmail: '[email protected]',
      superVisorContact: '3377040344',
      mccCode: '5812',
      selectedState: 'NJ',
      epiData: [
        {
          device: '174',
          deviceType: 'Handheld POS',
          processor: '1',
          epiLabel: 'Valor VL 110',
          features: {
            tip: {enabled: false, value: [5, 10, 15, 20]},
            surcharge: {enabled: false, value: '4.00'},
            tax: {enabled: false, value: '0'}
          },
          processorData: [
            {
              midFD: '887000003193',
              midFD1: null,
              vNumber: '75021674',
              vNumber1: null,
              storeNo: '5999',
              storeNo1: null,
              termNo: '1515',
              termNo1: null,
              association: '949006',
              association1: null,
              chain: '111111',
              chain1: null,
              agent: '0001',
              agent1: null,
              EbtNo: '',
              EbtNo1: null,
              binnumber: '999991',
              binnumber1: null,
              agentBank: '000000',
              agentBank1: null,
              industry: 'Retail',
              industry1: null,
              surchargePercentage: '4.00',
              label: 'MERCHANT PORTAL LOGIN'
            }
          ]
        }
      ]
    }
  ],
  newUserId: '19341',
  mp_id: '10645'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/createStore");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"dbaName\":\"EL TRI MX RESTA\",\"processor\":1,\"rollUp\":2,\"s4f\":\"1\",\"selectedState\":\"NJ\",\"storeData\":[{\"storeName\":\"EL TRI MX RESTA Add\",\"storeAddress\":\"4100 JOHNSTON ST\",\"storeCity\":\"LAFAYETTE\",\"storeState\":\"LA\",\"storeCountry\":\"US\",\"storeZipCode\":\"70503\",\"storeTimezone\":\"EST\",\"superVisorName\":\"EL TRI MX RESTA\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"3377040344\",\"mccCode\":\"5812\",\"selectedState\":\"NJ\",\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}],\"newUserId\":\"19341\",\"mp_id\":\"10645\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/createStore");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"dbaName\":\"EL TRI MX RESTA\",\"processor\":1,\"rollUp\":2,\"s4f\":\"1\",\"selectedState\":\"NJ\",\"storeData\":[{\"storeName\":\"EL TRI MX RESTA Add\",\"storeAddress\":\"4100 JOHNSTON ST\",\"storeCity\":\"LAFAYETTE\",\"storeState\":\"LA\",\"storeCountry\":\"US\",\"storeZipCode\":\"70503\",\"storeTimezone\":\"EST\",\"superVisorName\":\"EL TRI MX RESTA\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"3377040344\",\"mccCode\":\"5812\",\"selectedState\":\"NJ\",\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}],\"newUserId\":\"19341\",\"mp_id\":\"10645\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/createStore"

	payload := strings.NewReader("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"dbaName\":\"EL TRI MX RESTA\",\"processor\":1,\"rollUp\":2,\"s4f\":\"1\",\"selectedState\":\"NJ\",\"storeData\":[{\"storeName\":\"EL TRI MX RESTA Add\",\"storeAddress\":\"4100 JOHNSTON ST\",\"storeCity\":\"LAFAYETTE\",\"storeState\":\"LA\",\"storeCountry\":\"US\",\"storeZipCode\":\"70503\",\"storeTimezone\":\"EST\",\"superVisorName\":\"EL TRI MX RESTA\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"3377040344\",\"mccCode\":\"5812\",\"selectedState\":\"NJ\",\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}],\"newUserId\":\"19341\",\"mp_id\":\"10645\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/createStore")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"dbaName\":\"EL TRI MX RESTA\",\"processor\":1,\"rollUp\":2,\"s4f\":\"1\",\"selectedState\":\"NJ\",\"storeData\":[{\"storeName\":\"EL TRI MX RESTA Add\",\"storeAddress\":\"4100 JOHNSTON ST\",\"storeCity\":\"LAFAYETTE\",\"storeState\":\"LA\",\"storeCountry\":\"US\",\"storeZipCode\":\"70503\",\"storeTimezone\":\"EST\",\"superVisorName\":\"EL TRI MX RESTA\",\"superVisorEmail\":\"[email protected]\",\"superVisorContact\":\"3377040344\",\"mccCode\":\"5812\",\"selectedState\":\"NJ\",\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}]}],\"newUserId\":\"19341\",\"mp_id\":\"10645\"}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "message": "Merchant Store Updated Successfully",
  "Mp_id": "18942",
  "newUserId": "38930",
  "StoreID": {
    "22482": [
      "2319917226"
    ]
  },
  "data": "Success"
}
Field             Type         Length      Mandatory/Optional      Example Value              Description
epi               Number           12         Mandatory            2534698752                 The unique id refers to a particular store of the merchant
newUserId         Number            4         Mandatory            9523                       It is the userid of the merchant to be updated
mp_id             Number            4         Mandatory            5875                       It is a merchant profile id which is respective to the particular merchant
store_id          Number            4         Mandatory            6898                       The unique id refers to a particular store of the merchant   
passCode          String           20         Mandatory            Valor@Pi@2023              The password for the Submailid/mailId                                                    
mailid            String           15         Mandatory            [email protected]     To board the new merchant user for the given mail id, and check                         
                                                                                              whether this mail id is present or not. eg:[email protected]
SubmailId         String           15         Mandatory            [email protected]     To board a merchant under a particular sub office for the Valor admin login              
legalName         String           15         Mandatory            valor CRM Parameter        Max length is 15 char                                                                    
dbaName           String           15         Mandatory            valor CRM API Store        Max length is 15 char                                                                    
firstName         String           15         Mandatory            Valor Boarding             Max length is 15 char                                                                    
lastName          String           15         Mandatory            CRM                        Max length is 15 char                                                                    
ownerName         String           15         Mandatory            CRM Store Owner            Boarded by name                                                                         
emailId           String           15         Mandatory            [email protected]       Valid email should be given                                                               
mobile            String           10         Mandatory            9876543210                 Mobile number of the merchant,max length is 10 digit                                      
legalAddress      String           25         Mandatory            123 New CRM Street         max length 25 char                                                                      
legalCity         String           20         Mandatory            New York                    max length is 20 char                                                                    
legalState        String            2         Mandatory            NY                         State code with Two char                                                                
legalCountry      String            -         Mandatory            US                         default set as 'US'                                                                      
legalZipCode      Numeric           5         Mandatory            10006                      maxlength is 5 digit                                                                        
legalTimezone     String            3         Mandatory            EST                        Sent with (3 char eg: EST,AST,PST,HST,MST)                                               
userType          Numeric           4         Mandatory            4                          Should be '4' - user type for the merchant                                                 
isTxnAllowed      Numeric           1         Mandatory            1                          0 or 1 we will update based on merchant (only accept 0 and 1)                                            
businessType      String           10         Mandatory            Oil Company/Automated      Should be sent as business type
                                                                   Fueling System                                                                                                                                          
storeName         String           28         Mandatory            CRM Store                  Max length 28 char                                                                       
storeAddress      String           25         Mandatory            123 New CRM Street         Max length 25 char                                                                      
storeCity         String           30         Mandatory            New York                    Max length 30 char                                                                       
storeState        String            -         Mandatory            NY                         State code with Two char                                                                 
storeCountry      String            2         Mandatory            US                         default set as 'US'                                                                    
storeZipCode      Number            5         Mandatory            10006                      max length is 5 digit                                                                       
storeTimezone     String            3         Mandatory            EST                        Sent with (3 char eg: EST,AST,PST,HST,MST)                                               
superVisorName    String           15         Mandatory            crmboarding                Name of the supervisor                                                                                     
superVisorEmail   Number            5         Mandatory            [email protected]       Valid email id should be given                                                                     
superVisorContact Number           10         Mandatory            9876543210                 manager contact number, max length is 10 digit                                          
mccCode           Number            4         Mandatory            5945                       It should be 4 digit MCC                                                                                   
selectedMCC       String            4         Mandatory            5945 - HOBBY-TOY-AND GAME  It should be alphanumneric format                                                   
descriptors       String           25         Mandatory            CRM Store                  It should be 25 chars                                                                    
device            Number            -         Mandatory            139                        The model description of the device to be boarded for that                               
                                                                                              merchant. Have to pass the 'device_id' 
                                                                                              ID   DEVICE_MODEL
                                                                                              130  VL 100
                                                                                              145  VL 110
                                                                                              136  VL 500
                                                                                              139  Virtual Terminal/Ecommerce
                                                                                              207  VP 100
                                                                                              274  RCKT
deviceType       String           -           Mandatory            Soft Pos                   The type description of the device / terminal Possible Options                           
                                                                                              Desktop POS
                                                                                              Smart POS 
                                                                                              Soft POS
                                                                                              Handheld POS
processor         Number           -          Mandatory             1                         The processor which supports the merchant to be specified in this field,                 1
                                                                                              ProcessorID should be mentioned
epiLabel          String           15         Mandatory            Ground floor terminal      Label description for the device /terminal. Max length 15 char   
                                                                   1 or Valor VT         
mid               Number           12         Mandatory            000000123456( Tsys )       Merchant id related to the surcharge profile. If the epi is to be boarded                
                                                                                              on Traditional profile set it as "null" (Tsys - 12 Fd omaha - 15)
mid1              Number           12         Mandatory                                       Merchant id related to the traditional profile. If the epi is to be boarded                  
                                                                                              on surcharge Profile sets it as "null"
vNumber           Number            8         Mandatory            71234567                   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          Number            8         Mandatory                                       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           Number            4         Mandatory            1234                       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          Number            4         Mandatory                                       store number of the particular device / terminal in surcharge profile.           
                                                                                              If the epi is to be boarded on traditional Profile set it as "null"
termNo            Number            4         Mandatory            5678                       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           Number            4         Mandatory                                       Terminal number of the particular device / terminal in surcharge profile. 
                                                                                              If the epi is to be boarded on traditional Profile set it as "null"                      
association       Number            6         Mandatory            987654                     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      Number            6         Mandatory                                       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"
chain             Number            6         Mandatory            987654                     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            Number            6         Mandatory                                       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"                    
agent             Number            4         Mandatory            1001                       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            Number            4         Mandatory                                       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"  
EbtNo             Number            7         Mandatory            1234567                    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            Number            7         Mandatory                                       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"
binnumber         Number            6         Mandatory            654321                     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        Number            6         Mandatory                                       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" 
agentBank         Number            6         Mandatory            987654                     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        Number            6         Mandatory                                       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"
industry          String            -         Mandatory            Retail                     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"
industry1         String            -         Mandatory                                       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"
surcharge         Number            5         Mandatory            4.0000                     Additional fee ( surchanrge percentage mandatory for cash discount)                     
Percentage
label             Number            -         Mandatory            CRM Store                  The storename on which the device/terminal created is mapped on this field                    
selectedState     String            2         Mandatory            NY                         The State which is selected to be sent on it with the State code. eg: NY-for new york      
programType               Number            1         Mandatory            1                          1  (sf4) or 2 (traditional)
processor         Numeber           1         Mandatory            1                          Select the processor (Tsys, FD-Omaha)

Merchant Delete Store

This API deletes the particular store, because one Merchant has 'N' number of store, if we want to delete a store under the Merchant. Need to send a Store id (if already we have ).

https://demo.valorpaytech.com:443/api/Valor/deletestore
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/deletestore', [
  'body' => '{"mailId":"[email protected]","SubmailId":"[email protected]","userName":"merchat310823","passCode":"Valor@123","store_id":[6898]}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/deletestore"

payload = {
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "userName": "merchat310823",
    "passCode": "Valor@123",
    "store_id": [6898]
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.storeDelete({
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  userName: 'merchat310823',
  passCode: 'Valor@123',
  store_id: [6898]
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/deletestore");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"passCode\":\"Valor@123\",\"store_id\":[6898]}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/deletestore");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"passCode\":\"Valor@123\",\"store_id\":[6898]}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/deletestore"

	payload := strings.NewReader("{\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"passCode\":\"Valor@123\",\"store_id\":[6898]}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/deletestore")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"userName\":\"merchat310823\",\"passCode\":\"Valor@123\",\"store_id\":[6898]}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "message": "Success"
}
Field          Type       Length     Mandatory/Optional     Example Value                  Description
userName       String     25         Mandatory              dd1243x                        The username of the office login on which the merchant to be boarded
passcode       String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId         String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid      String     15         Mandatory              [email protected]  submail / the username of the sub office
Store_id       Numeric    4          Mandatory              6898                           The unique id refers to a particular store of the merchant

Merchant EPI Add

Same as Merchant add parameter, for add a new equipment under the Existing Merchant -> Store . We need to add the Merchant Id, Store Id ,User Id (if already we have ). We use the existing valor details and add one more type (same or diff) of equipment under the store against that Merchant.

https://demo.valorpaytech.com:443/api/Valor/update
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/createEPI', [
  'body' => '{"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","rollUp":"0","programType":"1","processor":"1","storeData":[{"epiData":[{"device":"145","deviceType":"Handheld POS","processor":"1","epiLabel":"Valor VL 110","features":{"tip":{"enabled":false,"value":[5,10,15,20]},"surcharge":{"enabled":false,"value":"4.00"},"tax":{"enabled":false,"value":"0"}},"processorData":[{"midFD":"887000003193","midFD1":null,"vNumber":"75021674","vNumber1":null,"storeNo":"5999","storeNo1":null,"termNo":"1515","termNo1":null,"association":"949006","association1":null,"chain":"111111","chain1":null,"agent":"0001","agent1":null,"EbtNo":"","EbtNo1":null,"binnumber":"999991","binnumber1":null,"agentBank":"000000","agentBank1":null,"industry":"Retail","industry1":null,"surchargePercentage":"4.00","label":"MERCHANT PORTAL LOGIN"}]}],"id":"14587"}],"newUserId":"19341","mp_id":"10645"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/createEPI"

payload = {
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "rollUp": "0",
    "s4f": "1",
    "processor": "1",
    "storeData": [
        {
            "epiData": [
                {
                    "device": "174",
                    "deviceType": "Handheld POS",
                    "processor": "1",
                    "epiLabel": "Valor VL 110",
                    "features": {
                        "tip": {
                            "enabled": False,
                            "value": [5, 10, 15, 20]
                        },
                        "surcharge": {
                            "enabled": False,
                            "value": "4.00"
                        },
                        "tax": {
                            "enabled": False,
                            "value": "0"
                        }
                    },
                    "processorData": [
                        {
                            "midFD": "887000003193",
                            "midFD1": None,
                            "vNumber": "75021674",
                            "vNumber1": None,
                            "storeNo": "5999",
                            "storeNo1": None,
                            "termNo": "1515",
                            "termNo1": None,
                            "association": "949006",
                            "association1": None,
                            "chain": "111111",
                            "chain1": None,
                            "agent": "0001",
                            "agent1": None,
                            "EbtNo": "",
                            "EbtNo1": None,
                            "binnumber": "999991",
                            "binnumber1": None,
                            "agentBank": "000000",
                            "agentBank1": None,
                            "industry": "Retail",
                            "industry1": None,
                            "surchargePercentage": "4.00",
                            "label": "MERCHANT PORTAL LOGIN"
                        }
                    ]
                }
            ],
            "id": "14587"
        }
    ],
    "newUserId": "19341",
    "mp_id": "10645"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.epiAdd({
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  rollUp: '0',
  s4f: '1',
  processor: '1',
  storeData: [
    {
      epiData: [
        {
          device: '174',
          deviceType: 'Handheld POS',
          processor: '1',
          epiLabel: 'Valor VL 110',
          features: {
            tip: {enabled: false, value: [5, 10, 15, 20]},
            surcharge: {enabled: false, value: '4.00'},
            tax: {enabled: false, value: '0'}
          },
          processorData: [
            {
              midFD: '887000003193',
              midFD1: null,
              vNumber: '75021674',
              vNumber1: null,
              storeNo: '5999',
              storeNo1: null,
              termNo: '1515',
              termNo1: null,
              association: '949006',
              association1: null,
              chain: '111111',
              chain1: null,
              agent: '0001',
              agent1: null,
              EbtNo: '',
              EbtNo1: null,
              binnumber: '999991',
              binnumber1: null,
              agentBank: '000000',
              agentBank1: null,
              industry: 'Retail',
              industry1: null,
              surchargePercentage: '4.00',
              label: 'MERCHANT PORTAL LOGIN'
            }
          ]
        }
      ],
      id: '14587'
    }
  ],
  newUserId: '19341',
  mp_id: '10645'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/createEPI");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"rollUp\":\"0\",\"s4f\":\"1\",\"processor\":\"1\",\"storeData\":[{\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}],\"id\":\"14587\"}],\"newUserId\":\"19341\",\"mp_id\":\"10645\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/createEPI");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"rollUp\":\"0\",\"s4f\":\"1\",\"processor\":\"1\",\"storeData\":[{\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}],\"id\":\"14587\"}],\"newUserId\":\"19341\",\"mp_id\":\"10645\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/createEPI"

	payload := strings.NewReader("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"rollUp\":\"0\",\"s4f\":\"1\",\"processor\":\"1\",\"storeData\":[{\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}],\"id\":\"14587\"}],\"newUserId\":\"19341\",\"mp_id\":\"10645\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/createEPI")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"rollUp\":\"0\",\"s4f\":\"1\",\"processor\":\"1\",\"storeData\":[{\"epiData\":[{\"device\":\"174\",\"deviceType\":\"Handheld POS\",\"processor\":\"1\",\"epiLabel\":\"Valor VL 110\",\"features\":{\"tip\":{\"enabled\":false,\"value\":[5,10,15,20]},\"surcharge\":{\"enabled\":false,\"value\":\"4.00\"},\"tax\":{\"enabled\":false,\"value\":\"0\"}},\"processorData\":[{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":\"\",\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\"}]}],\"id\":\"14587\"}],\"newUserId\":\"19341\",\"mp_id\":\"10645\"}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "message": "Merchant EPI Updated Successfully",
  "Mp_id": "18942",
  "newUserId": "38930",
  "StoreID": {
    "22478": [
      "2319917229"
    ]
  },
  "data": "Success"
}
Field             Type         Length      Mandatory/Optional      Example Value              Description
newUserId         Number            4         Mandatory            9523                       It is the userid of the merchant to be updated
mp_id             Number            4         Mandatory            5875                       It is a merchant profile id which is respective to the particular merchant
store_id          Number            4         Mandatory            6898                       The unique id refers to a particular store of the merchant   
passCode          String           20         Mandatory            Valor@Pi@2023              The password for the Submailid/mailId                                                    
mailid            String           15         Mandatory            [email protected]     To board the new merchant user for the given mail id, and check                         
                                                                                              whether this mail id is present or not. eg:[email protected]
SubmailId         String           15         Mandatory            [email protected]     To board a merchant under a particular sub office for the Valor admin login              
legalName         String           15         Mandatory            valor CRM Parameter        Max length is 15 char                                                                    
dbaName           String           15         Mandatory            valor CRM API Store        Max length is 15 char                                                                    
firstName         String           15         Mandatory            Valor Boarding             Max length is 15 char                                                                    
lastName          String           15         Mandatory            CRM                        Max length is 15 char                                                                    
ownerName         String           15         Mandatory            CRM Store Owner            Boarded by name                                                                         
emailId           String           15         Mandatory            [email protected]       Valid email should be given                                                               
mobile            String           10         Mandatory            9876543210                 Mobile number of the merchant,max length is 10 digit                                      
legalAddress      String           25         Mandatory            123 New CRM Street         max length 25 char                                                                      
legalCity         String           20         Mandatory            New York                    max length is 20 char                                                                    
legalState        String            2         Mandatory            NY                         State code with Two char                                                                
legalCountry      String            -         Mandatory            US                         default set as 'US'                                                                      
legalZipCode      Numeric           5         Mandatory            10006                      maxlength is 5 digit                                                                        
legalTimezone     String            3         Mandatory            EST                        Sent with (3 char eg: EST,AST,PST,HST,MST)
Role              String           10         Mandatory            10                         Should be '10' it is related to role master table              
userType          Numeric           4         Mandatory            4                          Should be '4' - user type for the merchant                                                 
isTxnAllowed      Numeric           1         Mandatory            1                          0 or 1 we will update based on merchant (only accept 0 and 1)                                            
businessType      String           10         Mandatory            Oil Company/Automated      Should be sent as business type
                                                                   Fueling System                                                                                                     
storeName         String           28         Mandatory            CRM Store                  Max length 28 char                                                                       
storeAddress      String           25         Mandatory            123 New CRM Street         Max length 25 char                                                                      
storeCity         String           30         Mandatory            New York                    Max length 30 char                                                                       
storeState        String            -         Mandatory            NY                         State code with Two char                                                                 
storeCountry      String            2         Mandatory            US                         default set as 'US'                                                                    
storeZipCode      Number            5         Mandatory            10006                      max length is 5 digit                                                                       
storeTimezone     String            3         Mandatory            EST                        Sent with (3 char eg: EST,AST,PST,HST,MST)                                               
superVisorName    String           15         Mandatory            crmboarding                Name of the supervisor                                                                                     
superVisorEmail   Number            5         Mandatory            [email protected]       Valid email id should be given                                                                     
superVisorContact Number           10         Mandatory            9876543210                 manager contact number, max length is 10 digit                                          
mccCode           Number            4         Mandatory            5945                       It should be 4 digit MCC                                                                                   
selectedMCC       String            4         Mandatory            5945 - HOBBY-TOY-AND GAME  It should be alphanumneric format                                                   
descriptors       String           25         Mandatory            CRM STore                  It should be 25 chars                                                                    
device            Number            -         Mandatory            139                        The model description of the device to be boarded for that                               
                                                                                              merchant. Have to pass the 'device_id' 
                                                                                              ID   DEVICE_MODEL
                                                                                              130  VL 100
                                                                                              145  VL 110
                                                                                              136  VL 500
                                                                                              139  Virtual Terminal/Ecommerce
                                                                                              207  VP 100
                                                                                              274  RCKT
deviceType       String           -           Mandatory            Soft Pos                   The type description of the device / terminal Possible Options                           
                                                                                              Desktop POS
                                                                                              Smart POS 
                                                                                              Soft POS
                                                                                              Handheld POS
processor         Number           -          Mandatory             1                         The processor which supports the merchant to be specified in this field,                 1
                                                                                              ProcessorID should be mentioned
epiLabel          String           15         Mandatory            Ground floor terminal      Label description for the device /terminal. Max length 15 char   
                                                                   1 or Valor VT         
mid               Number           12         Mandatory            000000123456( Tsys )       Merchant id related to the surcharge profile. If the epi is to be boarded                
                                                                                              on Traditional profile set it as "null" (Tsys - 12 Fd omaha - 15)
mid1              Number           12         Mandatory                                       Merchant id related to the traditional profile. If the epi is to be boarded                  
                                                                                              on surcharge Profile sets it as "null"
vNumber           Number            8         Mandatory            71234567                   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          Number            8         Mandatory                                       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           Number            4         Mandatory            1234                       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          Number            4         Mandatory                                       store number of the particular device / terminal in surcharge profile.           
                                                                                              If the epi is to be boarded on traditional Profile set it as "null"
termNo            Number            4         Mandatory            5678                       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           Number            4         Mandatory                                       Terminal number of the particular device / terminal in surcharge profile. 
                                                                                              If the epi is to be boarded on traditional Profile set it as "null"                      
association       Number            6         Mandatory            987654                     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      Number            6         Mandatory                                       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"
chain             Number            6         Mandatory            987654                     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            Number            6         Mandatory                                       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"                    
agent             Number            4         Mandatory            1001                       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            Number            4         Mandatory                                       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"  
EbtNo             Number            7         Mandatory            1234567                    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            Number            7         Mandatory                                       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"
binnumber         Number            6         Mandatory            654321                     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        Number            6         Mandatory                                       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" 
agentBank         Number            6         Mandatory            987654                     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        Number            6         Mandatory                                       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"
industry          String            -         Mandatory            Retail                     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"
industry1         String            -         Mandatory                                       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"
surcharge         Number            5         Mandatory            4.0000                     Additional fee ( surchanrge percentage mandatory for cash discount)                     
Percentage
label             Number            -         Mandatory            CRM Store                  The storename on which the device/terminal created is mapped on this field                    
selectedState     String            2         Mandatory            NY                         The State which is selected to be sent on it with the State code. eg: NY-for new york      
programType               Number            1         Mandatory            1                          1  (sf4) or 2 (traditional)
processor         Numeber           1         Mandatory            1                          Select the processor (Tsys, FD-Omaha)

Merchant EPI Delete

This API completely deletes the equipment Valor Portal. We send send the EPI Id in parameter (if we have).

https://demo.valorpaytech.com:443/api/Valor/deleteepi
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/deleteepi?epi=', [
  'body' => '{"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","userName":"merstore","epi_id":[2310835878]}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/deleteepi?epi="

payload = {
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "userName": "merstore",
    "epi_id": [2310835878]
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.epiDelete({
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  userName: 'merstore',
  epi_id: [2310835878]
}, {epi: ''})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/deleteepi?epi=");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"userName\":\"merstore\",\"epi_id\":[2310835878]}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/deleteepi?epi=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"userName\":\"merstore\",\"epi_id\":[2310835878]}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/deleteepi?epi="

	payload := strings.NewReader("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"userName\":\"merstore\",\"epi_id\":[2310835878]}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/deleteepi?epi=")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"userName\":\"merstore\",\"epi_id\":[2310835878]}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "message": "Success"
}
Field          Type       Length     Mandatory/Optional     Example Value                  Description
userName       String     25         Mandatory              dd1243x                        The username of the office login on which the merchant to be boarded
passcode       String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId         String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid      String     15         Mandatory              [email protected]  submail / the username of the sub office
epi_id         Numeric    10         Mandatory              2135475862                     The unique id refers to a particular store of the merchant

Merchant EPI Get

Same as Check Epi, we need to add the one more parameter Merchant Id (Mp Id). This API is use full to cross check the Merchant details also.

https://demo.valorpaytech.com:443/api/Valor/getepidetails
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/getepidetails?epi=', [
  'body' => '{"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","mp_id":"4033","epi":"2226388434"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/getepidetails?epi="

payload = {
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "mp_id": "4033",
    "epi": "2226388434"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.epiView({
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  mp_id: '4033',
  epi: '2226388434'
}, {epi: ''})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/getepidetails?epi=");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"4033\",\"epi\":\"2226388434\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/getepidetails?epi=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"4033\",\"epi\":\"2226388434\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/getepidetails?epi="

	payload := strings.NewReader("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"4033\",\"epi\":\"2226388434\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/getepidetails?epi=")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"mp_id\":\"4033\",\"epi\":\"2226388434\"}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "message": "Success",
  "data": {
    "id": 18942,
    "userId": 38930,
    "parentId": 4389,
    "dbaName": "Valor Store LLC",
    "legalName": "Valor Store",
    "firstName": "MERCHANT",
    "lastName": "PORTAL",
    "ownerName": "BASE ISO INTERNAL",
    "emailId": "[email protected]",
    "mobile": "8327287578",
    "legalAddress": "Test Address",
    "legalCity": "CLIFFSIDE PARK",
    "legalState": "28",
    "selectedState": "28",
    "legalCountry": "US",
    "legalZipCode": "07010",
    "legalTimezone": "EST",
    "logo": "MERCHANT",
    "role": 10,
    "userType": 4,
    "isTxnAllowed": 1,
    "businessType": "10",
    "storeData": [
      {
        "id": 22478,
        "storeName": "EL TRI MX RESTA Add",
        "storeAddress": "4100 JOHNSTON ST",
        "storeCity": "LAFAYETTE",
        "storeState": "16",
        "selectedState": "LA - Louisiana",
        "storeCountry": "US",
        "storeZipCode": "70503",
        "storeTimezone": "EST",
        "superVisorName": "EL TRI MX RESTA",
        "superVisorEmail": "[email protected]",
        "superVisorContact": "3377040344",
        "mccCode": "5812",
        "selectedMCC": "5812 - EATING PLACES-RESTAURANTS",
        "epiData": [
          {
            "id": 39938,
            "epi": "2319917225",
            "device": 145,
            "deviceType": "Handheld POS",
            "processor": 1,
            "epiLabel": "Valor VL 110",
            "features": {
              "tip": {
                "enabled": false,
                "value": [
                  5,
                  10,
                  15,
                  20
                ]
              },
              "surcharge": {
                "enabled": false,
                "value": "4.00"
              },
              "tax": {
                "enabled": false,
                "value": "0"
              }
            },
            "processorData": [
              {
                "midFD": "887000003193",
                "midFD1": null,
                "vNumber": "75021674",
                "vNumber1": null,
                "storeNo": "5999",
                "storeNo1": null,
                "termNo": "1515",
                "termNo1": null,
                "association": "949006",
                "association1": null,
                "chain": "111111",
                "chain1": null,
                "agent": "0001",
                "agent1": null,
                "EbtNo": null,
                "EbtNo1": null,
                "binnumber": "999991",
                "binnumber1": null,
                "agentBank": "000000",
                "agentBank1": null,
                "industry": "Retail",
                "industry1": null,
                "surchargePercentage": "4.00",
                "label": "MERCHANT PORTAL LOGIN",
                "EBTcash": 0,
                "EBTfood": 0,
                "EBTcash1": 0,
                "EBTfood1": 0,
                "id": 42410
              }
            ]
          }
        ]
      }
    ]
  }
}
Field          Type       Length     Mandatory/Optional     Example Value                  Description
mp_id          String     4          Mandatory              5875                           The password of the office login on which the merchant to be boarded
passcode       String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId         String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid      String     15         Mandatory              [email protected]  submail / the username of the sub office
epi            Numeric    10         Mandatory              2135475862                     The unique id refers to a particular store of the merchant

Merchant EPI Status

This API is use for to activate and deactivate the status of the Merchant EPI.

https://demo.valorpaytech.com/api/Valor/activateEpi
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/activateEpi', [
  'body' => '{"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","epi":"2226388434","status":"1"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/activateEpi"

payload = {
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "epi": "2226388434",
    "status": "1"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.epiStatus({
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  epi: '2226388434',
  status: '1'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/activateEpi");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\",\"status\":\"1\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/activateEpi");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\",\"status\":\"1\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/activateEpi"

	payload := strings.NewReader("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\",\"status\":\"1\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/activateEpi")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\",\"status\":\"1\"}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "message": "Success",
  "data": {
    "fieldCount": 0,
    "affectedRows": 1,
    "insertId": 0,
    "serverStatus": 2,
    "warningCount": 0,
    "message": "(Rows matched: 1  Changed: 1  Warnings: 0",
    "protocol41": true,
    "changedRows": 1
  }
}
Field          Type       Length     Mandatory/Optional     Example Value                  Description
passcode       String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId         String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid      String     15         Mandatory              [email protected]  submail / the username of the sub office
epi            Numeric    10         Mandatory              2135475862                     The unique id refers to a particular store of the merchant
status         String     10         Mandatory              activate                       Activate and deactivate the EPI

Merchant EPI Length

This API use for the check length of Merchant EPI

https://demo.valorpaytech.com:443/api/Valor/checkEPILength
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/checkEPILength', [
  'body' => '{"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","epi":"2226388434","merchantId":"6274"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/checkEPILength"

payload = {
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "epi": "2226388434",
    "merchantId": "6274"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.epiLength({
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  epi: '2226388434',
  merchantId: '6274'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/checkEPILength");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\",\"merchantId\":\"6274\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/checkEPILength");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\",\"merchantId\":\"6274\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/checkEPILength"

	payload := strings.NewReader("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\",\"merchantId\":\"6274\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/checkEPILength")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\",\"merchantId\":\"6274\"}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "code": "200",
  "Mp_id": 18942,
  "StoreID": 22478,
  "epi": "2319917231",
  "SerialNo": null,
  "processor_params": "{\"midFD\":\"887000003193\",\"midFD1\":null,\"vNumber\":\"75021674\",\"vNumber1\":null,\"storeNo\":\"5999\",\"storeNo1\":null,\"termNo\":\"1515\",\"termNo1\":null,\"association\":\"949006\",\"association1\":null,\"chain\":\"111111\",\"chain1\":null,\"agent\":\"0001\",\"agent1\":null,\"EbtNo\":null,\"EbtNo1\":null,\"binnumber\":\"999991\",\"binnumber1\":null,\"agentBank\":\"000000\",\"agentBank1\":null,\"industry\":\"Retail\",\"industry1\":null,\"surchargePercentage\":\"4.00\",\"label\":\"MERCHANT PORTAL LOGIN\",\"EBTcash\":0,\"EBTfood\":0,\"EBTcash1\":0,\"EBTfood1\":0}",
  "message": "epi Data Exits",
  "StatusUser": 2
}
Field          Type       Length     Mandatory/Optional     Example Value                  Description
merchantId     Numeric     4         Mandatory              6274                           The merchnatid of the office login on which the merchant to be boarded
passcode       String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId         String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid      String     15         Mandatory              [email protected]  submail / the username of the sub office
epi            Numeric    10         Mandatory              2135475862                     The unique id refers to a particular store of the merchant

Merchant EPI Txn Date

API use for to check the last transaction of the Merchant EPI

https://demo.valorpaytech.com/api/Valor/lastTxn
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/lastTxn', [
  'body' => '{"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","epi":"2226388434"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/lastTxn"

payload = {
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "epi": "2226388434"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.epiTxnDate({
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  epi: '2226388434'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/lastTxn");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/lastTxn");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/lastTxn"

	payload := strings.NewReader("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/lastTxn")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\"}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "message": "Success",
  "data": [
    {
      "MTD_VOLUME": "3562.78",
      "LTD_VOLUME": "3673.54",
      "last_txn_date": "2023-10-16",
      "first_txn_Date": "2023-05-11"
    }
  ],
  "epi_status": [
    {
      "is_deleted": 0,
      "status": 1
    }
  ]
}
Field          Type       Length     Mandatory/Optional     Example Value                  Description
passcode       String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId         String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid      String     15         Mandatory              [email protected]  submail / the username of the sub office
epi            Numeric    10         Mandatory              2135475862                     The unique id refers to a particular store of the merchant

Check EPI

Easy to cross check the equipment is Active / Inactive or deleted / not and get the all the details from equipment's

https://demo.valorpaytech.com:443/api/Valor/checkepi
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/checkepi', [
  'body' => '{"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]","epi":"2226388434"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/checkepi"

payload = {
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "epi": "2226388434"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.checkEpi1({
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  epi: '2226388434'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/checkepi");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/checkepi");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/checkepi"

	payload := strings.NewReader("{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/checkepi")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"epi\":\"2226388434\"}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "code": "200",
  "Mp_id": 7159,
  "newUserId": 12043,
  "StoreID": 8455,
  "epi": "2226388434",
  "SerialNo": null,
  "processor_params": "{\"mid\":\"887000003193\",\"mid1\":\"\",\"vNumber\":\"75021674\",\"vNumber1\":\"\",\"storeNo\":\"5999\",\"storeNo1\":\"\",\"termNo\":\"1515\",\"termNo1\":\"\",\"association\":\"\",\"association1\":\"\",\"chain\":\"111111\",\"chain1\":\"\",\"agent\":\"0001\",\"agent1\":\"\",\"EBTcash\":0,\"EBTfood\":0,\"EbtNo\":\"\",\"EBTcash1\":0,\"EBTfood1\":0,\"EbtNo1\":\"\",\"binnumber\":\"999991\",\"binnumber1\":\"\",\"agentBank\":\"000000\",\"agentBank1\":\"\",\"industry\":\"Food/Restaurant\",\"industry1\":\"\",\"surchargeIndicator\":0,\"surchargePercentage\":\"3.000\",\"tid3\":\"611525\",\"c_name3\":1,\"clientID\":\"45c4ddcc-feb1-4cb1-99f0-1ba71d6d8f69\",\"tid4\":\"\",\"clientID4\":\"\",\"location4\":\"\",\"integration_auth4\":\"\",\"integration_pwd4\":\"\",\"label\":\"RASHETH\",\"id\":17517}",
  "optStatus": 1,
  "statusEpi": 1,
  "createdDate": "2022-09-20",
  "createdBy": 12037,
  "isDeleted": 0,
  "deletedOn": null,
  "deletedBy": null
}
Field          Type       Length     Mandatory/Optional     Example Value                  Description
passcode       String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId         String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid      String     15         Mandatory              [email protected]  submail / the username of the sub office
epi            Numeric    10         Mandatory              2135475862                     The unique id refers to a particular store of the merchant

Credential Check

This API is individually checking if the user credential is right or wrong, if wrong we don't allow next. These 3 parameters are permanently added to each API because every API must satisfy this process for the security purpose.

https://demo.valorpaytech.com:4430/api/Valor/login
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/login', [
  'body' => '{"mailId":"[email protected]","SubmailId":"[email protected]","passCode":"Valor@123"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/login"

payload = {
    "mailId": "[email protected]",
    "SubmailId": "[email protected]",
    "passCode": "Valor@123"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.credential({
  mailId: '[email protected]',
  SubmailId: '[email protected]',
  passCode: 'Valor@123'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/login");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"passCode\":\"Valor@123\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/login");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"passCode\":\"Valor@123\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/login"

	payload := strings.NewReader("{\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"passCode\":\"Valor@123\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/login")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\",\"passCode\":\"Valor@123\"}"

response = http.request(request)
puts response.read_body
{
  "status": true,
  "code": "200",
  "UserId": 12463
}
Field          Type       Length     Mandatory/Optional     Example Value                  Description
passcode       String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId         String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid      String     15         Mandatory              [email protected]  submail / the username of the sub office

Get Merchant List

Merchant List API that displays all merchant accounts along with their associated mp_ids and user_ids.

https://demo.valorpaytech.com/api/Valor/getMerchantList
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/getMerchantList', [
  'body' => '{"limit":10,"offset":0,"passCode":"Valor@123","mailId":"[email protected]","SubmailId":"[email protected]"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/getMerchantList"

payload = {
    "limit": 10,
    "offset": 0,
    "passCode": "Valor@123",
    "mailId": "[email protected]",
    "SubmailId": "[email protected]"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.merchantList({
  limit: 10,
  offset: 0,
  passCode: 'Valor@123',
  mailId: '[email protected]',
  SubmailId: '[email protected]'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/getMerchantList");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"limit\":10,\"offset\":0,\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/getMerchantList");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"limit\":10,\"offset\":0,\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/getMerchantList"

	payload := strings.NewReader("{\"limit\":10,\"offset\":0,\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/getMerchantList")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"limit\":10,\"offset\":0,\"passCode\":\"Valor@123\",\"mailId\":\"[email protected]\",\"SubmailId\":\"[email protected]\"}"

response = http.request(request)
puts response.read_body
{
  "code": 200,
  "status": "OK",
  "message": "SUCCESS",
  "data": [
    {
      "DEVICE_COUNT": 1,
      "MTD_VOLUME": 0,
      "STORE_COUNT": 1,
      "PROCESSOR_LIST": "1",
      "LAST_TXN_DATE": null,
      "USER_ID": 39655,
      "USER_TYPE": 4,
      "PARENT_ID": 39623,
      "UPDATED_DATE": "2023-10-24T06:48:37.000Z",
      "MERCHANT_NAME": "MERCHANT PORTAL",
      "ROLE_ID": 10,
      "MOBILE_NO": "8327287578",
      "EMAIL_ID": "[email protected]",
      "STATUS": 1,
      "CREATED_DATE": "2023-10-24T06:48:36.000Z",
      "DBA_NAME": "Valor Store LLC",
      "MP_ID": 19407,
      "CRM_BOARDING": 1,
      "SUBISO_NAME": null,
      "ISO_NAME": "nagarajan",
      "BOARDED_ON": "10/24/23 02:48 AM (EST)"
    },
    {
      "DEVICE_COUNT": 1,
      "MTD_VOLUME": 0,
      "STORE_COUNT": 1,
      "PROCESSOR_LIST": "1",
      "LAST_TXN_DATE": null,
      "USER_ID": 39651,
      "USER_TYPE": 4,
      "PARENT_ID": 39623,
      "UPDATED_DATE": "2023-10-24T06:48:10.000Z",
      "MERCHANT_NAME": "MERCHANT PORTAL",
      "ROLE_ID": 10,
      "MOBILE_NO": "8327287578",
      "EMAIL_ID": "[email protected]",
      "STATUS": 1,
      "CREATED_DATE": "2023-10-24T06:48:10.000Z",
      "DBA_NAME": "Valor Store LLC",
      "MP_ID": 19403,
      "CRM_BOARDING": 1,
      "SUBISO_NAME": null,
      "ISO_NAME": "nagarajan",
      "BOARDED_ON": "10/24/23 02:48 AM (EST)"
    },
    {
      "DEVICE_COUNT": 1,
      "MTD_VOLUME": 0,
      "STORE_COUNT": 1,
      "PROCESSOR_LIST": "1",
      "LAST_TXN_DATE": null,
      "USER_ID": 39647,
      "USER_TYPE": 4,
      "PARENT_ID": 39623,
      "UPDATED_DATE": "2023-10-24T06:47:37.000Z",
      "MERCHANT_NAME": "MERCHANT PORTAL",
      "ROLE_ID": 10,
      "MOBILE_NO": "8327287578",
      "EMAIL_ID": "[email protected]",
      "STATUS": 1,
      "CREATED_DATE": "2023-10-24T06:47:37.000Z",
      "DBA_NAME": "Valor Store LLC",
      "MP_ID": 19399,
      "CRM_BOARDING": 1,
      "SUBISO_NAME": null,
      "ISO_NAME": "nagarajan",
      "BOARDED_ON": "10/24/23 02:47 AM (EST)"
    },
    {
      "DEVICE_COUNT": 2,
      "MTD_VOLUME": 0,
      "STORE_COUNT": 1,
      "PROCESSOR_LIST": "1",
      "LAST_TXN_DATE": null,
      "USER_ID": 39627,
      "USER_TYPE": 4,
      "PARENT_ID": 39623,
      "UPDATED_DATE": "2023-10-24T06:33:43.000Z",
      "MERCHANT_NAME": "Nagarajan M",
      "ROLE_ID": 10,
      "MOBILE_NO": "9600336885",
      "EMAIL_ID": "[email protected]",
      "STATUS": 1,
      "CREATED_DATE": "2023-10-24T06:19:53.000Z",
      "DBA_NAME": "Valorpay Diamond Store",
      "MP_ID": 19387,
      "CRM_BOARDING": 0,
      "SUBISO_NAME": null,
      "ISO_NAME": "nagarajan",
      "BOARDED_ON": "10/24/23 02:19 AM (EST)"
    }
  ]
}
Field          Type       Length     Mandatory/Optional     Example Value                  Description
passcode       String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId         String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid      String     15         Mandatory              [email protected]  submail / the username of the sub office
limit          number     10         Mandatory              10                             Limit for pagnation.
offset         number     0          Mandatory               0                             Offset for pagination. Default 0                     

Copy Parameter API

https://demo.valorpaytech.com/api/valor-isv/copyParameter
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/copyParameter', [
  'body' => '{"passCode":"A17csdb32$","mailId":"rashethdemoiso","SubmailId":"rashethdemoiso","source_epi":"2319916062","destination_epi":"2330543601"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/copyParameter"

payload = {
    "passCode": "A17csdb32$",
    "mailId": "rashethdemoiso",
    "SubmailId": "rashethdemoiso",
    "source_epi": "2319916062",
    "destination_epi": "2330543601"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.copyparameterApi({
  passCode: 'A17csdb32$',
  mailId: 'rashethdemoiso',
  SubmailId: 'rashethdemoiso',
  source_epi: '2319916062',
  destination_epi: '2330543601'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/copyParameter");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"A17csdb32$\",\"mailId\":\"rashethdemoiso\",\"SubmailId\":\"rashethdemoiso\",\"source_epi\":\"2319916062\",\"destination_epi\":\"2330543601\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/copyParameter");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"A17csdb32$\",\"mailId\":\"rashethdemoiso\",\"SubmailId\":\"rashethdemoiso\",\"source_epi\":\"2319916062\",\"destination_epi\":\"2330543601\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/getEpiAppKeyDetails"

	payload := strings.NewReader("{\"passCode\":\"A17csdb32$\",\"mailId\":\"rashethdemoiso\",\"SubmailId\":\"rashethdemoiso\",\"Epi\":\"2319916062\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&pos_entry_mode=012&surchargeIndicator=1&mtype=refund&username=Jackson&amount=100&sale_refund=1&binType=1&surchargeRemoved=0&pos_condition_code=08&/?issuerefund=")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'

response = http.request(request)
puts response.read_body
{
    "status": "OK",
    "message": "SUCCESS"
}
Field            Type       Length     Mandatory/Optional     Example Value                  Description
passcode         String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId           String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid        String     15         Mandatory              [email protected]  submail / the username of the sub office
source_epi       String     10         Mandatory              2319916998                     Source EPI of the Merchant is an end point identifier, Identify the device on valor infrastructure, 
                                                                                             it's a 10 digit number starts with 2
destination_epi  String     10         Mandatory              2319914861                     Destination EPI of the Merchant is an end point identifier, Identify the device on valor infrastructure, 
                                                                                             it's a 10 digit number starts with 2  

Fetched API ID & APP Keys

This API for fetching the merchant app ID and app keys.

https://demo.valorpaytech.com/api/Valor/getMerchantCredential
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/getMerchantCredential', [
  'body' => '{"mailId":"rashethdemoiso","SubmailId":"rashethdemoiso","passCode":"A17csdb32$","userID":"35589"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/getMerchantCredential"

payload = {
    "mailId": "rashethdemoiso",
    "SubmailId": "rashethdemoiso",
    "passCode": "A17csdb32$",
    "userID": "35589"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.merchantCredential({
  mailId: 'rashethdemoiso',
  SubmailId: 'rashethdemoiso',
  passCode: 'A17csdb32$',
  userID: '35589'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/getMerchantCredential");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mailId\":\"rashethdemoiso\",\"SubmailId\":\"rashethdemoiso\",\"passCode\":\"A17csdb32$\",\"userID\":\"35589\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/getMerchantCredential");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"mailId\":\"rashethdemoiso\",\"SubmailId\":\"rashethdemoiso\",\"passCode\":\"A17csdb32$\",\"userID\":\"35589\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/getMerchantCredential"

	payload := strings.NewReader("{\"mailId\":\"rashethdemoiso\",\"SubmailId\":\"rashethdemoiso\",\"passCode\":\"A17csdb32$\",\"userID\":\"35589\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/getMerchantCredential")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"mailId\":\"rashethdemoiso\",\"SubmailId\":\"rashethdemoiso\",\"passCode\":\"A17csdb32$\",\"userID\":\"35589\"}"

response = http.request(request)
puts response.read_body
{
  "code": 200,
  "status": "OK",
  "message": "SUCCESS",
  "data": {
    "APP_ID": "Vw7RdW6IPmRH4Z2feCE8Pp1iqeahSonN",
    "devices": [
      {
        "EPI": "2319916062",
        "DEVICE_NAME": "Device1",
        "DEVICE_TYPE": "Virtual Terminal",
        "APP_KEY": "Tv26MihzxwblHyk6gEuVelY2XwQE58jU"
      },
      {
        "EPI": "2319916063",
        "DEVICE_NAME": "Device2",
        "DEVICE_TYPE": "VL100",
        "APP_KEY": "NSg8L8wfIAIk3yjIniwYc8j9iz9PqWcO"
      },
      {
        "EPI": "2319916064",
        "DEVICE_NAME": "Device3",
        "DEVICE_TYPE": "VL110",
        "APP_KEY": "RuJWkXXwgbklftVb7FywOnv4t8LdMgaf"
      },
      {
        "EPI": "2319916601",
        "DEVICE_NAME": "Device4",
        "DEVICE_TYPE": "Virtual Terminal",
        "APP_KEY": "qO6paSwR5GclQsF9VRUkDs7Tp5QHl9YX"
      }
    ]
  }
}
Field          Type       Length     Mandatory/Optional     Example Value                  Description
passcode       String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId         String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid      String     15         Mandatory              [email protected]  submail / the username of the sub office
userID         Numeric    11         Mandatory              105481                         Merchant user Id (Numeric - length of 11 chars)    

EPI - Fetch API Keys

https://demo.valorpaytech.com/api/Valor/getEpiAppKeyDetails
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://demo.valorpaytech.com/api/Valor/getEpiAppKeyDetails', [
  'body' => '{"passCode":"A17csdb32$","mailId":"rashethdemoiso","SubmailId":"rashethdemoiso","Epi":"2319916062"}',
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
import requests

url = "https://demo.valorpaytech.com/api/Valor/getEpiAppKeyDetails"

payload = {
    "passCode": "A17csdb32$",
    "mailId": "rashethdemoiso",
    "SubmailId": "rashethdemoiso",
    "Epi": "2319916062"
}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const sdk = require('api')('@valorapi/v1.0#stjgo1s8lnsp02cy');

sdk.fetchApiKeys({
  passCode: 'A17csdb32$',
  mailId: 'rashethdemoiso',
  SubmailId: 'rashethdemoiso',
  Epi: '2319916062'
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://demo.valorpaytech.com/api/Valor/getEpiAppKeyDetails");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"passCode\":\"A17csdb32$\",\"mailId\":\"rashethdemoiso\",\"SubmailId\":\"rashethdemoiso\",\"Epi\":\"2319916062\"}");

CURLcode ret = curl_easy_perform(hnd);
using RestSharp;


var options = new RestClientOptions("https://demo.valorpaytech.com/api/Valor/getEpiAppKeyDetails");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"passCode\":\"A17csdb32$\",\"mailId\":\"rashethdemoiso\",\"SubmailId\":\"rashethdemoiso\",\"Epi\":\"2319916062\"}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.valorpaytech.com/api/Valor/getEpiAppKeyDetails"

	payload := strings.NewReader("{\"passCode\":\"A17csdb32$\",\"mailId\":\"rashethdemoiso\",\"SubmailId\":\"rashethdemoiso\",\"Epi\":\"2319916062\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://demo.valorpaytech.com/api/Valor/getEpiAppKeyDetails")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"passCode\":\"A17csdb32$\",\"mailId\":\"rashethdemoiso\",\"SubmailId\":\"rashethdemoiso\",\"Epi\":\"2319916062\"}"

response = http.request(request)
puts response.read_body
{
  "code": 200,
  "status": "OK",
  "message": "SUCCESS",
  "data": {
    "epi": "2319916062",
    "Mp_Id": 16934,
    "UserId": 35589,
    "device_model": "Virtual Terminal",
    "device_name": "Device1",
    "appkey": "Tv26MihzxwblHyk6gEuVelY2XwQE58jU",
    "appid": "Vw7RdW6IPmRH4Z2feCE8Pp1iqeahSonN"
  }
}
Field          Type       Length     Mandatory/Optional     Example Value                  Description
passcode       String     20         Mandatory              Valor@123                      The password of the office login on which the merchant to be boarded
mailId         String     15         Mandatory              [email protected]  E-mail id of the iso office
submailid      String     15         Mandatory              [email protected]  submail / the username of the sub office
Epi            String     10         Mandatory              2319914861                     Destination EPI of the Merchant is an end point identifier, Identify the device on valor infrastructure, 
                                                                                            it's a 10 digit number starts with 2  

Multi-MID

Multi MID Merchant Boarding refers to the process of registering a single business (merchant) with multiple Merchant IDs (MIDs) under the same parent account or structure. This is commonly used in environments where different store locations, business lines, or departments need to be tracked and processed separately, while still being part of one main (parent) entity. In Multi MID Merchant Boarding, the parent merchant account creates multiple child MIDs for purposes like.

Use CaseExample
Multiple StorefrontsOne parent owns multiple physical stores or online brands
Separate Processing RulesEach MID has different pricing, MCC codes, or surcharge programs
Financial TrackingTrack sales and settlements by department, location, or franchise
Device/Terminal MappingAssign separate MIDs for each terminal or register

Multi MID Boarding API Request

TSYS Processor

{
    "is_parent": "1",
    "legalName": "Valor Store",
    "dbaName": "Valor Store LLC",
    "firstName": "123",
    "lastName": "PORTAL",
    "ownerName": "Boarded by name",
    "emailId": "[email protected]",
    "userName": "parent_boarding_demo11",
    "mobile": "8327287578",
    "legalAddress": "Test Address",
    "legalCity": "CLIFFSIDE PARK",
    "legalState": "NJ",
    "legalCountry": "US",
    "legalZipCode": "07000",
    "legalTimezone": "EST",
    "role": "10",
    "userType": "4",
    "isTxnAllowed": "1",
    "businessType": "Direct Marketing",
    "moduleList": [
        1,
        3,
        6,
        15,
        17,
        18,
        19,
        20,
        24,
        25,
        29
    ],
    "selectedState": "NY",
    "rollUp": "0",
    "associate_user_name": "",
    "storeData": [
        {
            "storeName": "test store name one",
            "storeAddress": "test address for the store 1",
            "storeCity": "MARICOPA",
            "storeState": "AZ",
            "storeCountry": "US",
            "storeZipCode": "85138",
            "storeTimezone": "EST",
            "superVisorName": "Parent Supervisor",
            "superVisorEmail": "[email protected]",
            "superVisorContact": "5208396263",
            "mccCode": "0154",
            "descriptors": "ISO ACCESS PVT LTD",
            "storeDBA": "Parent  Store DBA",
            "epiData": [
                {
                    "device": "145",
                    "deviceType": "Handheld POS",
                    "processor": "1",
                    "epiLabel": "label for 145 device",
                    "processorData": []
                },
                {
                    "device": "235",
                    "deviceType": "Smart POS",
                    "processor": "1",
                    "epiLabel": "label for 145 device",
                    "processorData": []
                }
            ]
        }
    ],
    "ChildData": [
        {
            "childUser1": [
                {
                    "user_name": "child_boarding_demo",
                    "email": "[email protected]",
                    "firstName": "child riya",
                    "Last_name": "test ",
                    "Phone": "8870086595",
                    "processor": "1",
                    "device": "145",
                    "programType": "1",
                    "mccCode": "0171",
                    "processor_data": {
                        "mid": "887000003193",
                        "mid1": "",
                        "vNumber": "75021674",
                        "vNumber1": "",
                        "storeNo": "5999",
                        "storeNo1": "",
                        "termNo": "1515",
                        "termNo1": "",
                        "association": "949006",
                        "association1": "",
                        "chain": "111111",
                        "chain1": "",
                        "agent": "0001",
                        "agent1": "",
                        "EbtNo": "",
                        "EbtNo1": "",
                        "binnumber": "999991",
                        "binnumber1": "",
                        "agentBank": "000000",
                        "agentBank1": "",
                        "industry": "Retail",
                        "industry1": "",
                        "EBTcash": 0,
                        "EBTcash1": 0,
                        "EBTfood": 0,
                        "EBTfood1": 0,
                        "surchargeIndicator": 0,
                        "surchargePercentage": "4.00",
                        "label": "MERCHANT PORTAL LOGIN",
                        "programType": "surcharge"
                    },
                    "profile_name": "demo_answer_profile_child_1"
                }
            ],
            "childUser2": [
                {
                    "user_name": "child_two_boarding_demo",
                    "email": "[email protected]",
                    "firstName": "child riya",
                    "Last_name": "test ",
                    "Phone": "8870086595",
                    "processor": "1",
                    "device": "235",
                    "programType": "1",
                    "mccCode": "1711",
                    "processor_data": {
                        "mid": "887000003194",
                        "mid1": "",
                        "vNumber": "75021675",
                        "vNumber1": "",
                        "storeNo": "5999",
                        "storeNo1": "",
                        "termNo": "1515",
                        "termNo1": "",
                        "association": "949006",
                        "association1": "",
                        "chain": "111111",
                        "chain1": "",
                        "agent": "0001",
                        "agent1": "",
                        "EbtNo": "",
                        "EbtNo1": "",
                        "binnumber": "999991",
                        "binnumber1": "",
                        "agentBank": "000000",
                        "agentBank1": "",
                        "industry": "Retail",
                        "industry1": "",
                        "EBTcash": 0,
                        "EBTcash1": 0,
                        "EBTfood": 0,
                        "EBTfood1": 0,
                        "surchargeIndicator": 0,
                        "surchargePercentage": "4.00",
                        "label": "MERCHANT PORTAL LOGIN",
                        "programType": "surcharge"
                    },
                    "profile_name": "demo_answer_profile_child_3"
                }
            ]
        }
    ]
}

FD Processor

{
    "is_parent": "1",
    "legalName": "Valor Store",
    "dbaName": "Valor Store LLC",
    "firstName": "123",
    "lastName": "PORTAL",
    "ownerName": "Boarded by name",
    "emailId": "[email protected]",
    "userName": "parent_boarding_demo11",
    "mobile": "8327287578",
    "legalAddress": "Test Address",
    "legalCity": "CLIFFSIDE PARK",
    "legalState": "NJ",
    "legalCountry": "US",
    "legalZipCode": "07000",
    "legalTimezone": "EST",
    "role": "10",
    "userType": "4",
    "isTxnAllowed": "1",
    "businessType": "Direct Marketing",
    "moduleList": [
        1,
        3,
        6,
        15,
        17,
        18,
        19,
        20,
        24,
        25,
        29
    ],
    "selectedState": "NY",
    "rollUp": "0",
    "associate_user_name": "",
    "storeData": [
        {
            "storeName": "test store name one",
            "storeAddress": "test address for the store 1",
            "storeCity": "MARICOPA",
            "storeState": "AZ",
            "storeCountry": "US",
            "storeZipCode": "85138",
            "storeTimezone": "EST",
            "superVisorName": "Parent Supervisor",
            "superVisorEmail": "[email protected]",
            "superVisorContact": "5208396263",
            "mccCode": "0154",
            "descriptors": "ISO ACCESS PVT LTD",
            "storeDBA": "Parent  Store DBA",
            "epiData": [
                {
                    "device": "145",
                    "deviceType": "Handheld POS",
                    "processor": "2",
                    "epiLabel": "label for 145 device",
                    "processorData": []
                },
                {
                    "device": "235",
                    "deviceType": "Smart POS",
                    "processor": "2",
                    "epiLabel": "label for 145 device",
                    "processorData": []
                }
            ]
        }
    ],
    "ChildData": [
        {
            "childUser1": [
                {
                    "user_name": "child_boarding_demo",
                    "email": "[email protected]",
                    "firstName": "child riya",
                    "Last_name": "test ",
                    "Phone": "8870086595",
                    "processor": "2",
                    "device": "145",
                    "programType": "1",
                    "mccCode": "0171",
                    "processor_data": {
                        "surchargePercentage": "3.846",
                        "groupId": "",
                        "groupId1": "40001",
                        "midFD": "",
                        "midFD1": "RCTST00000506356",
                        "termNoFD": "",
                        "termNoFD1": "OM134524",
                        "EbtNoFD": "",
                        "EbtNoFD1": "RCTST00000506357",
                        "website": "",
                        "website1": "www.abc.com",
                        "mid3": "",
                        "termNo3": "",
                        "location_id": "",
                        "client_key": "",
                        "c_name": "",
                        "EBTfood": 1,
                        "EBTfood1": 0,
                        "EBTcash": 0,
                        "EBTcash1": 0,
                        "surchargeIndicator": 0,
                        "label": "UNIVERSAL ROOFING SPECIALISTS",
                        "programType": "surcharge"
                    },
                    "profile_name": "demo_answer_profile_child_1"
                }
            ],
            "childUser2": [
                {
                    "user_name": "child_two_boarding_demo",
                    "email": "[email protected]",
                    "firstName": "child riya",
                    "Last_name": "test ",
                    "Phone": "8870086595",
                    "processor": "2",
                    "device": "235",
                    "programType": "1",
                    "mccCode": "1711",
                    "processor_data": {
                     "surchargePercentage": "3.846",
                    "groupId": "",
                    "groupId1": "40001",
                    "midFD": "",
                    "midFD1": "RCTST00000506356",
                    "termNoFD": "",
                    "termNoFD1": "OM134524",
                    "EbtNoFD": "",
                    "EbtNoFD1": "RCTST00000506357",
                    "website": "",
                    "website1": "www.abc.com",
                    "mid3": "",
                    "termNo3": "",
                    "location_id": "",
                    "client_key": "",
                    "c_name": "",
                    "EBTfood": 1,
                    "EBTfood1": 0,
                    "EBTcash": 0,
                    "EBTcash1": 0,
                    "surchargeIndicator": 0,
                    "label": "UNIVERSAL ROOFING SPECIALISTS",
                    "programType": "surcharge"
                    },
                    "profile_name": "demo_answer_profile_child_3"
                }
            ]
        }
    ]
}

Query Parameters

Fields Type Length Mandatory/Optional Example Value Description
is_parent Number 1 Mandatory 1 Multi Merchant parent boarding
legalName String 15 Mandatory Valor Cafe Ex: Quick book dba, Valor Cafe
dbaName String 15 Mandatory Valor Store LLC Ex: SRM Hardware LLC, Merchant Firm Cafe
firstName String 15 Mandatory MERCHANT First name of the Merchant
lastName String 15 Mandatory PORTAL Last name of the Merchant
ownerName String 15 Mandatory MERCHANT PORTAL Boarded by ISO & Sub-ISO name
emailId String 50 Mandatory [email protected] Merchant email id
userName String 35 Mandatory merchat310823 Merchant user name
mobile String 10 Mandatory 8327287578 Merchant phone number- 10 digit Numeric
legalAddress String 100 Mandatory Test Address Legal Address should be max 100 chars - Alphanumeric
legalCity String 50 Mandatory CLIFFSIDE PARK City should be allowed max 50 chars of string (Ex: New York, San Francisco)
legalState String 2 Mandatory NJ State 2 chars of capital (Ex: New York - NY, California - CA)
legalCountry String 2 Mandatory US Legal country should be mention default set us US
legalZipCode String 5 Mandatory 07010 Legal zip code should be 5 digits (Numeric - Ex: 10001, 90002)
legalTimezone String 3 Mandatory EST Time zone (3 char eg: EST, AST ,PST, HST, MST)
role String 2 Optional 10 Should be set as '10' it is related to role of Merchant
userType string 1 Mandatory 4 Should be set as '4' - User type for the merchant
isTxnAllowed string 1 Mandatory 1 Should be set isTxnAllowed default as '1'
businessType string 10 Mandatory Oil Company/Automated Should be sent as business type
selectedState string 2 Mandatory NJ State 2 chars of capital (Ex: New York - NY, California - CA)
rollUp string 1 Mandatory 0 Set value 0 or 1 (This value allows merchants to access the virtual terminal free of charge for 6 months)
associate_user_name string 35 Optional Tesst45 ISO user name (Alphanumeric length of 35 chars)
storeName string 15 Mandatory EL TRI MX RESTA Add Store name of Merchant (Max length is 15 char)
storeAddress string 100 Mandatory 4100 JOHNSTON ST Store address should be max 100 chars - Alphanumeric
storeCity string 50 Mandatory LAFAYETTE Store city should be allowed max 50 chars of string (Ex: New York, San Francisco)
storeState string 2 Mandatory LA Store state 2 chars of capital (Ex: New York - NY, California - CA)
storeCountry string Mandatory US Store country should be mention default set us US
storeZipCode string 5 Mandatory 70503 Store zip code should be 5 digits (Numeric - Ex: 10001, 90002)
storeTimezone string 3 Mandatory EST Store time zone (3 char eg: EST,AST,PST,HST,MST)
superVisorName string 25 Mandatory EL TRI MX RESTA Name of the supervisor (Max length is 25 char)
superVisorEmail string 50 Mandatory [email protected] Supervisor email id - Varchar (Ex: [email protected], Max length of 50 chars)
superVisorContact string 10 Mandatory 3377040344 Supervisor contact number 10 digit Numeric (Ex: 5247896523)
mccCode string 4 Mandatory 5812 It should be 4 digit MCC (Ex: 8765, 5993)
descriptors string 25 Mandatory ISO ACCESS PVT LTD It should be 25 chars
storeDBA string 15 Mandatory Parent Store DBA Max length is 15 char - varchar (Ex: SRM Hardware LLC, Merchant Firm Cafe)
device string Mandatory 145 The model description of the device to be boarded for that merchant. Have to pass the 'Device ID'
deviceType string Mandatory Handheld POSprocessor The type description of the device / terminal Possible Options.
processor string 1 Mandatory 1 Update the processor params 1 or 2 (TSYS - 1 and FD - 2)
epiLabel string 15 Optional label for 145 device Label description for the device /terminal. Max length 15 char
processorData array Mandatory [] Parent processorData should be empty array
user_name string 35 Mandatory Child merchant one Child EPI user name (Alphanumeric length of 35 chars)
email string 50 Mandatory [email protected] Child EPI email id - Varchar (Ex: [email protected], Max length of 50 chars)
firstName string 15 Mandatory MERCHANT Max length is 15 char - varchar (First name of the Child EPI)
Last_name string 15 Mandatory PORTAL Max length is 15 char - varchar (Last name of the Child EPI)
Phone string 10 Mandatory 8327287578 Child EPI phone number- 10 digit Numeric (Ex: 5247896523)
processor string 1 Mandatory 1 Update the processor params 1 or 2 (TSYS - 1 and FD - 2). The processor value should be similar with the parent device processor value
device string Mandatory 145 The model description of the device to be boarded for that merchant. Have to pass the 'Device ID'.The device value should be similar with the parent device value
programType string Mandatory 1 1 (cash discount) or 2 (traditional)
mccCode string 4 Mandatory 0171 It should be 4 digit MCC (Ex: 8765, 5993)
processor_data object Mandatory
mid string Mandatory 887000003193 Merchant id related to the surcharge profile. If the epi is to be boarded on Traditional profile set it as "null"
mid1 string Mandatory "" Merchant id related to the traditional profile. If the epi is to be boarded on surcharge Profile sets it as "null"
vNumber string Mandatory 75021674 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 Mandatory "" 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 Mandatory 5999 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 Mandatory "" 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 Mandatory 1515 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 Mandatory "" 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 Mandatory 949006 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 Mandatory "" 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 Mandatory 111111 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 Mandatory "" 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 Mandatory
agent1 string Mandatory
industry string Mandatory Direct Marketing 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 Mandatory "" 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"
EBTfood int32 Mandatory Defaults to 0 EBT food related to the surcharge profile. If the epi is to be boarded on Traditional profile set it as 0 or 1
EBTfood1 int32 Mandatory Defaults to 0 EBT food related to the traditional profile. If the epi is to be boarded on surcharge Profile sets it as 0 or 1
EBTcash int32 Mandatory Defaults to 0 EBT cash related to the surcharge profile. If the epi is to be boarded on Traditional profile set it as 0 or 1
EBTcash1 int32 Mandatory Defaults to 0 EBT cash related to the traditional profile. If the epi is to be boarded on surcharge Profile sets it as 0 or 1
EbtNo int32 Mandatory
EbtNo1 int32 Mandatory
binnumber string Mandatory
binnumber1 string Mandatory
surchargePercentage string Mandatory "" If the epi is to be boarded on a surcharge Profile set it as "null"
label string Mandatory MERCHANT PORTAL LOGIN The storename on which the device/terminal created is mapped on this field
surchargeIndicator int32 Mandatory Defaults to 0 The value '0' means % and 1 means dollar
programType string Mandatory surcharge If program type set as "surcharge" or "cashdiscount".
profile_name string 15 Mandatory Merchant profile Child EPI profile name (Alphanumeric length of 35 chars)
ChildData Arrayof arrayof object Mandatory If user add more than 1 device, the childData structure should be array of arrayof objects. Eg: ChildData : [[{user_name : child Merchant one }], [{user_name:child Merchant two}]]