Introduction

Welcome to the MAXpci API overview. We have developed an open API to allow you to automate the process of enrolling, deactivating, and editing your merchant portfolio. This API is available for an array of development platforms, and can be accessed by simply clicking on the platform you use.

Token

Prior to using the API, a token must be generated. Please contact our support team at support@maxpcicomply.com to request that a token be generated.


Field Name Required? Description
consumer_key Yes Consumer Secret Key
Request:

$data = array("consumer_key" => [consumer Key]);
$data_string = json_encode($data);
$endpoint = 'https://api.maxpcicomply.com/support/token';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array( 'Content-Type:application/json', 'Content-Length:'.strlen($data_string)));
$server_output = curl_exec ($ch);
curl_close($ch);
$result = json_decode($server_output);

Response:

stdClass Object
(
[status] => 1
[message] => Successfully Created
[token_id] => tkn_sr9ttptVNkHiqFoIdqSiYWi1
)

Request:

require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://api.maxpcicomply.com/support/token')
header = {
'Content-Type': 'text/json'
}
data = {
consumer_key: [Consumer Key],
}
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = data.to_json
response = http.request(request)

Response:

stdClass Object
(
[status] => 1
[message] => Successfully Created
[token_id] => tkn_sr9ttptVNkHiqFoIdqSiYWi1
)

Request:

URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;
url = new URL (getCodeBase().toString() + "env.tcgi");
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty("Content-Type","application/json");
urlConn.setRequestProperty("Host", "https://api.maxpcicomply.com/support/token");
urlConn.connect();
//Create JSONObject here
JSONObject jsonParam = new JSONObject();
jsonParam.put("consumer_key", [Consumer Key]);
printout = new DataOutputStream(urlConn.getOutputStream ());
printout.writeBytes(URLEncoder.encode(jsonParam.toString(),"UTF-8"));
printout.flush ();
printout.close ();

Response:

stdClass Object
(
[status] => 1
[message] => Successfully Created
[token_id] => tkn_sr9ttptVNkHiqFoIdqSiYWi1
)

Request:

string url = "https://api.maxpcicomply.com/support/token";
string data = "{\"consumer_key\":\"consumerKey\"}";

WebRequest myReq = WebRequest.Create(url);
myReq.Method = "POST";
myReq.ContentLength = data.Length;
myReq.ContentType = "application/json; charset=UTF-8";

UTF8Encoding enc = new UTF8Encoding();

using (Stream ds = myReq.GetRequestStream())
{
ds.Write(enc.GetBytes(data), 0, data.Length);
}


WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();
Response.Write(content);

Response:

stdClass Object
(
[status] => 1
[message] => Successfully Created
[token_id] => tkn_sr9ttptVNkHiqFoIdqSiYWi1
)

Enrollments

Merchant enrollments may be done as often as you like. The information required is listed below. Only the fields indicated as required must be included, though all of the information is helpful if it is available. The anniversary date must be the month following enrollment, and must be in the following format:

MM/25/YEAR

This is used internally for billing purposes.


Field Name Required? Description
Merchant ID Yes This is Unique ID
Merchant Name Yes Merchant Name
Merchant Contact No Merchant Contact
Merchant Email No Merchant Email
Merchant Street Yes Merchant Street
Merchant City Yes Merchant City
Merchant State Yes Merchant State
Merchant Country Yes Merchant Country
Merchant Zip Yes Merchant Zip
Merchant Phone Yes Merchant Phone
Corporation Name Yes Corporation Name
Corporation Contact No Corporation Contact
Corporation Street No Corporation Street
Corporation City No Corporation City
Corporation State No Corporation State
Corporation Zip No Corporation Zip
Corporation EIN No Corporation EIN
Branch ID No Billing Indicator
DDA No DDA
ABA No ABA
Amex Number No Amex Number
MCC Code No MCC Code
Discover Number No Discover Number
JCB Number No JCB Number
Lead ID No Lead ID
Breach Date No Breach Date
Breach Status No Breach Status
IP Address No IP Address
Request:

$data = array(
"token_id" => [TokenID],
"consumer_key" => [Consumer Key],
"merchant_data" => array(
array(
'Merchant ID' => 'demo10100',
'Merchant Name' => 'Test',
'Merchant Contact' => 'Test',
'Merchant Email' => 'test1@gmail.com',
'Merchant Street' => 'Test',
'Merchant City' => 'Test',
'Merchant State' => 'Test',
),
array(
'Merchant ID' => 'demo10101',
'Merchant Name' => 'Test',
'Merchant Contact' => 'Test',
'Merchant Email' => 'test2@gmail.com',
'Merchant Street' => 'Test',
'Merchant City' => 'Test',
'Merchant State' => 'Test',
),
),
);
$data_string = json_encode($data);
$endpoint = 'https://api.maxpcicomply.com/support/addmerchant';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array( 'Content-Type:application/json', 'Content-Length:'.strlen($data_string)));
$server_output = curl_exec ($ch);
curl_close($ch);
$result = json_decode($server_output);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Inserted
)
[demo10101] => stdClass Object
(
[status] => 1
[message] => Successfully Inserted
)
)
[inserted] => 2
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Request:

require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://api.maxpcicomply.com/support/addmerchant')
header = {
'Content-Type': 'text/json'
}
data1 = {
'Merchant ID' : 'demo10100',
'Merchant Name' : 'Test',
'Merchant Contact' : 'Test',
'Merchant Email' : 'test1@gmail.com',
'Merchant Street' : 'Test',
'Merchant City' : 'Test',
'Merchant State' : 'Test'
}
data = {
token_id: [Token ID],
consumer_key: [Consumer Key],
merchant_data: [data1],
}
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = data.to_json
response = http.request(request)

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Inserted
)
)
[inserted] => 1
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Request:

URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;
url = new URL (getCodeBase().toString() + "env.tcgi");
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty("Content-Type","application/json");
urlConn.setRequestProperty("Host", "https://api.maxpcicomply.com/support/addmerchant");
urlConn.connect();

JSONObject data1 = new JSONObject();
data1.put("Merchant ID", "demo10100");
data1.put("Merchant Name", "Test");
data1.put("Merchant Contact", "Test");
data1.put("Merchant Email", "Testdemo10100@gmail.com");
data1.put("Merchant City", "Test");
data1.put("Merchant State", "Test");

JSONObject data2 = new JSONObject();
data2.put("Merchant ID", "demo10101");
data2.put("Merchant Name", "Test");
data2.put("Merchant Contact", "Test");
data2.put("Merchant Email", "Testdemo10101@gmail.com");
data2.put("Merchant City", "Test");
data2.put("Merchant State", "Test");

JSONArray jsonArray = new JSONArray();
jsonArray.put(data1);
jsonArray.put(data2);

//Create JSONObject here
JSONObject jsonParam = new JSONObject();
jsonParam.put("token_id", [Token ID]);
jsonParam.put("consumer_key", [Consumer Key]);
jsonParam.put("merchant_data", jsonArray);
printout = new DataOutputStream(urlConn.getOutputStream ());
printout.writeBytes(URLEncoder.encode(jsonParam.toString(),"UTF-8"));
printout.flush ();
printout.close ();

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Inserted
)
[demo10101] => stdClass Object
(
[status] => 1
[message] => Successfully Inserted
)
)
[inserted] => 2
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Request:

string url = "https://api.maxpcicomply.com/support/addmerchant";
string data = "{"token_id":token_id,"consumer_key":"consumer_key","merchant_data":[{"Merchant ID":"demo10100","Merchant Name":"test","Merchant Contact":"test","Merchant City":"test","Merchant State":"test"},{"Merchant ID":"demo10101","Merchant Name":"test","Merchant Contact":"test","Merchant City":"test","Merchant State":"test"}]}";

WebRequest myReq = WebRequest.Create(url);
myReq.Method = "POST";
myReq.ContentLength = data.Length;
myReq.ContentType = "application/json; charset=UTF-8";

UTF8Encoding enc = new UTF8Encoding();

using (Stream ds = myReq.GetRequestStream())
{
ds.Write(enc.GetBytes(data), 0, data.Length);
}


WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();
Response.Write(content);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Inserted
)
[demo10101] => stdClass Object
(
[status] => 1
[message] => Successfully Inserted
)
)
[inserted] => 2
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Merchant Updates

Merchant updates should be done frequently to ensure that our data is as correct as possible. Any information listed below may be updated via the API. Only the data listed as required must be included in the request.


Field Name Required? Editable/Blank Description
Merchant ID Yes No This is Unique ID
Merchant Name No Yes Merchant Name
Merchant Contact No Yes Merchant Contact
Merchant Street No Yes Merchant Street
Merchant City No Yes Merchant City
Merchant State No Yes Merchant State
Merchant Country No Yes Merchant Country
Merchant Zip No Yes Merchant Zip
Merchant Phone No Yes Merchant Phone
Corporation Name No Yes Corporation Name
Corporation Contact No Yes Corporation Contact
Corporation Street No Yes Corporation Street
Corporation City No Yes Corporation City
Corporation State No Yes Corporation State
Corporation Zip No Yes Corporation Zip
Corporation EIN No Yes Corporation EIN
Branch ID No Yes Billing Indicator
DDA No Yes DDA
ABA No Yes ABA
Amex Number No Yes Amex Number
MCC Code No Yes MCC Code
Discover Number No Yes Discover Number
JCB Number No Yes JCB Number
Lead ID No Yes Lead ID
Breach Date No Yes Breach Date
Breach Status No Yes Breach Status
IP Address No Yes IP Address
Request:

$data = array(
token_id" => [TokenID],
"consumer_key" => [Consumer Key],
"merchant_data" => array(
array(
'Merchant ID' => 'demo10100',
'Merchant Name' => 'Test',
'Merchant Contact' => 'Test',
'Merchant Street' => 'Test',
'Merchant City' => 'Test',
'Merchant State' => 'Test',
),
array(
'Merchant ID' => 'demo10101',
'Merchant Name' => 'Test',
'Merchant Contact' => 'Test',
'Merchant Street' => 'Test',
'Merchant City' => 'Test',
'Merchant State' => 'Test',
),
),
);
$data_string = json_encode($data);
$endpoint = 'https://api.maxpcicomply.com/support/editmerchant';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array( 'Content-Type:application/json', 'Content-Length:'.strlen($data_string)));
$server_output = curl_exec ($ch);
curl_close($ch);
$result = json_decode($server_output);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Updated
)
[demo10101] => stdClass Object
(
[status] => 1
[message] => Successfully Updated
)
)
[updated] => 2
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Request:

require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://api.maxpcicomply.com/support/editmerchant')
header = {
'Content-Type': 'text/json'
}
data1 = {
'Merchant ID' : 'demo10100',
'Merchant Name' : 'Test',
'Merchant Contact' : 'Test',
'Merchant Street' : 'Test',
'Merchant City' : 'Test',
'Merchant State' : 'Test'
}
data = {
token_id: [Token ID],
consumer_key: [Consumer Key],
merchant_data: [data1],
}
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = data.to_json
response = http.request(request)

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Updated
)
)
[updated] => 2
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Request:

URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;
url = new URL (getCodeBase().toString() + "env.tcgi");
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty("Content-Type","application/json");
urlConn.setRequestProperty("Host", "https://api.maxpcicomply.com/support/editmerchant");
urlConn.connect();

JSONObject data1 = new JSONObject();
data1.put("Merchant ID", "demo10100");
data1.put("Merchant Name", "Test");
data1.put("Merchant Contact", "Test");
data1.put("Merchant City", "Test");
data1.put("Merchant State", "Test");

JSONObject data2 = new JSONObject();
data2.put("Merchant ID", "demo10101");
data2.put("Merchant Name", "Test");
data2.put("Merchant Contact", "Test");
data2.put("Merchant City", "Test");
data2.put("Merchant State", "Test");

JSONArray jsonArray = new JSONArray();
jsonArray.put(data1);
jsonArray.put(data2);

//Create JSONObject here
JSONObject jsonParam = new JSONObject();
jsonParam.put("token_id", [Token ID]);
jsonParam.put("consumer_key", [Consumer Key]);
jsonParam.put("merchant_data", jsonArray);
printout = new DataOutputStream(urlConn.getOutputStream ());
printout.writeBytes(URLEncoder.encode(jsonParam.toString(),"UTF-8"));
printout.flush ();
printout.close ();

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Updated
)
[demo10101] => stdClass Object
(
[status] => 1
[message] => Successfully Updated
)
)
[updated] => 2
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Request:

string url = "https://api.maxpcicomply.com/support/editmerchant";
string data = "{"token_id":token_id,"consumer_key":"consumer_key","merchant_data":[{"Merchant ID":"demo10100","Merchant Name":"test","Merchant Contact":"test","Merchant City":"test","Merchant State":"test"},{"Merchant ID":"demo10101","Merchant Name":"test","Merchant Contact":"test","Merchant City":"test","Merchant State":"test"}]}";

WebRequest myReq = WebRequest.Create(url);
myReq.Method = "POST";
myReq.ContentLength = data.Length;
myReq.ContentType = "application/json; charset=UTF-8";

UTF8Encoding enc = new UTF8Encoding();

using (Stream ds = myReq.GetRequestStream())
{
ds.Write(enc.GetBytes(data), 0, data.Length);
}


WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();
Response.Write(content);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Updated
)
[demo10101] => stdClass Object
(
[status] => 1
[message] => Successfully Updated
)
)
[updated] => 2
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Closures

Merchant closures may also be done as often as you like. All closures for the month should be processed no later than the last calendar day of the month to ensure accurate billing. The only information required is the merchant number.


Field Name Required? Description
Merchant ID Yes This is Unique ID
Request:

$data = array(
token_id" => [TokenID],
"consumer_key" => [Consumer Key],
"merchant_data" => array(
array('Merchant ID' => 'demo10100'),
array('Merchant ID' => 'demo10101'),
),
);
$data_string = json_encode($data);
$endpoint = 'https://api.maxpcicomply.com/support/deactivatemerchant';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array( 'Content-Type:application/json', 'Content-Length:'.strlen($data_string)));
$server_output = curl_exec ($ch);
curl_close($ch);
$result = json_decode($server_output);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Deactivated
)
[demo10101] => stdClass Object
(
[status] => 1
[message] => Successfully Deactivated
)
)
[updated] => 2
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Request:

require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://api.maxpcicomply.com/support/deactivatemerchant')
header = {
'Content-Type': 'text/json'
}
array = {
data1: {
'Merchant ID' : 'demo10100' ,
},
data2: {
'Merchant ID' : 'demo10101' ,
}
}
data = {
token_id: [Token ID],
consumer_key: [Consumer Key],
merchant_data: [array],
}
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = data.to_json
response = http.request(request)

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Deactivated
)
[demo10101] => stdClass Object
(
[status] => 1
[message] => Successfully Deactivated
)
)
[updated] => 2
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Request:

URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;
url = new URL (getCodeBase().toString() + "env.tcgi");
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty("Content-Type","application/json");
urlConn.setRequestProperty("Host", "https://api.maxpcicomply.com/support/deactivatemerchant");
urlConn.connect();

JSONObject data1 = new JSONObject();
data1.put("Merchant ID", "demo10100");

JSONObject data2 = new JSONObject();
data2.put("Merchant ID", "demo10101");

JSONArray jsonArray = new JSONArray();
jsonArray.put(data1);
jsonArray.put(data2);

//Create JSONObject here
JSONObject jsonParam = new JSONObject();
jsonParam.put("token_id", [Token ID]);
jsonParam.put("consumer_key", [Consumer Key]);
jsonParam.put("merchant_data", jsonArray);
printout = new DataOutputStream(urlConn.getOutputStream ());
printout.writeBytes(URLEncoder.encode(jsonParam.toString(),"UTF-8"));
printout.flush ();
printout.close ();

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Deactivated
)
[demo10101] => stdClass Object
(
[status] => 1
[message] => Successfully Deactivated
)
)
[updated] => 2
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Request:

string url = "https://api.maxpcicomply.com/support/deactivatemerchant";
string data = "{"token_id":"token_id","consumer_key":"consumer_key","merchant_data":[{"Merchant ID":"demo10100"},{"Merchant ID":"demo10101"}]}";

WebRequest myReq = WebRequest.Create(url);
myReq.Method = "POST";
myReq.ContentLength = data.Length;
myReq.ContentType = "application/json; charset=UTF-8";

UTF8Encoding enc = new UTF8Encoding();

using (Stream ds = myReq.GetRequestStream())
{
ds.Write(enc.GetBytes(data), 0, data.Length);
}


WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();
Response.Write(content);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[status] => 1
[message] => Successfully Deactivated
)
[demo10101] => stdClass Object
(
[status] => 1
[message] => Successfully Deactivated
)
)
[updated] => 2
[errorcount] => 0
[txn_id] => txn_fzpGer0HT9boyEjm
)

Merchat Detail

Merchant details may be returned as often as you like. It can either be a single merchant or an array of merchants. If no "merchant_data" parameter is passed, system will return information for all merchants.


Field Name Required? Description
Merchant ID No This is Unique ID


Filter Parameters

Field Name Required? Description
max_record Optional Default value 500
page_no Optional Default value 1
Request:

$data = array(
token_id" => [TokenID],
"consumer_key" => [Consumer Key],
"merchant_data" => array(
array('Merchant ID' => 'demo10100'),
array('Merchant ID' => 'demo10101'),
),
"max_record" => 500,
"page_no" => 1
);
$data_string = json_encode($data);
$endpoint = 'https://api.maxpcicomply.com/support/merchant';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array( 'Content-Type:application/json', 'Content-Length:'.strlen($data_string)));
$server_output = curl_exec ($ch);
curl_close($ch);
$result = json_decode($server_output);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[dba_contact] => Demo
[dba_street] => Test Street
[dba_city] => Test City
[dba_state] => Test State
[dba_country] => Test Country
[dba_zip] => ABC XYZ
[dba_email] => test@test.com
[dba_phone] => 123-456-7890
[lead_id] => Test
[account_status] => Active
[created_date] => 01/30/2022 10:00:00
[modified_date] => 03/31/2023 12:33:00
[saq] => stdClass Object
(
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 10/13/2020
[saq_completed_date] => 10/13/2020
[saq_stauts] => Compliant
)
[scan] => stdClass Object
(
[scan_status] => Failed
[scan_date] => 10/13/2021
)
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[dba_contact] => Demo
[dba_street] => Test Street
[dba_city] => Test City
[dba_state] => Test State
[dba_country] => Test Country
[dba_zip] => ABC XYZ
[dba_email] => test@test.com
[dba_phone] => 123-456-7890
[lead_id] => Test
[account_status] => Inactive
[created_date] => 01/30/2022 10:00:00
[modified_date] => 03/31/2023 12:33:00
[saq] => stdClass Object
(
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 10/13/2020
[saq_completed_date] => 10/13/2020
[saq_stauts] => Compliant
)
[scan] => stdClass Object
(
[scan_status] => Failed
[scan_date] => 10/13/2021
)
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)

Request:

require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://api.maxpcicomply.com/support/merchant')
header = {
'Content-Type': 'text/json'
}
array = {
data1: {
'Merchant ID' : 'demo10100' ,
},
data2: {
'Merchant ID' : 'demo10101' ,
}
}
data = {
token_id: [Token ID],
consumer_key: [Consumer Key],
merchant_data: [array],
max_record: 500,
page_no: 1
}
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = data.to_json
response = http.request(request)

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[dba_contact] => Demo
[dba_street] => Test Street
[dba_city] => Test City
[dba_state] => Test State
[dba_country] => Test Country
[dba_zip] => ABC XYZ
[dba_email] => test@test.com
[dba_phone] => 123-456-7890
[lead_id] => Test
[account_status] => Active
[created_date] => 01/30/2022 10:00:00
[modified_date] => 03/31/2023 12:33:00
[saq] => stdClass Object
(
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 10/13/2020
[saq_completed_date] => 10/13/2020
[saq_stauts] => Compliant
)
[scan] => stdClass Object
(
[scan_status] => Failed
[scan_date] => 10/13/2021
)
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[dba_contact] => Demo
[dba_street] => Test Street
[dba_city] => Test City
[dba_state] => Test State
[dba_country] => Test Country
[dba_zip] => ABC XYZ
[dba_email] => test@test.com
[dba_phone] => 123-456-7890
[lead_id] => Test
[account_status] => Inactive
[created_date] => 01/30/2022 10:00:00
[modified_date] => 03/31/2023 12:33:00
[saq] => stdClass Object
(
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 10/13/2020
[saq_completed_date] => 10/13/2020
[saq_stauts] => Compliant
)
[scan] => stdClass Object
(
[scan_status] => Failed
[scan_date] => 10/13/2021
)
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)

Request:

URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;
url = new URL (getCodeBase().toString() + "env.tcgi");
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty("Content-Type","application/json");
urlConn.setRequestProperty("Host", "https://api.maxpcicomply.com/support/merchant");
urlConn.connect();
JSONObject data1 = new JSONObject();
data1.put("Merchant ID", "demo10100");

JSONObject data2 = new JSONObject();
data2.put("Merchant ID", "demo10101");

JSONArray jsonArray = new JSONArray();
jsonArray.put(data1);
jsonArray.put(data2);

//Create JSONObject here
JSONObject jsonParam = new JSONObject();
jsonParam.put("token_id", [Token ID]);
jsonParam.put("consumer_key", [Consumer Key]);
jsonParam.put("merchant_data", jsonArray);
jsonParam.put("max_record", 500);
jsonParam.put("page_no", 1);
printout = new DataOutputStream(urlConn.getOutputStream ());
printout.writeBytes(URLEncoder.encode(jsonParam.toString(),"UTF-8"));
printout.flush ();
printout.close ();

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[dba_contact] => Demo
[dba_street] => Test Street
[dba_city] => Test City
[dba_state] => Test State
[dba_country] => Test Country
[dba_zip] => ABC XYZ
[dba_email] => test@test.com
[dba_phone] => 123-456-7890
[lead_id] => Test
[account_status] => Active
[created_date] => 01/30/2022 10:00:00
[modified_date] => 03/31/2023 12:33:00
[saq] => stdClass Object
(
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 10/13/2020
[saq_completed_date] => 10/13/2020
[saq_stauts] => Compliant
)
[scan] => stdClass Object
(
[scan_status] => Failed
[scan_date] => 10/13/2021
)
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[dba_contact] => Demo
[dba_street] => Test Street
[dba_city] => Test City
[dba_state] => Test State
[dba_country] => Test Country
[dba_zip] => ABC XYZ
[dba_email] => test@test.com
[dba_phone] => 123-456-7890
[lead_id] => Test
[account_status] => Inactive
[created_date] => 01/30/2022 10:00:00
[modified_date] => 03/31/2023 12:33:00
[saq] => stdClass Object
(
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 10/13/2020
[saq_completed_date] => 10/13/2020
[saq_stauts] => Compliant
)
[scan] => stdClass Object
(
[scan_status] => Failed
[scan_date] => 10/13/2021
)
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)

Request:

string url = "https://api.maxpcicomply.com/support/merchant";
string data = "{"token_id":"token_id","consumer_key":"consumer_key","merchant_data":[{"Merchant ID":"demo10100"},{"Merchant ID":"demo10101"}],"max_record":"500","page_no":"1"}";

WebRequest myReq = WebRequest.Create(url);
myReq.Method = "POST";
myReq.ContentLength = data.Length;
myReq.ContentType = "application/json; charset=UTF-8";

UTF8Encoding enc = new UTF8Encoding();

using (Stream ds = myReq.GetRequestStream())
{
ds.Write(enc.GetBytes(data), 0, data.Length);
}


WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();
Response.Write(content);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[dba_contact] => Demo
[dba_street] => Test Street
[dba_city] => Test City
[dba_state] => Test State
[dba_country] => Test Country
[dba_zip] => ABC XYZ
[dba_email] => test@test.com
[dba_phone] => 123-456-7890
[lead_id] => Test
[account_status] => Active
[created_date] => 01/30/2022 10:00:00
[modified_date] => 03/31/2023 12:33:00
[saq] => stdClass Object
(
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 10/13/2020
[saq_completed_date] => 10/13/2020
[saq_stauts] => Compliant
)
[scan] => stdClass Object
(
[scan_status] => Failed
[scan_date] => 10/13/2021
)
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[dba_contact] => Demo
[dba_street] => Test Street
[dba_city] => Test City
[dba_state] => Test State
[dba_country] => Test Country
[dba_zip] => ABC XYZ
[dba_email] => test@test.com
[dba_phone] => 123-456-7890
[lead_id] => Test
[account_status] => Inactive
[created_date] => 01/30/2022 10:00:00
[modified_date] => 03/31/2023 12:33:00
[saq] => stdClass Object
(
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 10/13/2020
[saq_completed_date] => 10/13/2020
[saq_stauts] => Compliant
)
[scan] => stdClass Object
(
[scan_status] => Failed
[scan_date] => 10/13/2021
)
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)

Merchat SAQ Detail

Merchant's latest SAQ details may be returned as often as you like. SAQ details can be for a single merchant or for an array of merchants. If no "merchant_data" parameter is passed, system will return information for all merchants. Maximum difference between "Start date" and "End date" is 1.5 years.


Field Name Required? Description
Merchant ID Optional This is Unique ID


Filter Parameters

Field Name Required? Description
start_date Optional Format (mm/dd/yyyy)
end_date Optional Format (mm/dd/yyyy)
max_record Optional Default value 500
page_no Optional Default value 1
Request:

$data = array(
"token_id" => [TokenID],
"consumer_key" => [Consumer Key],
"merchant_data" => array(
array('Merchant ID' => 'demo10100'),
array('Merchant ID' => 'demo10101'),
),
"start_date" => [Start Date],
"end_date" => [End Date],
"max_record" => 500,
"page_no" => 1
);
$data_string = json_encode($data);
$endpoint = 'https://api.maxpcicomply.com/support/saq';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array( 'Content-Type:application/json', 'Content-Length:'.strlen($data_string)));
$server_output = curl_exec ($ch);
curl_close($ch);
$result = json_decode($server_output);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 01/01/2021
[saq_completed_date] => 01/01/2021
[saq_stauts] => Compliant
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 01/01/2021
[saq_completed_date] => 01/01/2021
[saq_stauts] => Compliant
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)

Request:

require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://api.maxpcicomply.com/support/saq')
header = {
'Content-Type': 'text/json'
}
array = {
data1: {
'Merchant ID' : 'demo10100' ,
},
data2: {
'Merchant ID' : 'demo10101' ,
}
}
data = {
token_id: [Token ID],
consumer_key: [Consumer Key],
merchant_data: [array],
start_date: [Start Date],
end_date: [End Date],
max_record: 500,
page_no: 1
}
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = data.to_json
response = http.request(request)

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 01/01/2021
[saq_completed_date] => 01/01/2021
[saq_stauts] => Compliant
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 01/01/2021
[saq_completed_date] => 01/01/2021
[saq_stauts] => Compliant
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)

Request:

URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;
url = new URL (getCodeBase().toString() + "env.tcgi");
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty("Content-Type","application/json");
urlConn.setRequestProperty("Host", "https://api.maxpcicomply.com/support/saq");
urlConn.connect();

JSONObject data1 = new JSONObject();
data1.put("Merchant ID", "demo10100");

JSONObject data2 = new JSONObject();
data2.put("Merchant ID", "demo10101");

JSONArray jsonArray = new JSONArray();
jsonArray.put(data1);
jsonArray.put(data2);

//Create JSONObject here
JSONObject jsonParam = new JSONObject();
jsonParam.put("token_id", [Token ID]);
jsonParam.put("consumer_key", [Consumer Key]);
jsonParam.put("start_date", [Start Date]);
jsonParam.put("end_date", [End date]);
jsonParam.put("merchant_data", jsonArray);
jsonParam.put("max_record", 500);
jsonParam.put("page_no", 1);
printout = new DataOutputStream(urlConn.getOutputStream ());
printout.writeBytes(URLEncoder.encode(jsonParam.toString(),"UTF-8"));
printout.flush ();
printout.close ();

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 01/01/2021
[saq_completed_date] => 01/01/2021
[saq_stauts] => Compliant
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 01/01/2021
[saq_completed_date] => 01/01/2021
[saq_stauts] => Compliant
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)

Request:

string url = "https://api.maxpcicomply.com/support/saq";
string data = "{"token_id":"token_id","consumer_key":"consumer_key","start_date":[Start Date],"end_date":[End Date],"merchant_data":[{"Merchant ID":"demo10100"},{"Merchant ID":"demo10101"}], "max_record":"500", "page_no":"1"}";

WebRequest myReq = WebRequest.Create(url);
myReq.Method = "POST";
myReq.ContentLength = data.Length;
myReq.ContentType = "application/json; charset=UTF-8";

UTF8Encoding enc = new UTF8Encoding();

using (Stream ds = myReq.GetRequestStream())
{
ds.Write(enc.GetBytes(data), 0, data.Length);
}


WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();
Response.Write(content);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 01/01/2021
[saq_completed_date] => 01/01/2021
[saq_stauts] => Compliant
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[saq_type] => A
[saq_version] => 3.2.1
[saq_start_date] => 01/01/2021
[saq_completed_date] => 01/01/2021
[saq_stauts] => Compliant
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)

Merchant Scan Detail

Merchant's latest scan details may be returned as often as you like. Scan details can be for a single merchant or for an array of merchants. If no "merchant_data" parameter is passed, system will return information for all merchants. Maximum difference between "Start date" and "End date" is 6 months.


Field Name Required? Description
Merchant ID No This is Unique ID


Filter Parameters

Field Name Required? Description
start_date Optional Format (mm/dd/yyyy)
end_date Optional Format (mm/dd/yyyy)
page_no Optional Default value 1
max_record Optional Default value 500
Request:

$data = array(
"token_id" => [TokenID],
"consumer_key" => [Consumer Key],
"merchant_data" => array(
array('Merchant ID' => 'demo10100'),
array('Merchant ID' => 'demo10101'),
),
"start_date" => [Start Date],
"end_date" => [End Date],
"max_record" => 500,
"page_no" => 1
);
$data_string = json_encode($data);
$endpoint = 'https://api.maxpcicomply.com/support/scan';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array( 'Content-Type:application/json', 'Content-Length:'.strlen($data_string)));
$server_output = curl_exec ($ch);
curl_close($ch);
$result = json_decode($server_output);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[scan_status] => Passed
[scan_date] => 01/05/2021
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[scan_status] => Passed
[scan_date] => 01/05/2021
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)

Request:

require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://api.maxpcicomply.com/support/scan')
header = {
'Content-Type': 'text/json'
}
array = {
data1: {
'Merchant ID' : 'demo10100' ,
},
data2: {
'Merchant ID' : 'demo10101' ,
}
}
data = {
token_id: [Token ID],
consumer_key: [Consumer Key],
merchant_data: [array],
start_date: [Start Date],
end_date: [End Date],
max_record: 500,
page_no: 1
}
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = data.to_json
response = http.request(request)

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[scan_status] => Passed
[scan_date] => 01/05/2021
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[scan_status] => Passed
[scan_date] => 01/05/2021
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)

Request:

URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;
url = new URL (getCodeBase().toString() + "env.tcgi");
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty("Content-Type","application/json");
urlConn.setRequestProperty("Host", "https://api.maxpcicomply.com/support/scan");
urlConn.connect();

JSONObject data1 = new JSONObject();
data1.put("Merchant ID", "demo10100");

JSONObject data2 = new JSONObject();
data2.put("Merchant ID", "demo10101");

JSONArray jsonArray = new JSONArray();
jsonArray.put(data1);
jsonArray.put(data2);

//Create JSONObject here
JSONObject jsonParam = new JSONObject();
jsonParam.put("token_id", [Token ID]);
jsonParam.put("consumer_key", [Consumer Key]);
jsonParam.put("start_date", [Start Date]);
jsonParam.put("end_date", [End date]);
jsonParam.put("merchant_data", jsonArray);
jsonParam.put("max_record", 500);
jsonParam.put("page_no", 1);
printout = new DataOutputStream(urlConn.getOutputStream ());
printout.writeBytes(URLEncoder.encode(jsonParam.toString(),"UTF-8"));
printout.flush ();
printout.close ();

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[scan_status] => Passed
[scan_date] => 01/05/2021
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[scan_status] => Passed
[scan_date] => 01/05/2021
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)

Request:

string url = "https://api.maxpcicomply.com/support/scan";
string data = "{"token_id":"token_id","consumer_key":"consumer_key","start_date":[Start Date],"end_date":[End Date],"merchant_data":[{"Merchant ID":"demo10100"},{"Merchant ID":"demo10101"}], "max_record":"500", "page_no":"1"}";

WebRequest myReq = WebRequest.Create(url);
myReq.Method = "POST";
myReq.ContentLength = data.Length;
myReq.ContentType = "application/json; charset=UTF-8";

UTF8Encoding enc = new UTF8Encoding();

using (Stream ds = myReq.GetRequestStream())
{
ds.Write(enc.GetBytes(data), 0, data.Length);
}


WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();
Response.Write(content);

Response:

stdClass Object
(
[status] => 1
[message] =>
[data] => stdClass Object
(
[demo10100] => stdClass Object
(
[merchant_id] => demo10100
[merchant_name] => demo10100
[scan_status] => Passed
[scan_date] => 01/05/2021
)
[demo10101] => stdClass Object
(
[merchant_id] => demo10101
[merchant_name] => demo10101
[scan_status] => Passed
[scan_date] => 01/05/2021
)
)
[txn_id] => txn_fzpGer0HT9boyEjm
[rows] => 500
[total] => 1000
)