Virtual Terminal
- Card Numbers Tokenized and Stored for Future Transactions
- Set Up Recurring Payments
- Email and SMS Invoicing
- Cash Discount / Surcharging Features Available
- Level 2 and Level 3 Payment Options
- Dynamic Descriptor Improves Transaction Descriptions on Customer Bank Statements
- Inventory Management
- E-Commerce Integrations with OpenCart and WooCommerce
- Easy to Use Mobile App Available on IOS and Android
Objective
A list of API in order to validate, initiate/add/edit/delete subscription and also freeze the subscription duration.
Also Gives a reporting API details to find the transaction details and status of the subscription
Connections
The following are the sandbox credentials, Email: [email protected] for production credentials
- Protocol: Https
- Port: 4430
- Method: POST
- URL: URL
- Please email to [email protected] to get the following auth credentials
- APP_ID
- AUTH_TOKEN
- AUTH_KEY
Note: Client has to whitelist their IP address
Validate API
This API is used to find the given Merchant API ID and API Key is valid or not
https://vt-staging.valorpaytech.com:4430/?
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0200&amount=5.05&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=3&cvv=999&pan=4111111111111111&expiry_date=1224&subscription_start_date=20221212&s_customerName=zxcvx&b_customerName=zxcvx&epi=2226388434&avs=2&recursivePayment=true&username=Test&s_street_no=zxcvxz&s_street_name=xcvxzcvxcvc&s_unit=zxcvx&s_city=CHESAPEAKE&s_state=VA&s_zip=23323&b_street_no=zxcvxz&b_street_name=xcvxzcvxcvc&b_unit=zxcvx&b_city=CHESAPEAKE&b_state=VA&b_zip=23323&validateCard=1&userid=13241&validat=', [
'headers' => [
'accept' => 'application/json',
],
]);
echo $response->getBody();
import requests
url = "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0200&amount=5.05&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=3&cvv=999&pan=4111111111111111&expiry_date=1224&subscription_start_date=20221212&s_customerName=zxcvx&b_customerName=zxcvx&epi=2226388434&avs=2&recursivePayment=true&username=Test&s_street_no=zxcvxz&s_street_name=xcvxzcvxcvc&s_unit=zxcvx&s_city=CHESAPEAKE&s_state=VA&s_zip=23323&b_street_no=zxcvxz&b_street_name=xcvxzcvxcvc&b_unit=zxcvx&b_city=CHESAPEAKE&b_state=VA&b_zip=23323&validateCard=1&userid=13241&validat="
headers = {"accept": "application/json"}
response = requests.post(url, headers=headers)
print(response.text)
const sdk = require('api')('@valorapi/v1.0#2rs2dlncr2qhx');
sdk.validateapi({
app_id: '464DA39FCFB44D54F6C1D22CEF9098E5',
auth_token: '8E1DDE8DE369812732E88C583B14D0C4',
auth_key: '15B8BCFDB337428792608354A1444050',
mtype: '0200',
amount: '5.05',
food_amount: '0',
tax: '0',
city_tax: '0',
reduced_tax: '0',
surchargeIndicator: '1',
custom_fee: '3',
cvv: '999',
pan: '4111111111111111',
expiry_date: '1224',
subscription_start_date: '20221212',
s_customerName: 'zxcvx',
b_customerName: 'zxcvx',
epi: '2226388434',
avs: '2',
recursivePayment: 'true',
username: 'Test',
s_street_no: 'zxcvxz',
s_street_name: 'xcvxzcvxcvc',
s_unit: 'zxcvx',
s_city: 'CHESAPEAKE',
s_state: 'VA',
s_zip: '23323',
b_street_no: 'zxcvxz',
b_street_name: 'xcvxzcvxcvc',
b_unit: 'zxcvx',
b_city: 'CHESAPEAKE',
b_state: 'VA',
b_zip: '23323',
validateCard: '1',
userid: '13241',
validat: ''
})
.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://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0200&amount=5.05&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=3&cvv=999&pan=4111111111111111&expiry_date=1224&subscription_start_date=20221212&s_customerName=zxcvx&b_customerName=zxcvx&epi=2226388434&avs=2&recursivePayment=true&username=Test&s_street_no=zxcvxz&s_street_name=xcvxzcvxcvc&s_unit=zxcvx&s_city=CHESAPEAKE&s_state=VA&s_zip=23323&b_street_no=zxcvxz&b_street_name=xcvxzcvxcvc&b_unit=zxcvx&b_city=CHESAPEAKE&b_state=VA&b_zip=23323&validateCard=1&userid=13241&validat=");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
using RestSharp;
var options = new RestClientOptions("https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0200&amount=5.05&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=3&cvv=999&pan=4111111111111111&expiry_date=1224&subscription_start_date=20221212&s_customerName=zxcvx&b_customerName=zxcvx&epi=2226388434&avs=2&recursivePayment=true&username=Test&s_street_no=zxcvxz&s_street_name=xcvxzcvxcvc&s_unit=zxcvx&s_city=CHESAPEAKE&s_state=VA&s_zip=23323&b_street_no=zxcvxz&b_street_name=xcvxzcvxcvc&b_unit=zxcvx&b_city=CHESAPEAKE&b_state=VA&b_zip=23323&validateCard=1&userid=13241&validat=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0200&amount=5.05&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=3&cvv=999&pan=4111111111111111&expiry_date=1224&subscription_start_date=20221212&s_customerName=zxcvx&b_customerName=zxcvx&epi=2226388434&avs=2&recursivePayment=true&username=Test&s_street_no=zxcvxz&s_street_name=xcvxzcvxcvc&s_unit=zxcvx&s_city=CHESAPEAKE&s_state=VA&s_zip=23323&b_street_no=zxcvxz&b_street_name=xcvxzcvxcvc&b_unit=zxcvx&b_city=CHESAPEAKE&b_state=VA&b_zip=23323&validateCard=1&userid=13241&validat="
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("accept", "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&mtype=0200&amount=5.05&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=3&cvv=999&pan=4111111111111111&expiry_date=1224&subscription_start_date=20221212&s_customerName=zxcvx&b_customerName=zxcvx&epi=2226388434&avs=2&recursivePayment=true&username=Test&s_street_no=zxcvxz&s_street_name=xcvxzcvxcvc&s_unit=zxcvx&s_city=CHESAPEAKE&s_state=VA&s_zip=23323&b_street_no=zxcvxz&b_street_name=xcvxzcvxcvc&b_unit=zxcvx&b_city=CHESAPEAKE&b_state=VA&b_zip=23323&validateCard=1&userid=13241&validat=")
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
{
"error_no": "S00",
"success_url": true,
"error_code": "00",
"amount": "5.05",
"tax": "0",
"customfee": "3",
"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": "TAS105",
"rrn": "328509500127",
"txnid": "5217188",
"tran_no": 11,
"stan": 89,
"is_partial_approve": 0,
"partial_amount": "000000000505",
"pan": "XXXX1111",
"card_type": null,
"phone_number": null,
"email_id": null,
"zip": null,
"card_holder_name": null,
"expiry_date": "12/24",
"address": null,
"epi": "2226388434",
"channel": "VT",
"token": "D0E08BD11878031C8457ADA39650C853D17433D9",
"card_brand": "Visa",
"netamt": 8.05
}
Field Type Length Mandatory/Optional Example Value Description
uid Numeric 10 Mandatory 2223413579 A unique id of the request, A client can send any number of 10 digit
app_id String 32 Mandatory 464DA39FCFB44D54F6C1D22CEF9098E5 Application id, an unique id given for the application
auth_key String 32 Mandatory 15B8BCFDB337428792608354A1444050 Authorization key (API key) given for application contact [email protected]
mtype Numeric 4 Mandatory 0200 Message type 0100
epi Numeric 10 Mandatory 2536419865 10 digit number will be generated as a part of merchant boarding
amount Numeric 10 Mandatory 100.50 Transaction amount (Maximum amount 99,999.99)
food_amount Numeric 4 Optional 10.00 Currency (Ex. 00.00) - Food amount should be less than to transaction amount
tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
city_tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
reduced_tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
surchargeIndicator Numeric 1 Mandatory 0 or 1 To enable or disable the surcharge fee (0 or 1)
custom_fee Numeric 4 Optional 4.00 Custom fee/surcharge fee if any - Optional
cvv Numeric 4 Optional 523 or 4251 3 or 4 digits number
card_holder_name String 25 Optional Jackson Name of the cardholder
pan Numeric 19 Mandatory 4012881888818888 Customer card number 15 to 19 digits
expiry_date date 5 Mandatory 1225 Card expiry date, Accepted expiry MMYY or MM/YY
subscription_start_date date 0 Mandatory 2023-04-05 Customer subscription start date - YYYY-MM-DD
s_customerName String 25 Optional Jackson Shipping address customer name
b_customerName String 25 Optional Jackson Billing address customer name
recursivePaymentId Numeric 4 Optional 7129 Customer unique recursive payment id
avs String 10 Optional 13 Address verification service (zip, street address)
recursivePayment Boolean 5 Optional true or false Is recursive payment true or false
phone Number 10 Optional 8965342569 Customer phone number - 10 digit
email String 50 Optional [email protected] Customer email id - Varchar 255
username String 25 Optional test002 Customer user name
ip_address String 20 Optional 8.8.8.8 Merchant IP address- (Ex. 0.0.0.0)
s_street_no String 25 Optional 12-35 Shipping address street number - Number with hyphen
s_street_name String 25 Optional Corner Street Shipping address street name - Alphanumeric
s_unit Numeric 25 Optional 25 Ex. block no, apartment no
s_city Numeric 25 Optional New York Shipping address city - 15 chars
s_state String 25 Optional NY Shipping address state (2 chars capital)
b_street_no String 25 Optional 12-35 Billing address street number - Number with hyphen
b_street_name String 25 Optional Corner Street Billing address street name - Alphanumeric
b_unit Numeric 25 Optional 25 Ex. block no, apartment no
b_city Numeric 25 Optional New York Billing address city - 15 chars
b_state String 25 Optional NY Billing address state (2 chars capital).
b_zip Numeric 5 Optional 52468 Billing address zip - 5 digit
orderId Numeric 12 Optional sale or auth Order id for sale and auth
invoicenumber String 12 Optional 253647896512 Alphanumeric 12 chars
dataset_id Numeric 4 Optional 0 Line item against created dataset id
orderdescription String 50 Optional Ex.Comments Description of the order
validateCard int 1 Optional set 0 or 1 To validate the card
userid Numeric 4 Optional 13241 It is the userid of the merchant to be updated
s_zip Numeric 5 Optional 85364 Shipping address zip - 5 digit
AuthOnly API
Authonly transaction performs the authorization by getting the card number and other details, settlement can be manually done on each transaction
https://vt-staging.valorpaytech.com:4430/?
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0100&amount=567.67&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0&cvv=999&pan=4111111111111111&expiry_date=1223&avs=1&epi=2313185814&recursivePayment=false&validateCard=0&userid=15625&surchargeRemoved=0&/?authonly=', [
'headers' => [
'accept' => 'application/json',
],
]);
echo $response->getBody();
import requests
url = "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0100&amount=567.67&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0&cvv=999&pan=4111111111111111&expiry_date=1223&avs=1&epi=2313185814&recursivePayment=false&validateCard=0&userid=15625&surchargeRemoved=0&/?authonly="
headers = {"accept": "application/json"}
response = requests.post(url, headers=headers)
print(response.text)
const sdk = require('api')('@valorapi/v1.0#4p5423lnn4s57h');
sdk.authonlyApi({
app_id: '464DA39FCFB44D54F6C1D22CEF9098E5',
auth_token: '8E1DDE8DE369812732E88C583B14D0C4',
auth_key: '15B8BCFDB337428792608354A1444050',
mtype: '0100',
amount: '567.67',
food_amount: '0',
tax: '0',
city_tax: '0',
reduced_tax: '0',
surchargeIndicator: '1',
custom_fee: '0',
cvv: '999',
pan: '4111111111111111',
expiry_date: '1223',
avs: '1',
epi: '2313185814',
recursivePayment: 'false',
validateCard: '0',
userid: '15625',
surchargeRemoved: '0',
'/?authonly': ''
})
.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://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0100&amount=567.67&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0&cvv=999&pan=4111111111111111&expiry_date=1223&avs=1&epi=2313185814&recursivePayment=false&validateCard=0&userid=15625&surchargeRemoved=0&/?authonly=");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
using RestSharp;
var options = new RestClientOptions("https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0100&amount=567.67&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0&cvv=999&pan=4111111111111111&expiry_date=1223&avs=1&epi=2313185814&recursivePayment=false&validateCard=0&userid=15625&surchargeRemoved=0&/?authonly=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0100&amount=567.67&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0&cvv=999&pan=4111111111111111&expiry_date=1223&avs=1&epi=2313185814&recursivePayment=false&validateCard=0&userid=15625&surchargeRemoved=0&/?authonly="
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("accept", "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&mtype=0100&amount=567.67&food_amount=0&tax=0&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0&cvv=999&pan=4111111111111111&expiry_date=1223&avs=1&epi=2313185814&recursivePayment=false&validateCard=0&userid=15625&surchargeRemoved=0&/?authonly=")
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
{
"error_no": "S00",
"success_url": true,
"error_code": "00",
"amount": "567.67",
"tax": "0",
"customfee": "0",
"msg": "APPROVED",
"desc": "APPROVAL TAS168 ",
"additional_info": null,
"clerk_id": null,
"clerk_name": null,
"clerk_label": null,
"additionalKeyOne": null,
"additionalKeyTwo": null,
"additionalValueOne": null,
"additionalValueTwo": null,
"approval_code": "TAS168",
"rrn": "328510502516",
"txnid": "5217512",
"tran_no": 9,
"stan": 105,
"is_partial_approve": 0,
"partial_amount": "000000056767",
"pan": "XXXX1111",
"card_type": null,
"phone_number": null,
"email_id": null,
"zip": null,
"card_holder_name": null,
"expiry_date": "12/23",
"address": null,
"epi": "2313185814",
"channel": "VT",
"token": "1A49C2448DF860E0D5457C6672C2A38B3DE2D941",
"card_brand": null,
"netamt": 567.67
}
Field Type Length Mandatory/Optional Example Value Description
uid Numeric 10 Mandatory 2223413579 A unique id of the request, A client can send any number of 10 digit
app_id String 32 Mandatory 464DA39FCFB44D54F6C1D22CEF9098E5 Application id, an unique id given for the application
auth_key String 32 Mandatory 15B8BCFDB337428792608354A1444050 Authorization key (API key) given for application contact [email protected]
mtype Numeric 4 Mandatory 0200 Message type 0100
epi Numeric 10 Mandatory 2536419865 10 digit number will be generated as a part of merchant boarding
amount Numeric 10 Mandatory 100.50 Transaction amount (Maximum amount 99,999.99)
food_amount Numeric 4 Optional 10.00 Currency (Ex. 00.00) - Food amount should be less than to transaction amount
tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
city_tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
reduced_tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
surchargeIndicator Numeric 1 Mandatory 0 or 1 To enable or disable the surcharge fee (0 or 1)
custom_fee Numeric 4 Optional 4.00 Custom fee/surcharge fee if any - Optional
tip Numeric 4 Optional 5.00 TIP if any / Optional
cvv Numeric 4 Optional 523 or 4251 3 or 4 digits number
card_holder_name String 25 Optional Jackson Name of the cardholder
pan Numeric 19 Mandatory 4012881888818888 Customer card number 15 to 19 digits
expiry_date date 5 Mandatory 1225 Card expiry date, Accepted expiry MMYY or MM/YY
subscription_start_date date 0 Mandatory 2023-04-05 Customer subscription start date - YYYY-MM-DD
s_customerName String 25 Optional Jackson Shipping address customer name
b_customerName String 25 Optional Jackson Billing address customer name
recursivePaymentId Numeric 4 Optional 7129 Customer unique recursive payment id
avs String 10 Optional 13 Address verification service (zip, street address)
recursivePayment Boolean 5 Optional true or false Is recursive payment true or false
phone Number 10 Optional 8965342569 Customer phone number - 10 digit
email String 50 Optional [email protected] Customer email id - Varchar 255
username String 25 Optional test002 Customer user name
ip_address String 20 Optional 8.8.8.8 Merchant IP address- (Ex. 0.0.0.0)
s_street_no String 25 Optional 12-35 Shipping address street number - Number with hyphen
s_street_name String 25 Optional Corner Street Shipping address street name - Alphanumeric
s_unit Numeric 25 Optional 25 Ex. block no, apartment no
s_city Numeric 25 Optional New York Shipping address city - 15 chars
s_state String 25 Optional NY Shipping address state (2 chars capital)
b_street_no String 25 Optional 12-35 Billing address street number - Number with hyphen
b_street_name String 25 Optional Corner Street Billing address street name - Alphanumeric
b_unit Numeric 25 Optional 25 Ex. block no, apartment no
b_city Numeric 25 Optional New York Billing address city - 15 chars
b_state String 25 Optional NY Billing address state (2 chars capital).
b_zip Numeric 5 Optional 52468 Billing address zip - 5 digit
orderId Numeric 12 Optional sale or auth Order id for sale and auth
invoicenumber String 12 Optional 253647896512 Alphanumeric 12 chars
dataset_id Numeric 4 Optional 0 Line item against created dataset id
orderdescription String 50 Optional Ex.Comments Description of the order
validateCard int 1 Optional set 0 or 1 To validate the card
userid Numeric 4 Optional 13241 It is the userid of the merchant to be updated
s_zip Numeric 5 Optional 85364 Shipping address zip - 5 digit
Capture API
An Authonly transaction to be complete using this capture API
https://vt-staging.valorpaytech.com:4430/?
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&epi=2226388434&rrn=328604501386&auth_code=TAS191&pos_entry_mode=12&surchargeIndicator=1&mtype=capture&tran_no=1&amount=67.77&stan=231&tax=0&city_tax=0&custom_fee=14&tip_amount=0&/?captureapi=', [
'headers' => [
'accept' => 'application/json',
],
]);
echo $response->getBody();
import requests
url = "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&epi=2226388434&rrn=328604501386&auth_code=TAS191&pos_entry_mode=12&surchargeIndicator=1&mtype=capture&tran_no=1&amount=67.77&stan=231&tax=0&city_tax=0&custom_fee=14&tip_amount=0&/?captureapi="
headers = {"accept": "application/json"}
response = requests.post(url, headers=headers)
print(response.text)
const sdk = require('api')('@valorapi/v1.0#4p5423lnn4s57h');
sdk.captureApi({
app_id: '464DA39FCFB44D54F6C1D22CEF9098E5',
auth_token: '8E1DDE8DE369812732E88C583B14D0C4',
auth_key: '15B8BCFDB337428792608354A1444050',
epi: '2226388434',
rrn: '328604501386',
auth_code: 'TAS191',
pos_entry_mode: '12',
surchargeIndicator: '1',
mtype: 'capture',
tran_no: '1',
amount: '67.77',
stan: '231',
tax: '0',
city_tax: '0',
custom_fee: '14',
tip_amount: '0',
'/?captureapi': ''
})
.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://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&epi=2226388434&rrn=328604501386&auth_code=TAS191&pos_entry_mode=12&surchargeIndicator=1&mtype=capture&tran_no=1&amount=67.77&stan=231&tax=0&city_tax=0&custom_fee=14&tip_amount=0&/?captureapi=");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
using RestSharp;
var options = new RestClientOptions("https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&epi=2226388434&rrn=328604501386&auth_code=TAS191&pos_entry_mode=12&surchargeIndicator=1&mtype=capture&tran_no=1&amount=67.77&stan=231&tax=0&city_tax=0&custom_fee=14&tip_amount=0&/?captureapi=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&epi=2226388434&rrn=328604501386&auth_code=TAS191&pos_entry_mode=12&surchargeIndicator=1&mtype=capture&tran_no=1&amount=67.77&stan=231&tax=0&city_tax=0&custom_fee=14&tip_amount=0&/?captureapi="
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("accept", "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&epi=2226388434&rrn=328604501386&auth_code=TAS191&pos_entry_mode=12&surchargeIndicator=1&mtype=capture&tran_no=1&amount=67.77&stan=231&tax=0&city_tax=0&custom_fee=14&tip_amount=0&/?captureapi=")
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
{
"error_no": "S00",
"success_url": true,
"error_code": "00",
"amount": "5.67",
"tax": "0",
"customfee": "14",
"msg": "APPROVED",
"desc": "APPROVAL TAS168 ",
"additional_info": null,
"clerk_id": null,
"clerk_name": null,
"clerk_label": null,
"additionalKeyOne": null,
"additionalKeyTwo": null,
"additionalValueOne": null,
"additionalValueTwo": null,
"approval_code": "TAS168",
"rrn": "328510502516",
"txnid": "5217748",
"tran_no": 9,
"stan": 105,
"is_partial_approve": 0,
"partial_amount": "000000000567",
"pan": "XXXX",
"card_type": null,
"phone_number": null,
"email_id": null,
"zip": null,
"card_holder_name": null,
"expiry_date": "/",
"address": null,
"epi": "2313185814",
"channel": "VT",
"token": null,
"card_brand": null,
"netamt": 19.67
}
Field Type Length Mandatory/Optional Example Value Description
app_id String 32 Mandatory 464DA39FCFB44D54F6C1D22CEF9098E5 Application id, an unique id given for the application
auth_key String 32 Mandatory 15B8BCFDB337428792608354A1444050 Authorization key (API key) given for application contact [email protected]
auth_token String 32 Mandatory 8E1DDE8DE369812732E88C583B14D0C4 Authentication Token is a piece of information that verifies the identity of a user to a website
uid Numeric 10 Mandatory 2223413579 A unique id of the request, A client can send any number of 10 digit
mtype Numeric 4 Mandatory 0200 Message type 0100
epi Numeric 10 Mandatory 2536419865 10 digit number will be generated as a part of merchant boarding
rrn Numeric 12 Mandatory 307009169040 Retrieval reference number ( e-recpit )
userid Numeric 4 Optional 13241 It is the userid of the merchant to be updated
auth_cod String 10 Mandatory TAS660 Authentication code
pos_entry_mode Numeric 5 Optional 012 Mode of transaction in POS terminal
email String 50 Optional [email protected] Customer email id - Varchar 255
username String 25 Optional test002 Customer user name
surchargeIndicator Numeric 1 Mandatory 0 or 1 To enable or disable the surcharge fee (0 or 1)
ip_address String 20 Optional 8.8.8.8 Merchant IP address- (Ex. 0.0.0.0)
tx_id Numeric 12 Mandatory 222919672184 Transaction id for auth
mtype String 4 Mandatory 0200 Message type 0100
amount Numeric 4 Mandatory 100.50 Transaction amount (Maximum amount 99,999.99)
stan Numeric 4 Optional 443 STAN Number
food_amount Numeric 4 Optional 10.00 Currency (Ex. 00.00) - Food amount should be less than to transaction amount
tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
city_tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
reduced_tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
tip_amount Numeric 4 Optional 4:00 TIP if any - optional
custom_fee Numeric 10 Optional 4.00 Custom fee/surcharge fee if any - Optional
binType Numeric 2 Optional set 0 or 1 Select the bin type (0 or 1)
surchargeRemoved String 2 Optional set 0 or 1 To remove the surcharge fee to select 0 or 1
Sale API
Regular transaction request, charge the cardholder immediately as a part of auto/manual settlement
https://vt-staging.valorpaytech.com:4430/?
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0200&amount=11.11&food_amount=0&tax=0.44&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0.02&cvv=999&surchargeRemoved=0&pan=4111111111111111&expiry_date=1224&epi=2226388434&avs=1&recursivePayment=false&validateCard=0&/?saleapi=', [
'headers' => [
'accept' => 'application/json',
],
]);
echo $response->getBody();
import requests
url = "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0200&amount=11.11&food_amount=0&tax=0.44&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0.02&cvv=999&surchargeRemoved=0&pan=4111111111111111&expiry_date=1224&epi=2226388434&avs=1&recursivePayment=false&validateCard=0&/?saleapi="
headers = {"accept": "application/json"}
response = requests.post(url, headers=headers)
print(response.text)
const sdk = require('api')('@valorapi/v1.0#4p5423lnn4s57h');
sdk.saleApi1({
app_id: '464DA39FCFB44D54F6C1D22CEF9098E5',
auth_token: '8E1DDE8DE369812732E88C583B14D0C4',
auth_key: '15B8BCFDB337428792608354A1444050',
mtype: '0200',
amount: '11.11',
food_amount: '0',
tax: '0.44',
city_tax: '0',
reduced_tax: '0',
surchargeIndicator: '1',
custom_fee: '0.02',
cvv: '999',
surchargeRemoved: '0',
pan: '4111111111111111',
expiry_date: '1224',
epi: '2226388434',
avs: '1',
recursivePayment: 'false',
validateCard: '0',
'/?saleapi': ''
})
.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://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0200&amount=11.11&food_amount=0&tax=0.44&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0.02&cvv=999&surchargeRemoved=0&pan=4111111111111111&expiry_date=1224&epi=2226388434&avs=1&recursivePayment=false&validateCard=0&/?saleapi=");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
using RestSharp;
var options = new RestClientOptions("https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0200&amount=11.11&food_amount=0&tax=0.44&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0.02&cvv=999&surchargeRemoved=0&pan=4111111111111111&expiry_date=1224&epi=2226388434&avs=1&recursivePayment=false&validateCard=0&/?saleapi=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=0200&amount=11.11&food_amount=0&tax=0.44&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0.02&cvv=999&surchargeRemoved=0&pan=4111111111111111&expiry_date=1224&epi=2226388434&avs=1&recursivePayment=false&validateCard=0&/?saleapi="
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("accept", "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&mtype=0200&amount=11.11&food_amount=0&tax=0.44&city_tax=0&reduced_tax=0&surchargeIndicator=1&custom_fee=0.02&cvv=999&surchargeRemoved=0&pan=4111111111111111&expiry_date=1224&epi=2226388434&avs=1&recursivePayment=false&validateCard=0&/?saleapi=")
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
{
"error_no": "S00",
"success_url": true,
"error_code": "00",
"amount": "11.11",
"tax": "0.44",
"customfee": "0.02",
"msg": "APPROVED",
"desc": "APPROVAL TAS849 ",
"additional_info": null,
"clerk_id": null,
"clerk_name": null,
"clerk_label": null,
"additionalKeyOne": null,
"additionalKeyTwo": null,
"additionalValueOne": null,
"additionalValueTwo": null,
"approval_code": "TAS849",
"rrn": "328510500810",
"txnid": "5217792",
"tran_no": 13,
"stan": 131,
"is_partial_approve": 0,
"partial_amount": "000000001111",
"pan": "XXXX1111",
"card_type": null,
"phone_number": null,
"email_id": null,
"zip": null,
"card_holder_name": null,
"expiry_date": "12/24",
"address": null,
"epi": "2226388434",
"channel": "VT",
"token": "CE1B97D46F283B204C044DC474AAA70A749270AE",
"card_brand": "Visa",
"netamt": 11.569999999999999
}
Field Type Length Mandatory/Optional Example Value Description
uid Numeric 10 Mandatory 2223413579 A unique id of the request, A client can send any number of 10 digit
app_id String 32 Mandatory 464DA39FCFB44D54F6C1D22CEF9098E5 Application id, an unique id given for the application
auth_key String 32 Mandatory 15B8BCFDB337428792608354A1444050 Authorization key (API key) given for application contact [email protected]
auth_token String 32 Mandatory 8E1DDE8DE369812732E88C583B14D0C4 Authentication Token is a piece of information that verifies the identity of a user to a website
mtype Numeric 4 Mandatory 0200 Message type 0100
epi Numeric 10 Mandatory 2536419865 10 digit number will be generated as a part of merchant boarding
amount Numeric 10 Mandatory 100.50 Transaction amount (Maximum amount 99,999.99)
food_amount Numeric 4 Optional 10.00 Currency (Ex. 00.00) - Food amount should be less than to transaction amount
tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
city_tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
reduced_tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
surchargeIndicator Numeric 1 Mandatory 0 or 1 To enable or disable the surcharge fee (0 or 1)
custom_fee Numeric 4 Optional 4.00 Custom fee/surcharge fee if any - Optional
tip Numeric 4 Optional 5.00 TIP if any / Optional
cvv Numeric 4 Optional 523 or 4251 3 or 4 digits number
card_holder_name String 25 Optional Jackson Name of the cardholder
pan Numeric 19 Mandatory 4012881888818888 Customer card number 15 to 19 digits
expiry_date date 5 Mandatory 1225 Card expiry date, Accepted expiry MMYY or MM/YY
subscription_start_date date 0 Mandatory 2023-04-05 Customer subscription start date - YYYY-MM-DD
s_customerName String 25 Optional Jackson Shipping address customer name
b_customerName String 25 Optional Jackson Billing address customer name
recursivePaymentId Numeric 4 Optional 7129 Customer unique recursive payment id
avs String 10 Optional 13 Address verification service (zip, street address)
recursivePayment Boolean 5 Optional true or false Is recursive payment true or false
phone Number 10 Optional 8965342569 Customer phone number - 10 digit
email String 50 Optional [email protected] Customer email id - Varchar 255
username String 25 Optional test002 Customer user name
ip_address String 20 Optional 8:8:8:8 Merchant IP address- (Ex. 0.0.0.0)
s_street_no String 25 Optional 12-35 Shipping address street number - Number with hyphen
s_street_name String 25 Optional Corner Street Shipping address street name - Alphanumeric
s_unit Numeric 25 Optional 25 Ex. block no, apartment no
s_city Numeric 25 Optional New York Shipping address city - 15 chars
s_state String 25 Optional NY Shipping address state (2 chars capital)
s_zip Numeric 5 Optional 85364 Shipping address zip - 5 digit
b_street_no String 25 Optional 12-35 Billing address street number - Number with hyphen
b_street_name String 25 Optional Corner Street Billing address street name - Alphanumeric
b_unit Numeric 25 Optional 25 Ex. block no, apartment no
b_city Numeric 25 Optional New York Billing address city - 15 chars
b_state String 25 Optional NY Billing address state (2 chars capital).
b_zip Numeric 5 Optional 52468 Billing address zip - 5 digit
orderId Numeric 12 Optional sale or auth Order id for sale and auth
invoicenumber String 12 Optional 253647896512 Alphanumeric 12 chars
dataset_id Numeric 4 Optional 0 Line item against created dataset id
orderdescription String 50 Optional Ex.Comments Description of the order
validateCard int 1 Optional set 0 or 1 To validate the card
userid Numeric 4 Optional 13241 It is the userid of the merchant to be updated
Refund API
Refund transaction, used to give money back to the cardholder
https://vt-staging.valorpaytech.com:4430/?
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=refund&amount=100&city_tax=0&reduced_tax=0&surchargeIndicator=0&cvv=999&binType=1&surchargeRemoved=0&pan=4111111111111111&expiry_date=1225&epi=2226388434&avs=3&recursivePayment=false&s_street_no=2nd%20Avenue&b_street_no=123%20Avenue&dataset_id=0&validateCard=0&terms_checked=1&otp_app_id=464DA39FCFB44D54F6C1D22CEF9098E5&otp_api_key=15B8BCFDB337428792608354A1444050&uuid=6eEUjwWX8ETFdUhEDnnFW9zuNwzaxqVq&otp=542654&/refundapi?direct=', [
'headers' => [
'accept' => 'application/json',
],
]);
echo $response->getBody();
import requests
url = "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=refund&amount=100&city_tax=0&reduced_tax=0&surchargeIndicator=0&cvv=999&binType=1&surchargeRemoved=0&pan=4111111111111111&expiry_date=1225&epi=2226388434&avs=3&recursivePayment=false&s_street_no=2nd%20Avenue&b_street_no=123%20Avenue&dataset_id=0&validateCard=0&terms_checked=1&otp_app_id=464DA39FCFB44D54F6C1D22CEF9098E5&otp_api_key=15B8BCFDB337428792608354A1444050&uuid=6eEUjwWX8ETFdUhEDnnFW9zuNwzaxqVq&otp=542654&/refundapi?direct="
headers = {"accept": "application/json"}
response = requests.post(url, headers=headers)
print(response.text)
const fetch = require('node-fetch');
const url = 'https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=refund&amount=100&city_tax=0&reduced_tax=0&surchargeIndicator=0&cvv=999&binType=1&surchargeRemoved=0&pan=4111111111111111&expiry_date=1225&epi=2226388434&avs=3&recursivePayment=false&s_street_no=2nd%20Avenue&b_street_no=123%20Avenue&dataset_id=0&validateCard=0&terms_checked=1&otp_app_id=464DA39FCFB44D54F6C1D22CEF9098E5&otp_api_key=15B8BCFDB337428792608354A1444050&uuid=6eEUjwWX8ETFdUhEDnnFW9zuNwzaxqVq&otp=542654&/refundapi?direct=';
const options = {method: 'POST', headers: {accept: 'application/json'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error('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://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=refund&amount=100&city_tax=0&reduced_tax=0&surchargeIndicator=0&cvv=999&binType=1&surchargeRemoved=0&pan=4111111111111111&expiry_date=1225&epi=2226388434&avs=3&recursivePayment=false&s_street_no=2nd%20Avenue&b_street_no=123%20Avenue&dataset_id=0&validateCard=0&terms_checked=1&otp_app_id=464DA39FCFB44D54F6C1D22CEF9098E5&otp_api_key=15B8BCFDB337428792608354A1444050&uuid=6eEUjwWX8ETFdUhEDnnFW9zuNwzaxqVq&otp=542654&/refundapi?direct=");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
using RestSharp;
var options = new RestClientOptions("https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=refund&amount=100&city_tax=0&reduced_tax=0&surchargeIndicator=0&cvv=999&binType=1&surchargeRemoved=0&pan=4111111111111111&expiry_date=1225&epi=2226388434&avs=3&recursivePayment=false&s_street_no=2nd%20Avenue&b_street_no=123%20Avenue&dataset_id=0&validateCard=0&terms_checked=1&otp_app_id=464DA39FCFB44D54F6C1D22CEF9098E5&otp_api_key=15B8BCFDB337428792608354A1444050&uuid=6eEUjwWX8ETFdUhEDnnFW9zuNwzaxqVq&otp=542654&/refundapi?direct=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=refund&amount=100&city_tax=0&reduced_tax=0&surchargeIndicator=0&cvv=999&binType=1&surchargeRemoved=0&pan=4111111111111111&expiry_date=1225&epi=2226388434&avs=3&recursivePayment=false&s_street_no=2nd%20Avenue&b_street_no=123%20Avenue&dataset_id=0&validateCard=0&terms_checked=1&otp_app_id=464DA39FCFB44D54F6C1D22CEF9098E5&otp_api_key=15B8BCFDB337428792608354A1444050&uuid=6eEUjwWX8ETFdUhEDnnFW9zuNwzaxqVq&otp=542654&/refundapi?direct="
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("accept", "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&mtype=refund&amount=100&city_tax=0&reduced_tax=0&surchargeIndicator=0&cvv=999&binType=1&surchargeRemoved=0&pan=4111111111111111&expiry_date=1225&epi=2226388434&avs=3&recursivePayment=false&s_street_no=2nd%20Avenue&b_street_no=123%20Avenue&dataset_id=0&validateCard=0&terms_checked=1&otp_app_id=464DA39FCFB44D54F6C1D22CEF9098E5&otp_api_key=15B8BCFDB337428792608354A1444050&uuid=6eEUjwWX8ETFdUhEDnnFW9zuNwzaxqVq&otp=542654&/refundapi?direct=")
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
{
"error_no": "S00",
"error_code": "00",
"amount": "100.00",
"msg": "APPROVED",
"desc": " NO MATCH ",
"additional_info": null,
"epi": "2319914861",
"channel": "VT",
"rrn": "328911501243",
"txnid": "5227750"
}
Field Type Length Mandatory/Optional Example Value Description
uid Numeric 10 Mandatory 2223413579 A unique id of the request, A client can send any number of 10 digit
app_id String 32 Mandatory 464DA39FCFB44D54F6C1D22CEF9098E5 Application id, an unique id given for the application
auth_key String 32 Mandatory 15B8BCFDB337428792608354A1444050 Authorization key (API key) given for application contact [email protected]
auth_token String 32 Mandatory 8E1DDE8DE369812732E88C583B14D0C4 Authentication Token is a piece of information that verifies the identity of a user to a website
mtype Numeric 4 Mandatory 0200 Message type 0100
epi Numeric 10 Mandatory 2536419865 10 digit number will be generated as a part of merchant boarding
amount Numeric 10 Mandatory 100.50 Transaction amount (Maximum amount 99,999.99)
food_amount Numeric 4 Optional 10.00 Currency (Ex. 00.00) - Food amount should be less than to transaction amount
tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
city_tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
reduced_tax Numeric 4 Optional 10.00 Currency - (Ex. 00.00)
surchargeIndicator Numeric 1 Mandatory 0 or 1 To enable or disable the surcharge fee (0 or 1)
custom_fee Numeric 4 Optional 4.00 Custom fee/surcharge fee if any - Optional
tip Numeric 4 Optional 5.00 TIP if any / Optional
cvv Numeric 4 Optional 523 or 4251 3 or 4 digits number
card_holder_name String 25 Optional Jackson Name of the cardholder
pan Numeric 19 Mandatory 4012881888818888 Customer card number 15 to 19 digits
expiry_date date 5 Mandatory 1225 Card expiry date, Accepted expiry MMYY or MM/YY
subscription_start_date date 0 Mandatory 2023-04-05 Customer subscription start date - YYYY-MM-DD
s_customerName String 25 Optional Jackson Shipping address customer name
b_customerName String 25 Optional Jackson Billing address customer name
recursivePaymentId Numeric 4 Optional 7129 Customer unique recursive payment id
avs String 10 Optional 13 Address verification service (zip, street address)
recursivePayment Boolean 5 Optional true or false Is recursive payment true or false
phone Number 10 Optional 8965342569 Customer phone number - 10 digit
email String 50 Optional [email protected] Customer email id - Varchar 255
username String 25 Optional test002 Customer user name
ip_address String 20 Optional 8:8:8:8 Merchant IP address- (Ex. 0.0.0.0)
s_street_no String 25 Optional 12-35 Shipping address street number - Number with hyphen
s_street_name String 25 Optional Corner Street Shipping address street name - Alphanumeric
s_unit Numeric 25 Optional 25 Ex. block no, apartment no
s_city Numeric 25 Optional New York Shipping address city - 15 chars
s_state String 25 Optional NY Shipping address state (2 chars capital)
s_zip Numeric 5 Optional 85364 Shipping address zip - 5 digit
b_street_no String 25 Optional 12-35 Billing address street number - Number with hyphen
b_street_name String 25 Optional Corner Street Billing address street name - Alphanumeric
b_unit Numeric 25 Optional 25 Ex. block no, apartment no
b_city Numeric 25 Optional New York Billing address city - 15 chars
b_state String 25 Optional NY Billing address state (2 chars capital).
b_zip Numeric 5 Optional 52468 Billing address zip - 5 digit
orderId Numeric 12 Optional sale or auth Order id for sale and auth
invoicenumber String 12 Optional 253647896512 Alphanumeric 12 chars
dataset_id Numeric 4 Optional 0 Line item against created dataset id
orderdescription String 50 Optional Ex.Comments Description of the order
validateCard int 1 Optional set 0 or 1 To validate the card
userid Numeric 4 Optional 13241 It is the userid of the merchant to be updated
otp_api_key Numeric 32 Mandatory 10C8BCVDB337428792608354A14440T0 Refund otp API key
otp_app_id Numeric 32 Mandatory 864DA39FCFB44DR4F6C1D28CEF9098EJ Refund otp APP Id
otp Numeric 6 Mandatory 253647 Refund Otp (6 digit)
Settlement API
The payment gateway settlement is the process where the payment gateway proceeds to pay merchants for transactions processing performed during a specific period.
https://vt-staging.valorpaytech.com:4430/?
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=settlement&epi=2226388434&/?settlementapi=', [
'headers' => [
'accept' => 'application/json',
],
]);
echo $response->getBody();
import requests
url = "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=settlement&epi=2226388434&/?settlementapi="
headers = {"accept": "application/json"}
response = requests.post(url, headers=headers)
print(response.text)
const sdk = require('api')('@valorapi/v1.0#4p5423lnn4s57h');
sdk.settlementApi({
app_id: '464DA39FCFB44D54F6C1D22CEF9098E5',
auth_token: '8E1DDE8DE369812732E88C583B14D0C4',
auth_key: '15B8BCFDB337428792608354A1444050',
mtype: 'settlement',
epi: '2226388434',
'/?settlementapi': ''
})
.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://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=settlement&epi=2226388434&/?settlementapi=");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
using RestSharp;
var options = new RestClientOptions("https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=settlement&epi=2226388434&/?settlementapi=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&mtype=settlement&epi=2226388434&/?settlementapi="
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("accept", "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&mtype=settlement&epi=2226388434&/?settlementapi=")
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
{
"error_no": "S00",
"error_code": "00",
"amount": "0.00",
"msg": "APPROVED",
"desc": null,
"additional_info": null,
"epi": "2313185814",
"channel": "VT"
}
Field Type Length Mandatory/Optional Example Value Description
app_id String 32 Mandatory 464DA39FCFB44D54F6C1D22CEF9098E5 Application id, an unique id given for the application
auth_token String 32 Mandatory 8E1DDE8DE369812732E88C583B14D0C4 Authentication Token is a piece of information that verifies the identity of a user to a website
auth_key String 32 Mandatory 15B8BCFDB337428792608354A1444050 Authorization key (API key) given for application contact [email protected]
uid Numeric 10 Mandatory 2223413579 A unique id of the request, A client can send any number of 10 digit
mtype Numeric 4 Mandatory 0100 Message type 0100
epi Numeric 10 Optional 2536419865 The unique id refers to a particular store of the merchant
Add/Edit Subscription API
Create a payment slot for each subscription
https://vt-staging.valorpaytech.com:4430/?
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://demo.valorpaytech.com/api/virtualTerminal/virtualTerminalDetails', [
'body' => '{"data":{"cardDetails":{"number":"4111 1111 1111 1111","cardType":"visa","name":"","expiry":"12/25","cvc":"999","cardTypeValue":"D"},"shippingAddress":{"customerName":"bevin","streetNo":"2nd Avenue","streetName":"Newland","streetUnit":"2","city":"","state":"","zipCode":"50001"},"billingAddress":{"customerName":"bevin","streetNo":"2nd Avenue","streetName":"Newland","streetUnit":"2","city":"","state":"","zipCode":"50001"},"orderDetails":{"orderId":"","invoiceNumber":"","description":""},"transactionEntry":{"amount":"123.33","foodAmount":"0.00","manualStateTax":"0.00","manualCityTax":"0.00","manualReducedTax":"0.00","purchaseAmount":"0.00","firstName":"","lastName":"","phoneNo":"","email":""},"ponumberData":[],"ponumberTab":false,"mtype":"0200","modifierData":[],"reduced_tax":"0.00","city_tax":"0.00","epi":"2226388434","isEdit":false,"cardEdit":false,"validateCard":"0","recursiveBill":true,"cardBrand":"visa","isAddress":true,"dayofmonth":20,"cardCharges":500,"paymentType":1,"chargeMonths":6,"upcomingpayment":"2023/11/02","StartDate":"2023/10/03","recurringType":2,"surchargeIndicator":2,"surchargeRemoved":"0","username":"John Smith","descriptor":"RENIO","avs":"2","tax":5.03,"customFee":3.5}}',
'headers' => [
'accept' => 'application/json',
'app_id' => '3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt',
'auth_key' => 'fTEwjdq00catWyCksPo1Jso0zLtJOOI5',
'authtoken' => '048dcae0-31bf-11ee-ada7-d3c80876c7ed',
'content-type' => 'application/json',
],
]);
echo $response->getBody();
import requests
url = "https://demo.valorpaytech.com/api/virtualTerminal/virtualTerminalDetails"
payload = { "data": {
"cardDetails": {
"number": "4111 1111 1111 1111",
"cardType": "visa",
"name": "",
"expiry": "12/25",
"cvc": "999",
"cardTypeValue": "D"
},
"shippingAddress": {
"customerName": "bevin",
"streetNo": "2nd Avenue",
"streetName": "Newland",
"streetUnit": "2",
"city": "",
"state": "",
"zipCode": "50001"
},
"billingAddress": {
"customerName": "bevin",
"streetNo": "2nd Avenue",
"streetName": "Newland",
"streetUnit": "2",
"city": "",
"state": "",
"zipCode": "50001"
},
"orderDetails": {
"orderId": "",
"invoiceNumber": "",
"description": ""
},
"transactionEntry": {
"amount": "123.33",
"foodAmount": "0.00",
"manualStateTax": "0.00",
"manualCityTax": "0.00",
"manualReducedTax": "0.00",
"purchaseAmount": "0.00",
"firstName": "",
"lastName": "",
"phoneNo": "",
"email": ""
},
"ponumberData": [],
"ponumberTab": False,
"mtype": "0200",
"modifierData": [],
"reduced_tax": "0.00",
"city_tax": "0.00",
"epi": "2226388434",
"isEdit": False,
"cardEdit": False,
"validateCard": "0",
"recursiveBill": True,
"cardBrand": "visa",
"isAddress": True,
"dayofmonth": 20,
"cardCharges": 500,
"paymentType": 1,
"chargeMonths": 6,
"upcomingpayment": "2023/11/02",
"StartDate": "2023/10/03",
"recurringType": 2,
"surchargeIndicator": 2,
"surchargeRemoved": "0",
"username": "John Smith",
"descriptor": "RENIO",
"avs": "2",
"tax": 5.03,
"customFee": 3.5
} }
headers = {
"accept": "application/json",
"app_id": "3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt",
"auth_key": "fTEwjdq00catWyCksPo1Jso0zLtJOOI5",
"authtoken": "048dcae0-31bf-11ee-ada7-d3c80876c7ed",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const sdk = require('api')('@valorapi/v1.0#1d2w1k16lnn6cakt');
sdk.addeditSubscriptionApi({
data: {
cardDetails: {
number: '4111 1111 1111 1111',
cardType: 'visa',
name: '',
expiry: '12/25',
cvc: '999',
cardTypeValue: 'D'
},
shippingAddress: {
customerName: 'bevin',
streetNo: '2nd Avenue',
streetName: 'Newland',
streetUnit: '2',
city: '',
state: '',
zipCode: '50001'
},
billingAddress: {
customerName: 'bevin',
streetNo: '2nd Avenue',
streetName: 'Newland',
streetUnit: '2',
city: '',
state: '',
zipCode: '50001'
},
orderDetails: {
orderId: '',
invoiceNumber: '',
description: ''
},
transactionEntry: {
amount: '123.33',
foodAmount: '0.00',
manualStateTax: '0.00',
manualCityTax: '0.00',
manualReducedTax: '0.00',
purchaseAmount: '0.00',
firstName: '',
lastName: '',
phoneNo: '',
email: ''
},
ponumberData: [],
ponumberTab: false,
mtype: '0200',
modifierData: [],
reduced_tax: '0.00',
city_tax: '0.00',
epi: '2226388434',
isEdit: false,
cardEdit: false,
validateCard: '0',
recursiveBill: true,
cardBrand: 'visa',
isAddress: true,
dayofmonth: 20,
cardCharges: 500,
paymentType: 1,
chargeMonths: 6,
upcomingpayment: '2023/11/02',
StartDate: '2023/10/03',
recurringType: 2,
surchargeIndicator: 2,
surchargeRemoved: '0',
username: 'John Smith',
descriptor: 'RENIO',
avs: '2',
tax: 5.03,
customFee: 3.5
}
}, {
app_id: '3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt',
auth_key: 'fTEwjdq00catWyCksPo1Jso0zLtJOOI5',
authtoken: '048dcae0-31bf-11ee-ada7-d3c80876c7ed'
})
.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/virtualTerminal/virtualTerminalDetails");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "app_id: 3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt");
headers = curl_slist_append(headers, "auth_key: fTEwjdq00catWyCksPo1Jso0zLtJOOI5");
headers = curl_slist_append(headers, "authtoken: 048dcae0-31bf-11ee-ada7-d3c80876c7ed");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"data\":{\"cardDetails\":{\"number\":\"4111 1111 1111 1111\",\"cardType\":\"visa\",\"name\":\"\",\"expiry\":\"12/25\",\"cvc\":\"999\",\"cardTypeValue\":\"D\"},\"shippingAddress\":{\"customerName\":\"bevin\",\"streetNo\":\"2nd Avenue\",\"streetName\":\"Newland\",\"streetUnit\":\"2\",\"city\":\"\",\"state\":\"\",\"zipCode\":\"50001\"},\"billingAddress\":{\"customerName\":\"bevin\",\"streetNo\":\"2nd Avenue\",\"streetName\":\"Newland\",\"streetUnit\":\"2\",\"city\":\"\",\"state\":\"\",\"zipCode\":\"50001\"},\"orderDetails\":{\"orderId\":\"\",\"invoiceNumber\":\"\",\"description\":\"\"},\"transactionEntry\":{\"amount\":\"123.33\",\"foodAmount\":\"0.00\",\"manualStateTax\":\"0.00\",\"manualCityTax\":\"0.00\",\"manualReducedTax\":\"0.00\",\"purchaseAmount\":\"0.00\",\"firstName\":\"\",\"lastName\":\"\",\"phoneNo\":\"\",\"email\":\"\"},\"ponumberData\":[],\"ponumberTab\":false,\"mtype\":\"0200\",\"modifierData\":[],\"reduced_tax\":\"0.00\",\"city_tax\":\"0.00\",\"epi\":\"2226388434\",\"isEdit\":false,\"cardEdit\":false,\"validateCard\":\"0\",\"recursiveBill\":true,\"cardBrand\":\"visa\",\"isAddress\":true,\"dayofmonth\":20,\"cardCharges\":500,\"paymentType\":1,\"chargeMonths\":6,\"upcomingpayment\":\"2023/11/02\",\"StartDate\":\"2023/10/03\",\"recurringType\":2,\"surchargeIndicator\":2,\"surchargeRemoved\":\"0\",\"username\":\"John Smith\",\"descriptor\":\"RENIO\",\"avs\":\"2\",\"tax\":5.03,\"customFee\":3.5}}");
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://demo.valorpaytech.com/api/virtualTerminal/virtualTerminalDetails");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "app_id: 3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt");
headers = curl_slist_append(headers, "auth_key: fTEwjdq00catWyCksPo1Jso0zLtJOOI5");
headers = curl_slist_append(headers, "authtoken: 048dcae0-31bf-11ee-ada7-d3c80876c7ed");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"data\":{\"cardDetails\":{\"number\":\"4111 1111 1111 1111\",\"cardType\":\"visa\",\"name\":\"\",\"expiry\":\"12/25\",\"cvc\":\"999\",\"cardTypeValue\":\"D\"},\"shippingAddress\":{\"customerName\":\"bevin\",\"streetNo\":\"2nd Avenue\",\"streetName\":\"Newland\",\"streetUnit\":\"2\",\"city\":\"\",\"state\":\"\",\"zipCode\":\"50001\"},\"billingAddress\":{\"customerName\":\"bevin\",\"streetNo\":\"2nd Avenue\",\"streetName\":\"Newland\",\"streetUnit\":\"2\",\"city\":\"\",\"state\":\"\",\"zipCode\":\"50001\"},\"orderDetails\":{\"orderId\":\"\",\"invoiceNumber\":\"\",\"description\":\"\"},\"transactionEntry\":{\"amount\":\"123.33\",\"foodAmount\":\"0.00\",\"manualStateTax\":\"0.00\",\"manualCityTax\":\"0.00\",\"manualReducedTax\":\"0.00\",\"purchaseAmount\":\"0.00\",\"firstName\":\"\",\"lastName\":\"\",\"phoneNo\":\"\",\"email\":\"\"},\"ponumberData\":[],\"ponumberTab\":false,\"mtype\":\"0200\",\"modifierData\":[],\"reduced_tax\":\"0.00\",\"city_tax\":\"0.00\",\"epi\":\"2226388434\",\"isEdit\":false,\"cardEdit\":false,\"validateCard\":\"0\",\"recursiveBill\":true,\"cardBrand\":\"visa\",\"isAddress\":true,\"dayofmonth\":20,\"cardCharges\":500,\"paymentType\":1,\"chargeMonths\":6,\"upcomingpayment\":\"2023/11/02\",\"StartDate\":\"2023/10/03\",\"recurringType\":2,\"surchargeIndicator\":2,\"surchargeRemoved\":\"0\",\"username\":\"John Smith\",\"descriptor\":\"RENIO\",\"avs\":\"2\",\"tax\":5.03,\"customFee\":3.5}}");
CURLcode ret = curl_easy_perform(hnd);
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://demo.valorpaytech.com/api/virtualTerminal/virtualTerminalDetails"
payload := strings.NewReader("{\"data\":{\"cardDetails\":{\"number\":\"4111 1111 1111 1111\",\"cardType\":\"visa\",\"name\":\"\",\"expiry\":\"12/25\",\"cvc\":\"999\",\"cardTypeValue\":\"D\"},\"shippingAddress\":{\"customerName\":\"bevin\",\"streetNo\":\"2nd Avenue\",\"streetName\":\"Newland\",\"streetUnit\":\"2\",\"city\":\"\",\"state\":\"\",\"zipCode\":\"50001\"},\"billingAddress\":{\"customerName\":\"bevin\",\"streetNo\":\"2nd Avenue\",\"streetName\":\"Newland\",\"streetUnit\":\"2\",\"city\":\"\",\"state\":\"\",\"zipCode\":\"50001\"},\"orderDetails\":{\"orderId\":\"\",\"invoiceNumber\":\"\",\"description\":\"\"},\"transactionEntry\":{\"amount\":\"123.33\",\"foodAmount\":\"0.00\",\"manualStateTax\":\"0.00\",\"manualCityTax\":\"0.00\",\"manualReducedTax\":\"0.00\",\"purchaseAmount\":\"0.00\",\"firstName\":\"\",\"lastName\":\"\",\"phoneNo\":\"\",\"email\":\"\"},\"ponumberData\":[],\"ponumberTab\":false,\"mtype\":\"0200\",\"modifierData\":[],\"reduced_tax\":\"0.00\",\"city_tax\":\"0.00\",\"epi\":\"2226388434\",\"isEdit\":false,\"cardEdit\":false,\"validateCard\":\"0\",\"recursiveBill\":true,\"cardBrand\":\"visa\",\"isAddress\":true,\"dayofmonth\":20,\"cardCharges\":500,\"paymentType\":1,\"chargeMonths\":6,\"upcomingpayment\":\"2023/11/02\",\"StartDate\":\"2023/10/03\",\"recurringType\":2,\"surchargeIndicator\":2,\"surchargeRemoved\":\"0\",\"username\":\"John Smith\",\"descriptor\":\"RENIO\",\"avs\":\"2\",\"tax\":5.03,\"customFee\":3.5}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("accept", "application/json")
req.Header.Add("app_id", "3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt")
req.Header.Add("auth_key", "fTEwjdq00catWyCksPo1Jso0zLtJOOI5")
req.Header.Add("authtoken", "048dcae0-31bf-11ee-ada7-d3c80876c7ed")
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/virtualTerminal/virtualTerminalDetails")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["app_id"] = '3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt'
request["auth_key"] = 'fTEwjdq00catWyCksPo1Jso0zLtJOOI5'
request["authtoken"] = '048dcae0-31bf-11ee-ada7-d3c80876c7ed'
request["content-type"] = 'application/json'
request.body = "{\"data\":{\"cardDetails\":{\"number\":\"4111 1111 1111 1111\",\"cardType\":\"visa\",\"name\":\"\",\"expiry\":\"12/25\",\"cvc\":\"999\",\"cardTypeValue\":\"D\"},\"shippingAddress\":{\"customerName\":\"bevin\",\"streetNo\":\"2nd Avenue\",\"streetName\":\"Newland\",\"streetUnit\":\"2\",\"city\":\"\",\"state\":\"\",\"zipCode\":\"50001\"},\"billingAddress\":{\"customerName\":\"bevin\",\"streetNo\":\"2nd Avenue\",\"streetName\":\"Newland\",\"streetUnit\":\"2\",\"city\":\"\",\"state\":\"\",\"zipCode\":\"50001\"},\"orderDetails\":{\"orderId\":\"\",\"invoiceNumber\":\"\",\"description\":\"\"},\"transactionEntry\":{\"amount\":\"123.33\",\"foodAmount\":\"0.00\",\"manualStateTax\":\"0.00\",\"manualCityTax\":\"0.00\",\"manualReducedTax\":\"0.00\",\"purchaseAmount\":\"0.00\",\"firstName\":\"\",\"lastName\":\"\",\"phoneNo\":\"\",\"email\":\"\"},\"ponumberData\":[],\"ponumberTab\":false,\"mtype\":\"0200\",\"modifierData\":[],\"reduced_tax\":\"0.00\",\"city_tax\":\"0.00\",\"epi\":\"2226388434\",\"isEdit\":false,\"cardEdit\":false,\"validateCard\":\"0\",\"recursiveBill\":true,\"cardBrand\":\"visa\",\"isAddress\":true,\"dayofmonth\":20,\"cardCharges\":500,\"paymentType\":1,\"chargeMonths\":6,\"upcomingpayment\":\"2023/11/02\",\"StartDate\":\"2023/10/03\",\"recurringType\":2,\"surchargeIndicator\":2,\"surchargeRemoved\":\"0\",\"username\":\"John Smith\",\"descriptor\":\"RENIO\",\"avs\":\"2\",\"tax\":5.03,\"customFee\":3.5}}"
response = http.request(request)
puts response.read_body
{
"status": "OK",
"message": "Successfully",
"data": {
"error_no": "S00",
"success_url": true,
"error_code": "00",
"amount": "5.00",
"tax": "0",
"customfee": "0",
"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": "TAS718",
"rrn": "328512500645",
"txnid": "5218176",
"tran_no": 1,
"stan": 163,
"is_partial_approve": 0,
"partial_amount": "000000000500",
"pan": "XXXX1111",
"card_type": null,
"phone_number": "",
"email_id": "",
"zip": null,
"card_holder_name": "",
"expiry_date": "12/25",
"address": null,
"epi": "2226388434",
"channel": "VT",
"token": "749B07C96052DF0461492249157229767BF6645C",
"card_brand": "Visa",
"netamt": 5,
"upcomingDateVals": [
"11/2/2023",
" 8:32:00 AM"
]
}
}
Field Type Length Mandatory Example Value Description
/ Optional
app_id String 32 Mandatory 464DA39FCFB44D54F6C1D22CEF9098E5 Application id, an unique id given for the application
auth_token String 32 Mandatory 2c5b3f70-ddb5-11ed-b9d8-fb10efc0ec46 Authentication Token is a piece of information that verifies the identity of a user to a website
auth_key String 32 Mandatory 15B8BCFDB337428792608354A1444050 Authorization key (API key) given for application contact [email protected]
subscription_id Numeric 4 Mandatory 1234 A unique id for each subscriber DO NOT SEND if mtype is addsubscription
uid Numeric 10 Mandatory 2223413579 A unique id of the request, A client can send any number of 10 digit
amount Numeric 7 Mandatory 100.00 Currency (Maximum amount 99,999.99)
custom_fee Numeric 4 Mandatory 10.00 Currency
tax Numeric 4 Mandatory 4.00 Currency
mtype String 4 Mandatory addsubscription Message type "addsubscription" or "editsubscription"
epi Numeric 10 Mandatory 2536419865 Epi number
pan Numeric 16 Mandatory 4111111111111111 Card number
expiry_date Numeric 4 Mandatory 1225 MMYY
cvv Numeric 3 Mandatory 999 Card verification value
card_holder_name String 25 Optional Jackson Name on the card
descriptor String 10 Optional Eg.Comments Soft descriptor, cardholder see this in their statement,this is
subject to the issuer bank
invoice_no String 12 Mandatory 253647896512 Alphanumeric 12
product_description String 25 Optional Eg.Comments Alphanumeric 25
shipping_customer_name String 25 Mandatory Jackson Alphanumeric
shipping_street_no String 25 Mandatory 12-35 Number with hyphen
shipping_street_name String 25 Mandatory Corner Street Alphanumeric
shipping_unit Numeric 25 Optional 25 Numeric
shipping_zip Numeric 6 Mandatory 52468 Numeric
shipping_city String 15 Optional New York Characters 15
shipping_state String 25 Optional NY 2 chars capital
billing_customer_name String 32 Mandatory Jackson Alphanumeric 32
billing_street_no Numeric 25 Mandatory 12-35 Number with hyphen
billing_street_name String 25 Mandatory Corner Street Alphanumeric
billing_unit Numeric 25 Optional 25 Numeric
billing_zip Numeric 6 Mandatory 52468 Numeric
billing_city String 15 Optional New York Characters 15
billing_state String 15 Optional NY 2 chars capital
subscription_day_of_the_month Numeric 2 Mandatory 02 2 digit number refers the day of the month
subscription_starts_from Numeric 8 Mandatory 2023-04-13 YYYY-MM-DD
subscription_valid_for Numeric 6 Mandatory 2023-06-13 Number Example: 6 for 6 months 0 for never expire
phone Numeric 10 Optional 1234567890 10digit number
email String 255 Optional [email protected] Varchar 255
surchargeIndicator Numeric 1 Mandatory 1 Either 0 or 1
List Subscription API
https://vt-staging.valorpaytech.com:4430?
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://vt-staging.valorpaytech.com:4430/?app_id=3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt&auth_token=048dcae0-31bf-11ee-ada7-d3c80876c7ed&auth_key=fTEwjdq00catWyCksPo1Jso0zLtJOOI5&subscription_id=7171&mtype=listsubscription&epi=2226388434&active=true&start_date=04%2F01%2F23&/?listsubsc=', [
'headers' => [
'accept' => 'application/json',
],
]);
echo $response->getBody();
import requests
url = "https://vt-staging.valorpaytech.com:4430/?app_id=3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt&auth_token=048dcae0-31bf-11ee-ada7-d3c80876c7ed&auth_key=fTEwjdq00catWyCksPo1Jso0zLtJOOI5&subscription_id=7171&mtype=listsubscription&epi=2226388434&active=true&start_date=04%2F01%2F23&/?listsubsc="
headers = {"accept": "application/json"}
response = requests.post(url, headers=headers)
print(response.text)
const sdk = require('api')('@valorapi/v1.0#4p5423lnn4s57h');
sdk.listSubscriptionApi({
app_id: '3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt',
auth_token: '048dcae0-31bf-11ee-ada7-d3c80876c7ed',
auth_key: 'fTEwjdq00catWyCksPo1Jso0zLtJOOI5',
subscription_id: '7171',
mtype: 'listsubscription',
epi: '2226388434',
active: 'true',
start_date: '04%2F01%2F23',
'/?listsubsc': ''
})
.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://vt-staging.valorpaytech.com:4430/?app_id=3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt&auth_token=048dcae0-31bf-11ee-ada7-d3c80876c7ed&auth_key=fTEwjdq00catWyCksPo1Jso0zLtJOOI5&subscription_id=7171&mtype=listsubscription&epi=2226388434&active=true&start_date=04%2F01%2F23&/?listsubsc=");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
using RestSharp;
var options = new RestClientOptions("https://vt-staging.valorpaytech.com:4430/?app_id=3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt&auth_token=048dcae0-31bf-11ee-ada7-d3c80876c7ed&auth_key=fTEwjdq00catWyCksPo1Jso0zLtJOOI5&subscription_id=7171&mtype=listsubscription&epi=2226388434&active=true&start_date=04%2F01%2F23&/?listsubsc=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vt-staging.valorpaytech.com:4430/?app_id=3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt&auth_token=048dcae0-31bf-11ee-ada7-d3c80876c7ed&auth_key=fTEwjdq00catWyCksPo1Jso0zLtJOOI5&subscription_id=7171&mtype=listsubscription&epi=2226388434&active=true&start_date=04%2F01%2F23&/?listsubsc="
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("accept", "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=3j8Q4YNrPRWLXCg7Uv75HDf0ItNE6bdt&auth_token=048dcae0-31bf-11ee-ada7-d3c80876c7ed&auth_key=fTEwjdq00catWyCksPo1Jso0zLtJOOI5&subscription_id=7171&mtype=listsubscription&epi=2226388434&active=true&start_date=04%2F01%2F23&/?listsubsc=")
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
{
"records": [
{
"subscription_id": "11738",
"amount": "200",
"custom_fee": "3.5000",
"tax": "5.0300",
"invoice_number": "",
"product_description": "",
"shipping_customer_name": "bevin",
"shipping_street_no": "2nd Avenue",
"shipping_street_name": "Newland",
"shipping_unit": "2",
"shipping_city": "",
"shipping_state": "",
"shipping_zipcode": "50001",
"billing_customerName": "bevin",
"billing_street_no": "2nd Avenue",
"billing_street_name": "Newland",
"billing_unit": "2",
"billing_city": "",
"billing_state": "",
"billing_zipcode": "50001",
"subscription_day_of_the_month": "20",
"subscription_starts_from": "2023-10-03",
"subscription_valid_for": "6",
"phone": "",
"email": "",
"no_of_failed_attempts": "0",
"status": "1",
"card_number": "XXXX1111",
"total_no_of_payments": "0",
"forfeit": "0",
"forfeit_date": null
}
],
"error_no": "S00",
"error_code": "00"
}
Field Type Length Mandatory Example Value Description
/ Optional
app_id String 32 Mandatory 464DA39FCFB44D54F6C1D22CEF9098E5 Application id, an unique id given for the application
auth_token String 32 Mandatory 2c5b3f70-ddb5-11ed-b9d8-fb10efc0ec46 Authentication Token is a piece of information that verifies the identity of a user to a website
auth_key String 32 Mandatory 15B8BCFDB337428792608354A1444050 Authorization key (API key) given for application contact [email protected]
subscription_id String 4 Optional 1234 OPTIONAL if leave it empty then the report will deliver all subscription
mtype Numeric 4 Mandatory listsubscription Message type listsubscription
active Boolean 2 Optional true True or false ( if true then it will show only active subscription ,
false then it will show all subscription )
start_date Numeric 8 Mandatory 2023-04-17 YYYYMMDD show subscription which is from the start_date
Void API
https://vt-staging.valorpaytech.com:4430?
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&uid=0553198707&epi=2226388434&rrn=328604501398&userid=12043&auth_code=TAS204&pos_entry_mode=012&surchargeIndicator=1&mtype=void&pos_condition_code=8&tran_no=5&amount=1000&stan=233&tax=0&custom_fee=10&tip_amount=0&/?void=', [
'headers' => [
'accept' => 'application/json',
],
]);
echo $response->getBody();
import requests
url = "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&uid=0553198707&epi=2226388434&rrn=328604501398&userid=12043&auth_code=TAS204&pos_entry_mode=012&surchargeIndicator=1&mtype=void&pos_condition_code=8&tran_no=5&amount=1000&stan=233&tax=0&custom_fee=10&tip_amount=0&/?void="
headers = {"accept": "application/json"}
response = requests.post(url, headers=headers)
print(response.text)
const sdk = require('api')('@valorapi/v1.0#4p5423lnn4s57h');
sdk.voidApi({
app_id: '464DA39FCFB44D54F6C1D22CEF9098E5',
auth_token: '8E1DDE8DE369812732E88C583B14D0C4',
auth_key: '15B8BCFDB337428792608354A1444050',
uid: '0553198707',
epi: '2226388434',
rrn: '328604501398',
userid: '12043',
auth_code: 'TAS204',
pos_entry_mode: '012',
surchargeIndicator: '1',
mtype: 'void',
pos_condition_code: '8',
tran_no: '5',
amount: '1000',
stan: '233',
tax: '0',
custom_fee: '10',
tip_amount: '0',
'/?void': ''
})
.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://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&uid=0553198707&epi=2226388434&rrn=328604501398&userid=12043&auth_code=TAS204&pos_entry_mode=012&surchargeIndicator=1&mtype=void&pos_condition_code=8&tran_no=5&amount=1000&stan=233&tax=0&custom_fee=10&tip_amount=0&/?void=");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
using RestSharp;
var options = new RestClientOptions("https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&uid=0553198707&epi=2226388434&rrn=328604501398&userid=12043&auth_code=TAS204&pos_entry_mode=012&surchargeIndicator=1&mtype=void&pos_condition_code=8&tran_no=5&amount=1000&stan=233&tax=0&custom_fee=10&tip_amount=0&/?void=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vt-staging.valorpaytech.com:4430/?app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_token=8E1DDE8DE369812732E88C583B14D0C4&auth_key=15B8BCFDB337428792608354A1444050&uid=0553198707&epi=2226388434&rrn=328604501398&userid=12043&auth_code=TAS204&pos_entry_mode=012&surchargeIndicator=1&mtype=void&pos_condition_code=8&tran_no=5&amount=1000&stan=233&tax=0&custom_fee=10&tip_amount=0&/?void="
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("accept", "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&uid=0553198707&epi=2226388434&rrn=328604501398&userid=12043&auth_code=TAS204&pos_entry_mode=012&surchargeIndicator=1&mtype=void&pos_condition_code=8&tran_no=5&amount=1000&stan=233&tax=0&custom_fee=10&tip_amount=0&/?void=")
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
{
"error_no": "S00",
"error_code": "00",
"amount": "567.67",
"msg": "APPROVED",
"desc": "APPROVAL TAS191 ",
"additional_info": null,
"epi": "2313185814",
"channel": "VT",
"rrn": "328604501386",
"txnid": "5221304"
}
Field Type Length Mandatory Example Value Description
/ Optional
app_id String 32 Mandatory 464DA39FCFB44D54F6C1D22CEF9098E5 Application id, an unique id given for the application
auth_token String 32 Mandatory 2c5b3f70-ddb5-11ed-b9d8-fb10efc0ec46 Authentication Token is a piece of information that verifies the identity of a user to a website
auth_key String 32 Mandatory 15B8BCFDB337428792608354A1444050 Authorization key (API key) given for application contact [email protected]
uid Numeric 10 Mandatory 2223413579 A unique id of the request, A client can send any number of 10 digit
epi Numeric 10 Mandatory 2536419865 10 digit device identifier
rrn Numeric 12 Mandatory 310315503952 12 digit reference number of original transaction
auth_code String 6 Mandatory TAS623 Authorization code
pos_entry_mode Numeric 3 Mandatory 012 Pos entry mode = 012
mtype Numeric 4 Mandatory void Message type void
tran_no Numeric 2 Mandatory 10 Transaction number
stan Numeric 1 Mandatory 125 STAN number
custom_fee Numeric 4 Optional 10.00 Custom fee/surcharge fee if any ( OPTIONAL )
Closed Batch API
https://vt-staging.valorpaytech.com:4430?
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://vt-staging.valorpaytech.com:4430/?batchID=118858&batchNO=39&auth_token=f8ec0e50-6831-11ee-b69e-07ff5d348884&mtype=getclosebatch&epi=2319914786&limit=20&offset=0&app_id=ZLC6pTITTJ4MlTAo2DpnPlEZwttgm4vp&appkey=xtG5iGg0SHVGhXHI30Hz5VKG2bolU5Mq&storeid=17358&/?closedbatch=', [
'headers' => [
'accept' => 'application/json',
],
]);
echo $response->getBody();
import requests
url = "https://vt-staging.valorpaytech.com:4430/?batchID=118858&batchNO=39&auth_token=f8ec0e50-6831-11ee-b69e-07ff5d348884&mtype=getclosebatch&epi=2319914786&limit=20&offset=0&app_id=ZLC6pTITTJ4MlTAo2DpnPlEZwttgm4vp&appkey=xtG5iGg0SHVGhXHI30Hz5VKG2bolU5Mq&storeid=17358&/?closedbatch="
headers = {"accept": "application/json"}
response = requests.post(url, headers=headers)
print(response.text)
const sdk = require('api')('@valorapi/v1.0#3y1ss1olo5a8r3g');
sdk.closedBatchApi({
batchID: '118858',
batchNO: '39',
auth_token: 'f8ec0e50-6831-11ee-b69e-07ff5d348884',
mtype: 'getclosebatch',
epi: '2319914786',
limit: '20',
offset: '0',
app_id: 'ZLC6pTITTJ4MlTAo2DpnPlEZwttgm4vp',
appkey: 'xtG5iGg0SHVGhXHI30Hz5VKG2bolU5Mq',
storeid: '17358',
'/?closedbatch': ''
})
.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://vt-staging.valorpaytech.com:4430/?batchID=118858&batchNO=39&auth_token=f8ec0e50-6831-11ee-b69e-07ff5d348884&mtype=getclosebatch&epi=2319914786&limit=20&offset=0&app_id=ZLC6pTITTJ4MlTAo2DpnPlEZwttgm4vp&appkey=xtG5iGg0SHVGhXHI30Hz5VKG2bolU5Mq&storeid=17358&/?closedbatch=");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
using RestSharp;
var options = new RestClientOptions("https://vt-staging.valorpaytech.com:4430/?batchID=118858&batchNO=39&auth_token=f8ec0e50-6831-11ee-b69e-07ff5d348884&mtype=getclosebatch&epi=2319914786&limit=20&offset=0&app_id=ZLC6pTITTJ4MlTAo2DpnPlEZwttgm4vp&appkey=xtG5iGg0SHVGhXHI30Hz5VKG2bolU5Mq&storeid=17358&/?closedbatch=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vt-staging.valorpaytech.com:4430/?batchID=118858&batchNO=39&auth_token=f8ec0e50-6831-11ee-b69e-07ff5d348884&mtype=getclosebatch&epi=2319914786&limit=20&offset=0&app_id=ZLC6pTITTJ4MlTAo2DpnPlEZwttgm4vp&appkey=xtG5iGg0SHVGhXHI30Hz5VKG2bolU5Mq&storeid=17358&/?closedbatch="
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("accept", "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/?batchID=118858&batchNO=39&auth_token=f8ec0e50-6831-11ee-b69e-07ff5d348884&mtype=getclosebatch&epi=2319914786&limit=20&offset=0&app_id=ZLC6pTITTJ4MlTAo2DpnPlEZwttgm4vp&appkey=xtG5iGg0SHVGhXHI30Hz5VKG2bolU5Mq&storeid=17358&/?closedbatch=")
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
TIP Adjustment
https://vt-staging.valorpaytech.com:4430?
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://vt-staging.valorpaytech.com:4430/?epi=2313185814&amount=5&stan=595&rrn=330310752470&auth_code=TAS070&app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_key=15B8BCFDB337428792608354A1444050&auth_token=8E1DDE8DE369812732E88C583B14D0C4&mtype=tipadjust&/?tipadjust=', [
'headers' => [
'accept' => 'application/json',
],
]);
echo $response->getBody();
import requests
url = "https://vt-staging.valorpaytech.com:4430/?epi=2313185814&amount=5&stan=595&rrn=330310752470&auth_code=TAS070&app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_key=15B8BCFDB337428792608354A1444050&auth_token=8E1DDE8DE369812732E88C583B14D0C4&mtype=tipadjust&/?tipadjust="
headers = {"accept": "application/json"}
response = requests.post(url, headers=headers)
print(response.text)
const sdk = require('api')('@valorapi/v1.0#1f4drw1iloclyowu');
sdk.tipAdjustment({
epi: '2313185814',
amount: '5',
stan: '595',
rrn: '330310752470',
auth_code: 'TAS070',
app_id: '464DA39FCFB44D54F6C1D22CEF9098E5',
auth_key: '15B8BCFDB337428792608354A1444050',
auth_token: '8E1DDE8DE369812732E88C583B14D0C4',
mtype: 'tipadjust',
'/?tipadjust': ''
})
.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://vt-staging.valorpaytech.com:4430/?epi=2313185814&amount=5&stan=595&rrn=330310752470&auth_code=TAS070&app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_key=15B8BCFDB337428792608354A1444050&auth_token=8E1DDE8DE369812732E88C583B14D0C4&mtype=tipadjust&/?tipadjust=");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
using RestSharp;
var options = new RestClientOptions("https://vt-staging.valorpaytech.com:4430/?epi=2313185814&amount=5&stan=595&rrn=330310752470&auth_code=TAS070&app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_key=15B8BCFDB337428792608354A1444050&auth_token=8E1DDE8DE369812732E88C583B14D0C4&mtype=tipadjust&/?tipadjust=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vt-staging.valorpaytech.com:4430/?epi=2313185814&amount=5&stan=595&rrn=330310752470&auth_code=TAS070&app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_key=15B8BCFDB337428792608354A1444050&auth_token=8E1DDE8DE369812732E88C583B14D0C4&mtype=tipadjust&/?tipadjust="
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("accept", "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/?epi=2313185814&amount=5&stan=595&rrn=330310752470&auth_code=TAS070&app_id=464DA39FCFB44D54F6C1D22CEF9098E5&auth_key=15B8BCFDB337428792608354A1444050&auth_token=8E1DDE8DE369812732E88C583B14D0C4&mtype=tipadjust&/?tipadjust=")
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
{
"error_no": "S00",
"success_url": true,
"error_code": "00",
"amount": "5.00",
"tax": "",
"customfee": "",
"msg": "APPROVED",
"desc": null,
"additional_info": null,
"clerk_id": null,
"clerk_name": null,
"clerk_label": null,
"additionalKeyOne": null,
"additionalKeyTwo": null,
"additionalValueOne": null,
"additionalValueTwo": null,
"approval_code": "TAS070",
"rrn": "330310752470",
"txnid": null,
"tran_no": 6,
"stan": 595,
"is_partial_approve": 0,
"partial_amount": "000000000500",
"pan": "XXXX",
"card_type": null,
"phone_number": null,
"email_id": null,
"zip": null,
"card_holder_name": null,
"expiry_date": "/",
"address": null,
"epi": "2313185814",
"channel": "VT",
"token": null,
"card_brand": null,
"netamt": 5
}
Field Type Length Mandatory/Optional Example Value Description.
epi Numeric 10 Mandatory 2536419865 EPI is an end point identifier, Identify the device on valor infrastructure, it's a 10 digit number starts with 2
amount Numeric 10 Mandatory 10.00 TIP amount (Ex:5.00, 10.00, 20.00 etc.)
stan Numeric 6 Mandatory 854 Should match the original sale stan
rrn String 15 Mandatory 32921075112 RRN number from sale txn response (Numeric)
auth_code String 8 Mandatory TAS12455 Approval code response from sale transaction (Alphanumeric)
appid String 32 Mandatory 464DA39FCFB44D54F6C1D22CEF9098E5 Application id, an unique id given for the application
appkey String 32 Mandatory 15B8BCFDB337428792608354A1444050 Authorization key (API key) given for application contact [email protected]
mtype String 50 Mandatory tipadjust Message type should be set as tipadjust
Error Codes
General Error Codes
Error Code Error Description
E01 UID IS MISSING
E02 INVALID UID
E03 MESSAGE FORMATION IS WRONG
E04 INVALID MESSAGE CODE
E05 INVALID AMOUNT
E06 INVALID CARD NUMBER
E07 INVALID EXPIRY DATE
E08 INVALID CARD HOLDER NAME
E09 INVALID ADDRESS
E10 INVALID ZIP
E11 INVALID APP ID
E12 INVALID AUTH TOKEN
E13 INVALID AUTH KEY
E14 INVALID TRANSACTION ID
E15 INVALID PROCESSING CODE
E16 INVALID TRAN NO
E17 INVALID RRN
E18 INVALID AUTH CODE
E19 INVALID POS ENTRY CODE
E20 TRANSACTION TIME OUT
E21 SC INDICATOR INVALID
E22 EPAGE URL GENERATION FAILED
E23 EPAGE URL TIMEOUT
E24 EPAGE URL LIMIT EXCEED
E25 EPAGE URL INVALID REQUEST
E26 AUTHENTICATION FAILED
E27 SUBSCRIPTION ID IS MISSING
E28 FREEZE START DATE IS MISSING
E29 FREEZE STOP DATE IS MISSING
E30 INVALID FREEZE DATE REQUEST
E31 NO SUBSCRIPTION AVAILABLE
E32 ACTIVE SEARCH FLAG IS MISSING
E33 START DATE SEARCH FLAG IS MISSING
E34 INVALID STAN NO
E35 INVALID FORFEIT FLAG
E36 FORFEIT FLAG IS NOT UPDATED
E99 GENERAL ERROR
E98 TRANSACTION DECLINED
S00 SUCCESS
00 CONNECTION SUCCESS
D01 APP ID IS REQUIRED
D02 APP KEY IS REQUIRED
D03 TXN TYPE IS REQUIRED
D04 AMOUNT IS REQUIRED
D05 BLACK LISTED IP
D06 NOT A VALID APP ID
D07 NOT A VALID APP KEY
D08 INVALID TXN TYPE
D09 INVALID EPI
D10 IP ADDRESS IS NOT WHITELISTED
D11 IP ADDRESS MANDATORY
D12 SHIPPING COUNTRY MANDATORY
D13 FOREIGN DELIVERY IS NOT ALLOWED
D14 INTERNATIONAL IP ADDRESS ACCESS IS NOT ALLOWED
D15 TRANSACTION NOT ALLOWED
D16 INVALID STORE ID
D17 INVALID VOUCHER NO
D18 INVALID APPROVAL CODE
D19 INVALID TRAN NO OR LAST4DIGITS PAN NUMBER
TXN API ERROR CODES
D20 INVALID DATE RANGE
D21 FILTER IS INVALID
D22 FILTER TEXT IS INVALID
D23 LIMIT MUST BE LESSER THAN 1000
D24 OFFSET MUST BE LESSER THAN 1000
D25 GENERAL TXNFETCH ERROR
D26 DATE FILTER IS INVALID
A01 ACCOUNT NUMBER IS INVALID
A02 ROUTING NUMBER IS INVALID
A03 ACCOUNT TYPE IS INVALID
A04 PAYEE NAME IS INVALID
A05 NO VENDOR FOUND
A06 AUTH FAILED
A07 ACH TXN NOT FOUND
A08 ACH TXN ALREADY VOIDED
A09 ACH TXN CANNOT BE VOID SETTLED ALREADY
A10 INELIGIBLE FOR VOID
A11 AUTH FAILED
A12 NO MERCHANT ACCOUNT
A13 VOID CANNOT BE LOCATED
A14 VENDOR SYSTEM SOMETHING WENT WRONG
A15 LIMIT SHOULD NOT BE MORE THAN 1000
A16 INVALID DATES
A17 INVALID FREQUENCY TYPE
A18 INVALID UID
A99 SYSTEM ERROR
Switch Error Code
Code Type Message
00 APPROVAL Approved and completed
01 CALL Refer to issuer
02 CALL Refer to issuer-Special condition
03 TERM ID ERROR Invalid Merchant ID
04 HOLD-CALL Pick up card (no fraud)
05 DECLINE Do not honor
06 ERROR General error
07 HOLD-CALL Pick up card
08 APPROVAL Honor Mastercard with ID
10 PARTIAL APPROVAL Partial approval for the authorized amount returned in Group III version 022
11 APPROVAL VIP approval
12 INVALID TRANS Invalid transaction
13 AMOUNT ERROR Invalid amount
14 CARD NO ERROR Invalid card number
15 NO SUCH ISSUER No such issuer
19 RE ENTER Re-enter transaction
21 NO ACTION TAKEN Unable to back out transaction
25 NO CARD NUMBER Unable to locate the account number
28 NO REPLY File is temporarily unavailable
30 MSG FORMAT ERROR Transaction was improperly formatted
39 NO CREDIT ACCT No credit account
41 HOLD-CALL Lost card
43 HOLD-CALL Stolen card
51 DECLINE Insufficient funds
52 NO CHECK ACCOUNT No checking account
53 NO SAVE ACCOUNT No savings account
54 EXPIRED CARD Expired card
55 WRONG PIN Incorrect PIN
57 SERV NOT ALLOWED Transaction not permitted-Card
58 SERV NOT ALLOWED Transaction not permitted-Terminal
61 DECLINE Exceeds withdrawal limit
62 DECLINE Invalid service code restricted
63 SEC VIOLATION Security violation
65 DECLINE Activity limit exceeded
75 PIN EXCEEDED PIN tried exceeded
76 UNSOLIC REVERSAL Unable to locate
77 NO ACTION TAKEN Inconsistent
78 NO ACCOUNT No account
79 ALREADY REVERSED Already reversed at switch
80 NO IMPACT No Financial impact (used in reversal responses to decline originals)
81 ENCRYPTION ERROR Cryptographic error
82 INCORRECT CVV CVV data is not correct
83 CANT VERIFY PIN Cannot verify PIN
85 CARD OK No reason to decline
86 CANT VERIFY PIN Cannot verify PIN
91 NO REPLY Issuer or switch is unavailable
92 INVALID ROUTING Destination not found
93 DECLINE Violation
94 DUPLICATE TRANS Unable to locate
96 SYSTEM ERROR System malfunction
A1 ACTIVATED POS device authentication successful
A2 NOT ACTIVATED POS device authentication not successful
A3 DEACTIVATED POS device deactivation successful
B1 SRCHG NOT ALLOWD Surcharge amount not permitted on debit cards or EBT food stamps
B2 SRCHG NOT ALLOWD Surcharge amount not supported by debit network issuer
CV FAILURE CV Card Type Verification Error
D3 SECUR CRYPT FAIL transaction failure due to missing or invalid 3D-Secure cryptogram
E1 ENCR NOT CONFIGD Encryption is not configured
E2 TERM NOT AUTHENT Terminal is not authenticated
E3 DECRYPT FAILURE Data could not be decrypted
EA ACCT LENGTH ERR Verification error
EB CHECK DIGIT ERR Verification error
EC CID FORMAT ERROR Verification error
HV FAILURE HV Hierarchy Verification Error
K0 TOKEN RESPONSE Token request was processed
K1 TOKEN NOT CONFIG Tokenization is not configured
K2 TERM NOT AUTHENT Terminal is not authenticated
K3 TOKEN FAILURE Data could not be de-tokenized
M0 Mastercard: Canada region-issued Domestic Debit Transaction not allowed
N3 CACHBACK NOT AVL Cash back service not available
N4 DECLINE Exceeds issuer withdrawal limit