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