Shell Python Node.js Java PHP
« Go to main menu

Marketplace APIs

GET Categories

# Don't forget to add your HMAC Authorization Headers
endpoint = "/marketplace/v1/categories"

r = requests.get(url + endpoint, headers=headers)
print(r)
# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/categories"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'GET',
  url: url + '/marketplace/v1/categories',
  headers: getAuthenticationHeaders()
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/categories");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  System.out.println("json:" + response_string);
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/categories");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this (partial response):

[{
  "id": 100,
  "name": "RETAIL",
  "description": "Retail",
  "rank": 1,
  "imageURL": "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/categories/retail-physical-presence.png"
}, {
  "id": 101,
  "name": "RESTAURANT",
  "description": "Restaurant",
  "rank": 2,
  "imageURL": "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/categories/restaurant-pay-at-the-counter.png"
}, {
  "id": 102,
  "name": "MOTO",
  "description": "Moto (Mail Order Telephone Order)",
  "rank": 3,
  "imageURL": "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/categories/mailorder-telephoneorder.png"
}]

This endpoint retrieves a list of business categories (such as Retail, MOTO and Restaurant) for your Marketplace.

Request

GET /marketplace/v1/categories

Parameter Required Data Type Default Description
no input

Response

This endpoint returns an array of objects, each representing a business category. The following parameters are in each object returned.

Parameter Data Type Description
id integer Numeric value that uniquely identifies a category (canonical identifier).
name string Unique name of the Category used in other API Endpoints as input when referencing this Category.
description string Name of the Category used in the user interface.
rank integer The index of the Category to define the display order in the user interface.
imageURL string Public URL of 1 image associated with the Category.

GET Products

# Don't forget to add your HMAC Authorization Headers
endpoint = "/marketplace/v1/products"

r = requests.get(url + endpoint, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/products"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'GET',
  url: url + '/marketplace/v1/products',
  headers: getAuthenticationHeaders()
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/products");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  System.out.println("json:" + response_string);
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/products");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this (partial response):

[{
  "id": 89393,
  "productId": 231,
  "supplierProductName": "Magtek Checkreader",
  "supplierName": "MAMA",
  "productType": "CHKRDR",
  "productName": "Magtek Checkreader",
  "productShortDescription": "This low cost check reader combines high accuracy with dependability. It reads MICR characters on checks, deposit, withdrawal slips and other documents, as well as the optional magnetic stripe reading capability.Execute reliable electronic ",
  "productLongDescription": "This low cost check reader combines high accuracy with dependability. It reads MICR characters on checks, deposit, withdrawal slips and other documents, as well as the optional magnetic stripe reading capability.Execute reliable electronic check transactions with MagTek's Mini MICR Mini MICR reads real-world checks with the highest accuracy in the industry. Mini MICR's rugged and durable design will provide years of daily use. With over millions check readers installed worldwide, Mini MICR is in service today with major retailers and financial institutions reading billions of checks annually. Mini MICR offers a range of interface options for easy and flexible connectivity to POS terminals, PCs, cash registers, etc. Benefits The MICR data is automatically read from checks in a quick, single-pass. Transaction time and manual entry errors are significantly reduced. Mini MICR can easily format the MICR data to match any application input requirements. Mini MICR's horseshoe design creates the smallest footprint with no additional counter space required to allow for check movement. Applications At the POS, Mini MICR's reliability and functionality are ideal for check verification and check conversion applications. At the Teller Window, Mini MICR's speed and accuracy can significantly reduce transaction time when processing deposits with multiple checks. Ease of Use The easy drop-and-push movement to feed the check facilitates operator training. No complicated alignments required to feed the check.",
  "showoncart": true,
  "productWithOptions": false,
  "pinPad": false,
  "imageUrls": [
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/231/image_1.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/231/image_1.jpg"
  ],
  "categoryIds": [],
  "tags": []
}, {
  "id": 96376,
  "productId": 74042,
  "supplierProductName": "Clover Mini 3G/WiFi",
  "supplierName": "MAMA",
  "productType": "Terminal",
  "productName": "Clover Mini 3G/WiFi",
  "productShortDescription": "A Clover Mini for when WiFi is not always available. One of the most advanced payment terminals on the market. As powerful as it is sleek with a small footprint that won’t hog your counter space. ",
  "productLongDescription": "A Clover Mini for when WiFi is not always available. One of the most advanced payment terminals on the market. As powerful as it is sleek with a small footprint that won’t hog your counter space.  ",
  "showoncart": true,
  "productWithOptions": false,
  "pinPad": false,
  "imageUrls": [
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/74042/image_1.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/74042/image_2.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/74042/image_3.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/74042/image_4.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/74042/image_5.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/74042/image_1.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/74042/image_2.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/74042/image_3.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/74042/image_4.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/74042/image_5.jpg"
  ],
  "categoryIds": [
    100,
    101,
    102,
    107
  ],
  "tags": [
    "HOME"
  ]
}]

This endpoint retrieves a list of products for your Marketplace.

Request

GET /marketplace/v1/products

Parameter Required Data Type Default Description
no input

Response

This endpoint returns an array of objects, each representing a product. The following parameters are in each object returned.

Parameter Data Type Description
id long Unique identifier for rows (First Data’s internal record).
productId long Numeric value that uniquely identifies a product (canonical identifier).
supplierProductName string Name of the product as given by the source (supplier). Use productName in user interface.
supplierName string Name of the supplier.
productType string Indicates the behavior of the product, or when the merchant is charged a fee in case of “Processing/Pricing” products. See list of possible values here.
productName string Name of product to be used in the user interface.
productShortDescription string A short description of the product which can be used to display brief information in the Product List interface.
productLongDescription string A longer, more detailed description of the product, which should be used in the interface showing detailed information about the product.
showoncart boolean Flag to provide guidance on which products should be visibly displayed in the Shopping Cart after being selected.
productWithOptions boolean This indicates if this product has “options” (child products) that the user can select/add to cart individually.
pinPad boolean Indicates if a debit PIN pad is included with the product. true: PIN pad is included. false: PIN pad is not included.
imageUrls array Array of public URLs (string type) of up to 5 pairs of images associated with the product. Images in /large/ directory are full size versions of smaller thumbnails with the same name in /thumb/ directory.
categoryIds array Array of Categories (represented by the id attribute - integer type - of the Category) that the product belongs to.
tags array A list of tags that can be used to search for or filter products.

Possible values for productType

Value Meaning Behavior/Requirements
"ACCES" Hardware or equipment accessory
"APP_FEE" Application fee
"CABLES" Cables for hardware
"CHKRDR" Check reader equipment A "CHKRDR" type product is required if a check acceptance product is selected.
"GAS" Hardware/Equipment for petroleum products
"IMP" Imprinter equipment
"INET_HOST" Hosted Gateway
"INET_MISC" Misc. Gateway
"MO_FEE" Fee that is charged on a monthly basis
"NET_FEE" Fee that is charged on every card transaction or occurrence
"OTHER" Other
"PINPAD" Pin pad for terminals and registers A "PINPAD" type product is required if “Debit” processing product option is selected.
"PP_CABLES" Cables for PINPAD products
"PRNTR" Printer
"Power_Sup" Power supply for hardware and equipment
"REG" Register
"SATBUNDLE" Products that use some sort of network - Datawire etc.
"SETUP_FEE" Fees for setting up a merchant for acquiring
"SOFT" Software
"STAND" Stand and mounting products for hardware and equipment
"TERM" Terminal Minimum 1 "TERM" type product is required to onboard new merchants.

GET Product/Details

# Don't forget to add your HMAC Authorization Headers
endpoint = "/marketplace/v1/products/74042/details"

r = requests.get(url + endpoint, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/products/74042/details"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'GET',
  url: url + '/marketplace/v1/products/74042/details',
  headers: getAuthenticationHeaders()
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/products/74042/details");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/products/74042/details");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{
  "id": 96376,
  "productId": 74042,
  "supplierProductName": "Clover Mini 3G/WiFi",
  "supplierName": "MAMA",
  "productType": "Terminal",
  "productName": "Clover Mini 3G/WiFi",
  "productShortDescription": "A Clover Mini for when WiFi is not always available. One of the most advanced payment terminals on the market. As powerful as it is sleek with a small footprint that won’t hog your counter space.",
  "productLongDescription": "A Clover Mini for when WiFi is not always available. One of the most advanced payment terminals on the market. As powerful as it is sleek with a small footprint that won’t hog your counter space.",
  "showoncart": true,
  "price": 649,
  "productWithOptions": false,
  "pinPad": true,
  "imageUrls": [
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/74042/image_1.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/74042/image_2.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/74042/image_3.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/74042/image_4.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/74042/image_5.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/74042/image_1.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/74042/image_2.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/74042/image_3.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/74042/image_4.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/74042/image_5.jpg"
  ],
  "categoryIds": [ ],
  "pricingModel": [
    {
      "id": 6881,
      "fkProdId": 74042,
      "fkCompanyId": 386,
      "purchaseType": "IP3",
      "defaultAmt": 219,
      "status": "A",
      "occurrence": "Recurring",
      "purchaseTypeLabel": "3 Month Installment"
    },
    {
      "id": 6879,
      "fkProdId": 74042,
      "fkCompanyId": 386,
      "purchaseType": "LT36",
      "defaultAmt": 30.93,
      "status": "A",
      "occurrence": "Recurring",
      "purchaseTypeLabel": "36 Month Lease"
    },
    {
      "id": 6878,
      "fkProdId": 74042,
      "fkCompanyId": 386,
      "purchaseType": "P",
      "defaultAmt": 649,
      "status": "A",
      "occurrence": "Onetime_Product",
      "purchaseTypeLabel": "Purchased"
    }
  ]
}

This endpoint retrieves the product details for any given product.

Request

GET /marketplace/v1/products/{productId}/details

In the URL, use the productId as it was returned in the response of the GET Products API.

Parameter Required Data Type Default Description
no input

Response

This endpoint returns an object containing information such as descriptions, price and other detailed attributes of the product. The following parameters are in each object returned.

Parameter Data Type Description
id long Unique identifier for rows (First Data’s internal record).
productId long Numeric value that uniquely identifies a product (canonical identifier).
supplierProductName string Name of the product as given by the source (supplier). Use productName in user interface.
supplierName string Supplier name.
productType string Indicates the behavior of the product, or when the merchant is charged a fee in case of “Processing/Pricing” products. See list of possible values here.
productName string Name of product to be used in the user interface.
productShortDescription string A short description of the product which can be used to display brief information in the Product List interface.
productLongDescription string A longer, more detailed description of the product, which should be used in the interface showing detailed information about the product.
showoncart boolean Flag to provide guidance on which products should be visibly displayed in the Shopping Cart after being selected.
price float Product price in USD.
productWithOptions boolean This indicates if this product has “options” (child products) that the user can select/add to cart individually.
pinPad boolean Indicates if a debit PIN pad is included with the product. true: PIN pad is included. false: PIN pad is not included.
categoryIds array Array of Categories (represented by the id attribute - integer type - of the Category) that the product belongs to.
imageUrls array Array of public URLs (string type) of up to 5 pairs of images associated with the product. Images in /large/ directory are full size versions of smaller thumbnails with the same name in /thumb/ directory.
pricingModel array Array of pricing type objects contains the different kinds of purchasing options available for the product. Each object in the array represents a “pricing type product.”
id long Unique Identifier for every pricing product.
fkProdId long Same as productId. Numeric value that uniquely identifies a product that the pricing type product belongs to.
purchaseType string Abbreviated code for purchase types. See list of possible values here.
defaultAmt float Amount to be paid when selecting the particular purchase type in USD.
occurrence string Information about the occurrence of the charge. Possible values: "OneTime_Products" - the amount is paid once. "Recurring" - the amount is paid periodically.
purchaseTypeLabel string The description (“name”) of the purchase type to display in the user interface. Possible values: "Purchased", "Rental", "Lease", "Installment"

Possible values for purchaseType

The purchaseType together with occurrence in the pricingModel array defines the frequency/means of defaultAmt is charged for a product.

Value associated purchaseTypeLabel Meaning
"IP3" “3 Month Installment” Pay the defaultAmt in installments every month for a period of 3 months.
"IP6" “6 Month Installment” Pay the defaultAmt in installments every month for a period of 6 months.
"IP9" “9 Month Installment” Pay the defaultAmt in installments every month for a period of 9 months.
"IP12" “12 Month Installment” Pay the defaultAmt in installments every month for a period of 12 months.
"LR" “Lease Rental” Pay the defaultAmt every month to lease the product.
"LT12" “12 Month Lease” Pay the defaultAmt every month for a period of 12 months (lease term) to lease the product.
"LT24" “24 Month Lease” Pay the defaultAmt every month for a period of 24 months (lease term) to lease the product.
"LT27" “27 Month Lease” Pay the defaultAmt every month for a period of 27 months (lease term) to lease the product.
"LT36" “36 Month Lease” Pay the defaultAmt every month for a period of 36 months (lease term) to lease the product.
"LT48" “48 Month Lease” Pay the defaultAmt every month for a period of 47 months (lease term) to lease the product.
"LT60" “60 Month Lease” Pay the defaultAmt every month for a period of 60 months (lease term) to lease the product.
"O" “Owned” Currently owned (compatible) equipment to be added to the account during on-boarding.
"P" “Purchased” Pay the defaultAmt to purchase the product.
"R" “Rent”
"RP" “Re-program” The currently owned (compatible) equipment is to be re-programmed to work with First Data and the defaultAmt is charged.
"S" “Swap”
"SR" “Short Term Rental” The defaultAmt is charged periodically for the time of rental.

GET Product/Features

# Don't forget to add your HMAC Authorization Headers
endpoint = "/marketplace/v1/products/74042/features"

r = requests.get(url + endpoint, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/products/74042/features"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'GET',
  url: url + '/marketplace/v1/products/74042/features',
  headers: getAuthenticationHeaders()
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/products/74042/features");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  System.out.println("json:" + response_string);
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/products/74042/features");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

[
    "Use as a powerful payment terminal or full featured point of sale with Clover Register Plan (Item level orders and inventory tracking).",
    "3G connectivity option: Requires data plan (your own or a plan provided by Clover).",
    "End-to-end encryption, data tokenization, and hardware designed exclusively for payments processing. ",
    "Built in printer, on-screen signature capture, and front facing camera for barcode and QR code scanning,",
    "Access to Clover App Market with apps designed to help you sell more and run your business better."
]

This endpoint retrieves a list of features for any given product.

Request

GET /marketplace/v1/products/{productId}/features

In the URL, use the productId as it was returned in the response of the GET Products API.

Parameter Required Data Type Default Description
no input

Response

This endpoint returns an array of strings, each representing a feature.

Parameter Data Type Description
features array List of features.
feature string One feature line.

GET Product/Includes

# Don't forget to add your HMAC Authorization Headers
endpoint = "/marketplace/v1/products/74042/includes"

r = requests.get(url + endpoint, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers

ENDPOINT="$URL/marketplace/v1/products/74042/includes"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'GET',
  url: url + '/marketplace/v1/products/74042/includes',
  headers: getAuthenticationHeaders()
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/products/74042/includes");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  System.out.println("json:" + response_string);
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/products/74042/includes");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this (partial response):

[{
  "id": 95667,
  "productId": 65823,
  "supplierProductName": "CLVSGL",
  "supplierName": "MAMA",
  "productType": "ACCES",
  "productName": " Clover Register Software",
  "productShortDescription": "The center of your Clover activities including taking orders and payments. Simple to use and ready to meet the demands of business.",
  "productLongDescription": "The center of your Clover activities including taking orders and payments. Simple to use and ready to meet the demands of business.",
  "showoncart": true,
  "productWithOptions": false,
  "pinPad": false,
  "imageUrls": [
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/65823/image_1.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/65823/image_1.jpg"
  ]
}, {
  "id": 96368,
  "productId": 73942,
  "supplierProductName": "AA105K",
  "supplierName": "MAMA",
  "productType": "ITERM",
  "productName": "Clover Mini 3G/WiFi",
  "productShortDescription": "A Clover Mini for when WiFi is not always available. One of the most advanced payment terminals on the market. As powerful as it is sleek with a small footprint that won’t hog your counter space.",
  "productLongDescription": "A Clover Mini for when WiFi is not always available. One of the most advanced payment terminals on the market. As powerful as it is sleek with a small footprint that won’t hog your counter space.",
  "showoncart": true,
  "productWithOptions": false,
  "pinPad": false,
  "imageUrls": [
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/73942/image_1.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/73942/image_2.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/73942/image_3.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/73942/image_4.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/73942/image_5.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/73942/image_1.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/73942/image_2.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/73942/image_3.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/73942/image_4.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/73942/image_5.jpg"
  ]
}]

This endpoint retrieves a list of “included products” that come with any given product. This may include things such as built-in hardware and accessories and/or software that comes with it.

HTTP Request

GET /marketplace/v1/products/{productId}/includes

In the URL, use the productId as it was returned in the response of the GET Products API.

Parameter Required Data Type Default Description
no input

Response

The endpoint returns an array of objects, each representing an included product. The following parameters are in each object returned.

Parameter Data Type Description
id long Unique identifier for rows (First Data’s internal record).
productId long Numeric value that uniquely identifies a product (canonical identifier).
supplierProductName string Name of the product as given by the source (supplier). Use productName in user interface.
supplierName string Supplier name.
productType string Indicates the behavior of the product, or when the merchant is charged a fee in case of “Processing/Pricing” products. See list of possible values here.
productName string Name of product to be used in the user interface.
productShortDescription string A short description of the product which can be used to display brief information in the Product List interface.
productLongDescription string A longer, more detailed description of the product, which should be used in the interface showing detailed information about the product.
showoncart boolean Flag to provide guidance on which products should be visibly displayed in the Shopping Cart after being selected.
price float Product price in USD.
productWithOptions boolean This indicates if this product has “options” (child products) that the user can select/add to cart individually.
pinPad boolean Indicates if a debit PIN pad is included with the product. true: PIN pad is included. false: PIN pad is not included.
imageUrls array Array of public URLs (string type) of up to 5 pairs images associated with the product. Images in /large/ directory are full size versions of smaller thumbnails with the same name in /thumb/ directory.

GET Product/Specs

# Don't forget to add your HMAC Authorization Headers
endpoint = "/marketplace/v1/products/74042/specs"

r = requests.get(url + endpoint, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/products/74042/specs"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'GET',
  url: url + '/marketplace/v1/products/74042/specs',
  headers: getAuthenticationHeaders()
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});

// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/products/74042/specs");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/products/74042/specs");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{
  "Materials": [
    "Display: Antimicrobial Corning Gorilla Glass"
  ],
  "Weight": [
    "device: 2.3 lbs",
    "device + hub: 2.6 lbs"
  ],
  "Internet Connectivity": [
    "3G (Pentaband HSPA+): requires data plan — bring your own or use the one provided by Clover.",
    "Wi-Fi (802.11a/b/g/n wireless)",
    "Ethernet"
  ],
  "Screen Size": [
    "7\", 1280 px x 800 px"
  ],
  "Power Source": [
    "External power adapter with DC input"
  ],
  "Overall Dimensions": [
    "D: 3.73\"",
    "W: 8.0\"",
    "H: 6.47\""
  ],
  "Payments": [
    "EMV chip card reader",
    "NFC reader (EMV compliant)",
    "3-Track Magstripe reader"
  ]
}

This endpoint retrieves a list of technical specifications for any given product. This may include information such as height and weight as well as the materials the product is made of in the case of a hardware type product.

Request

GET /marketplace/v1/products/{productId}/specs

In the URL, use the productId as it was returned in the response of the GET Products API.

Parameter Required Data Type Default Description
no input

Response

The endpoint returns an object with arrays, each representing a “line” in the specification. Each “line” array may contain multiple lines of specifications as strings.

Parameter Data Type Description
specifications array The specifications are returned as an array of objects. Each specification object contains a keyword and array pairs of product specifications such as “weight” etc.
# Don't forget to add your HMAC Authorization Headers
endpoint = "/marketplace/v1/products/74042/recommended"

r = requests.get(url + endpoint, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/products/74042/recommended"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'GET',
  url: url + '/marketplace/v1/products/74042/recommended',
  headers: getAuthenticationHeaders()
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/products/74042/recommended");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  System.out.println("json:" + response_string);
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/products/74042/recommended");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this (partial response):

[{
  "id": 95870,
  "productId": 67664,
  "supplierProductName": "CLVCDR",
  "supplierName": "MAMA",
  "productType": "ACCES",
  "productName": "Cash Drawer",
  "productShortDescription": "Each Clover Station comes with a matching cash drawer. But with all the money you'll be making, you may need an extra drawer in which to stash your cash.",
  "productLongDescription": "Each Clover Station comes with a matching cash drawer. But with all the money you'll be making, you may need an extra drawer in which to stash your cash.",
  "showoncart": true,
  "price": 50,
  "productWithOptions": false,
  "pinPad": false,
  "imageUrls": [
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/67664/image_1.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/67664/image_1.jpg"
  ]
}, {
  "id": 96507,
  "productId": 76002,
  "supplierProductName": "AA110B",
  "supplierName": "MAMA",
  "productType": "ACCES",
  "productName": "Clover Merchant Keypad",
  "productShortDescription": "Engage your customers while they pay on Clover Mini, as you control the process from Clover Merchant Keypad. Quickly switch between taking payments, issuing card refunds, and authorizing cards for later payments while presenting customers w",
  "productLongDescription": "Engage your customers while they pay on Clover Mini, as you control the process from Clover Merchant Keypad. Quickly switch between taking payments, issuing card refunds, and authorizing cards for later payments while presenting customers with Clover Mini as a friendly and modern payment display.",
  "showoncart": true,
  "price": 79,
  "productWithOptions": false,
  "pinPad": false,
  "imageUrls": [
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/76002/image_1.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/large/76002/image_2.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/76002/image_1.jpg",
    "https://s3-us-west-2.amazonaws.com/fdmarketplace/res/img/products/thumb/76002/image_2.jpg"
  ]
}]

This endpoint retrieves all Recommended Products for any given product. For example, a terminal system may have items like a weight scale and kitchen printer as its Recommended Products.

Request

GET /marketplace/v1/products/{productId}/recommended

In the URL, use the productId as it was returned in the response of the GET Products API.

Parameter Required Data Type Default Description
no input

Response

The endpoint returns an array of objects, each representing a Recommended Product. The following parameters are in each object returned.

Parameter Data Type Description
id long Unique identifier for rows (First Data’s internal record).
productId long Numeric value that uniquely identifies a product (canonical identifier).
supplierProductName string Name of the product as given by the source (supplier). Use productName in user interface.
supplierName string Supplier name.
productType string Indicates the behavior of the product, or when the merchant is charged a fee in case of “Processing/Pricing” products. See list of possible values here.
productName string Name of product to be used in the user interface.
productShortDescription string A short description of the product which can be used to display brief information in the Product List interface.
productLongDescription string A longer, more detailed description of the product, which should be used in the interface showing detailed information about the product.
showoncart boolean Flag to provide guidance on which products should be visibly displayed in the Shopping Cart after being selected.
price float Product price in USD.
productWithOptions boolean Indicates if this product has “options” (child products) that the user can select/add to cart individually.
pinPad boolean Indicates if a debit PIN pad is included with the product. true: PIN pad is included. false: PIN pad is not included.
imageUrls array Array of public URLs (string type) of up to 5 pairs images associated with the product. Images in /large/ directory are full size versions of smaller thumbnails with the same name in /thumb/ directory.

GET Product/FAQ

# Don't forget to add your HMAC Authorization Headers
endpoint = "/marketplace/v1/products/74042/faq"

r = requests.get(url + endpoint, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/products/74042/faq"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'GET',
  url: url + '/marketplace/v1/products/74042/faq',
  headers: getAuthenticationHeaders()
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});

// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/products/74042/faq");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  System.out.println("json:" + response_string);
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/products/74042/faq");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

[{
  "header": "Printer Paper Sizes?",
  "shortAnswer": "The Clover Station Printer takes 3 1/8” X 230’ thermal paper rolls.",
  "url": "https://gyftteam.atlassian.net/wiki/pages/viewpage.action?pageId=57933826",
  "sortId": 1
}, {
  "header": "Which weight scales are supported by Clover?",
  "shortAnswer": "Clover supports the CAS SW-20 Weight Scale. In order to connect the scale to your Clover Station or Clover Mini, you will need a custom cable that comes bundled with the scale when purchased from your Clover provider.",
  "url": "https://gyftteam.atlassian.net/wiki/pages/viewpage.action?pageId=55378004",
  "sortId": 2
}, {
  "header": "Does Clover support layaway?",
  "shortAnswer": "Clover does not currently support layaway directly on Register app register-app-icon. Third party apps may support layaway in the future.",
  "url": "https://gyftteam.atlassian.net/wiki/pages/viewpage.action?pageId=57212991",
  "sortId": 3
}, {
  "header": "Does Clover integrate with E-commerce?",
  "shortAnswer": "Our third party apps E-commerce solutions for you...",
  "url": "https://gyftteam.atlassian.net/wiki/pages/viewpage.action?pageId=57212992",
  "sortId": 4
}]

This endpoint retrieves a list of frequently asked questions for any given product.

Request

GET /marketplace/v1/products/{productId}/faq

In the URL, use the productId as it was returned in the response of the GET Products API.

Parameter Required Data Type Default Description
no input

Response

The endpoint returns an array of objects, each representing a FAQ entry. The following parameters are in each object returned.

Parameter Data Type Description
header string Question.
shortAnswer string Brief answer to the question that can be displayed in the user interface as a “snippet” of the whole answer.
url string Public URL of the detailed knowledge base article, explaining the answer to this question.
sortId integer The index of the FAQ entry to define the display order in the user interface.

POST Cart/Validate v1

# Don't forget to add your HMAC Authorization Headers
data = {
  "merchant": "",
  "cartdetails": [
    { "productId": 67702 },
    { "productId": 10013 },
    { "productId": 10017 },
    { "productId": 10021 },
    { "productId": 10023 }
  ],
  "transactionInfo": {
    "mccTypes": "",
    "mcc": "null",
    "annualVolume": "null",
    "averageTicket": "null",
    "amexVolume": "null",
    "amexMemberId": "null",
    "highestTicket": "null",
    "category": "null"
  }
}
endpoint = "/marketplace/v1/cart/validate"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/cart/validate"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "merchant":"",
  "cartdetails":[
    {"productId":67702},
    {"productId":10013},
    {"productId":10017},
    {"productId":10021},
    {"productId":10023}
  ],
  "transactionInfo":{
    "mccTypes":"",
    "mcc":null,
    "annualVolume":null,
    "averageTicket":null,
    "amexVolume":null,
    "highestTicket":null,
    "category":null
  }
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'POST',
  url: url + '/marketplace/v1/cart/validate',
  headers: getAuthenticationHeaders(),
  body: {
    merchant: "",
    cartdetails: [
      { productId: 67702 },
      { productId: 10013 },
      { productId: 10017 },
      { productId: 10021 },
      { productId: 10023 }
    ],
    transactionInfo: {
      mccTypes: "",
      mcc: null,
      annualVolume: null,
      averageTicket: null,
      amexVolume: null,
      amexMemberId: null,
      highestTicket: null,
      category: null
    }
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
            "  \"merchant\": \"\",\n" +
            "  \"cartdetails\": [{\n" +
            "    \"productId\": 67702\n" +
            "  }, {\n" +
            "    \"productId\": 10013\n" +
            "  }, {\n" +
            "    \"productId\": 10017\n" +
            "  }, {\n" +
            "    \"productId\": 10021\n" +
            "  }, {\n" +
            "    \"productId\": 10023\n" +
            "  }],\n" +
            "  \"transactionInfo\": {\n" +
            "    \"mccTypes\": \"\",\n" +
            "    \"mcc\": null,\n" +
            "    \"annualVolume\": null,\n" +
            "    \"averageTicket\": null,\n" +
            "    \"amexVolume\": null,\n" +
            "    \"amexMemberId\": null,\n" +
            "    \"highestTicket\": null,\n" +
            "    \"category\": null\n" +
            "  }\n" +
            "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/cart/validate", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
    'merchant' => '',
    'cartdetails' =>
        array (
            0 =>
                array (
                    'productId' => 74862,
                ),
            1 =>
                array (
                    'productId' => 10014,
                ),
            2 =>
                array (
                    'productId' => 10018,
                ),
        ),
    'transactionInfo' =>
        array (
            'mccTypes' => 'Restaurant Beverage and Food',
            'mcc' => '5812',
            'annualVolume' => 1000,
            'averageTicket' => 1,
            'amexVolume' => NULL,
            'highestTicket' => 2,
            'category' => 'RESTAURANT',
        ),
);


$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/cart/validate");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

Example payload:cartValidate.json

{
  "merchant": "",
  "cartdetails": [
    { "productId": 67702 },
    { "productId": 10013 },
    { "productId": 10017 },
    { "productId": 10021 },
    { "productId": 10023 }
  ],
  "transactionInfo": {
    "mccTypes": "",
    "mcc": null,
    "annualVolume": null,
    "averageTicket": null,
    "amexVolume": null,
    "amexMemberId": null,
    "highestTicket": null,
    "category": null
  }
}

The above command returns JSON structured like this:

Success response

{
  "iscartvalid":true
}

Error response

{
  "iscartvalid": false,
  "carterrors": [{
    "errormessage": "Payment Processing",
    "errortype": "ACQUIRING"
  }]
}

This endpoint can be used for validation of the items in the Shopping Cart, such as products or product types required to be bought together, etc.

Request

POST /marketplace/v1/cart/validate

The endpoint takes a JSON object as input. Refer to the example request for the JSON structure of the request payload.

Parameter Required Data Type Description
cartdetails array Collection of productId representing each product in the the Shopping Cart.
productId long productId: Numeric value that uniquely identifies each product (canonical identifier), as returned in the GET Products endpoint.
transactionInfo object Transactions information used to determine pricing. Contains mccTypes, mcc, annualVolume, averageTicket, highestTicket and category.
mccTypes string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
annualVolume double Actual or estimated annual credit card transaction volume in USD.
averageTicket double Actual or estimated average ticket price in USD.
highestTicket double Actual or estimated highest ticket price in USD.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories).

Response

The endpoint returns an object representing the validation result. The following parameters may be in each object returned.

Parameter Type Description
iscartvalid boolean Validation result: true Cart is valid, false Cart is invalid.
carterrors array If iscartvalid is false, the carterrors is returned as an array of objects where each object represents an error and contains an errortype and errormessage. See list of possible values below.
errortype string String used to filter the cart error products.
errormessage string Error Message you can display in the user interface to notify the user of the error.

Possible values for carterrors

The errortype together with errormessage in the carterrors array provides filtering and guidance on what needs to be modified in the Shopping Cart.

errortype errormessage Suggested Behavior
"ACQUIRING" “Payment Processing” Provide notification to user that a “Payment Processing” product is required.
"PIN PAD" “Pinpad” Provide notification to user that a “PIN Pad” product is required.
"TERM" “POS or Gateway” Provide notification to user that a “POS or Gateway” is required.
"Discover" “Discover is required for PayPal” Provide notification to user that a “Discover is required for PayPal” payment processing option.
"Debit" “Debit cannot be on boarded with selected equipment” Provide notification to user that a “Debit cannot be on boarded with selected equipment”.

POST Cart/Validate v2

# Don't forget to add your HMAC Authorization Headers
data = {
  "cartdetails": [{
      "productId": "67702",
      "category": "RETAIL"
    }, {
      "productId": "10013",
      "category": "RETAIL"
  }]
}

endpoint = "/marketplace/v2/cart/validate"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v2/cart/validate"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "cartdetails": [{
      "productId": "67702",
      "category": "RETAIL"
    }, {
      "productId": "10013",
      "category": "RETAIL"
  }]
}
' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'POST',
  url: url + '/marketplace/v2/cart/validate',
  headers: getAuthenticationHeaders(),
  body: {
  "cartdetails": [{
      "productId": "67702",
      "category": "RETAIL"
    }, {
      "productId": "10013",
      "category": "RETAIL"
  }]
}
,
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
            "  \"cartdetails\": [{\n" +
            "    \"productId\": 67702,\n" +
            "    \"category\": "RETAIL"\n" +
            "  }, {\n" +
            "    \"productId\": 10013,\n" +
            "    \"category\": "RETAIL"\n" +
            "  }]\n" +
            "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v2/cart/validate", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'cartdetails' =>
  array (
      0 =>
      array (
        'productId' => 74862,
        'category' => 'RETAIL',
      ),
      1 =>
      array (
        'productId' => 10014,
        'category' => 'RETAIL'
    ),
  ),
);


$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v2/cart/validate");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

Example payload:cartValidate.json

{
  "cartdetails": [{
      "productId": "67702",
      "category": "RETAIL"
    }, {
      "productId": "10013",
      "category": "RETAIL"
  }]
}

{
  "merchant": "",
  "cartdetails": [{
        "productId": "67702",
        "category": "RETAIL"
      }, {
        "productId": "10013",
        "category": "RETAIL"
    }],
  "transactionInfo": {
    "mccTypes": "",
    "mcc": null,
    "annualVolume": null,
    "averageTicket": null,
    "amexVolume": null,
    "amexMemberId": null,
    "highestTicket": null,
    "category": null
  }
}

The above command returns JSON structured like this:

Success response

{
  "iscartvalid":true
}

Error response

{
  "iscartvalid": false,
  "carterrors": [{
    "errormessage": "Payment Processing",
    "errortype": "ACQUIRING"
  }]
}

This endpoint can be used for validation of the items in the Shopping Cart, such as products or product types required to be bought together, etc.

Request

POST /marketplace/v2/cart/validate

The endpoint takes a JSON object as input. Refer to the example request for the JSON structure of the request payload.

Parameter Required Data Type Description
merchant string Merchant
cartdetails array Collection of productId representing each product in the the Shopping Cart.
productId long productId: Numeric value that uniquely identifies each product (canonical identifier), as returned in the GET Products endpoint.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories) the product belongs to.
transactionInfo object Transactions information used to determine pricing. Contains mccTypes, mcc, annualVolume, averageTicket, highestTicket and category.
mccTypes string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
mccAdditionalDetails string
annualVolume double Actual or estimated annual credit card transaction volume in USD.
averageTicket double Actual or estimated average ticket price in USD.
highestTicket double Actual or estimated highest ticket price in USD.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories).

Response

The endpoint returns an object representing the validation result. The following parameters may be in each object returned.

Parameter Type Description
iscartvalid boolean Validation result: true Cart is valid, false Cart is invalid.
carterrors array If iscartvalid is false, the carterrors is returned as an array of objects where each object represents an error and contains an errortype and errormessage. See list of possible values below.
errortype string String used to filter the cart error products.
errormessage string Error Message you can display in the user interface to notify the user of the error.
errorOrder string The order in which error should be shown, used in case of multiple errors.
productType string Product type.

Possible values for carterrors

The errortype together with errormessage in the carterrors array provides filtering and guidance on what needs to be modified in the Shopping Cart.

errortype errormessage Suggested Behavior
"ACQUIRING" “Payment Processing” Provide notification to user that a “Payment Processing” product is required.
"PIN PAD" “Pinpad” Provide notification to user that a “PIN Pad” product is required.
"TERM" “POS or Gateway” Provide notification to user that a “POS or Gateway” is required.
"Discover" “Discover is required for PayPal” Provide notification to user that a “Discover is required for PayPal” payment processing option.
"Debit" “Debit cannot be on boarded with selected equipment” Provide notification to user that a “Debit cannot be on boarded with selected equipment”.

GET Industry

# Don't forget to add your HMAC Authorization Headers
endpoint = url + "/marketplace/v1/categories/RETAIL/industries"
r = requests.get(endpoint, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/categories/RETAIL/industries"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'GET',
  url: url + '/marketplace/v1/categories/RETAIL/industries',
  headers: getAuthenticationHeaders()
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/categories/RETAIL/industries");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  System.out.println("json:" + response_string);
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/categories/RETAIL/industries");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

[{
    "industryDescription": "Medical Services and Doctors"
  }, {
    "industryDescription": "Restaurant Beverage and Food"
  }, {
    "industryDescription": "Home and Garden (Hardware, Florists, Home Supply)"
  }, {
   "industryDescription": "Contractors (Plumbers, Electricians, etc)"
  }, {
    "industryDescription": "Business to Business - Wholesale (Services)"
}]

This endpoint retrieves the broad industry description (industryDescription) labels for a given business category. Result values returned by this endpoint can be used in the request of the GET MCC/Industry endpoint.

Request

GET /marketplace/v1/categories/{categoryName}/industries

In the URL, use the name attribute of any selected business category to get a list of industries.

Parameter Required Data Type Default Description
no input

Response

This endpoint returns an array of objects each containing a string. These objects represent the industry.

Parameter Type Description
industryDescription string Label/description for broad industry inside of the business category.

GET MCC/Industry

# Don't forget to add your HMAC Authorization Headers
endpoint = url + "/marketplace/v1/categories/RETAIL/industries/Restaurant%20Beverage%20and%20Food/merchantcategorycodes"
r = requests.get(endpoint, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/categories/RETAIL/industries/Restaurant%20Beverage%20and%20Food/merchantcategorycodes"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'GET',
  url: url + '/marketplace/v1/categories/RETAIL/industries/Restaurant%20Beverage%20and%20Food/merchantcategorycodes',
  headers: getAuthenticationHeaders()
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/categories/RETAIL/industries/Restaurant%20Beverage%20and%20Food/merchantcategorycodes");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  System.out.println("json:" + response_string);
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/categories/RETAIL/industries/Restaurant%20Beverage%20and%20Food/merchantcategorycodes");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this (partial response):

[{
    "mcc": "0744",
    "mccList": "Champagne Producers"
  },
  {
    "mcc": "5411",
    "mccList": "Grocery Supermarkets"
  },
  {
    "mcc": "5422",
    "mccList": "Freezer and Locker Meat Provisioners"
  },
  {
    "mcc": "5441",
    "mccList": "Candy, Nut and Confectionery Stores"
  },
  {
    "mcc": "5451",
    "mccList": "Dairy Products Stores"
}]

This endpoint retrieves the MCC - Merchant Category Code(s) - for a given industry.

Request

GET /marketplace/v1/categories/{categoryName}/industries/{industryDescription}/merchantcategorycodes/

In the URL, use the name attribute of the business category and an industryDescription, as returned in the GET Industry.

Parameter Required Data Type Default Description
no input

Response

This endpoint returns an array of objects each containing two strings. Each of these objects represent one MCC code and contain the numerical code (mcc) and the associated description/label (mccList).

Parameter Type Description
mcc string MCC (Merchant Category Code) is a four-digit number used to classify industry areas. The MCC is assigned by the acquiring financial institution when a merchant initially begins accepting credit cards.
mccList string Label/description for the MCC code, which can be displayed in the user interface to help the user make a selection.

POST Pricing/Equipment v1

# Don't forget to add your HMAC Authorization Headers
data = {
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "annualVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "products": [{
    "id": 67702,
    "name": "Clover Mini 3G/WiFi",
    "price": 649,
    "type": "Clover Mini 3G/WiFi",
    "term": "P",
    "qty": 1
  }]
}

endpoint = "/marketplace/v1/pricing/equipment"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/pricing/equipment"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "annualVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "products": [{
    "id": 74042,
    "name": "Clover Mini 3G/WiFi",
    "price": 649,
    "type": "Clover Mini 3G/WiFi",
    "term": "P",
    "qty": 1
  }]
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'POST',
  url: url + '/marketplace/v1/pricing/equipment',
  headers: getAuthenticationHeaders(),
  body: {
    "transactionInfo": {
      "mccTypes": "Clothing and Shoes",
      "mcc": "5611",
      "annualVolume": 100000,
      "averageTicket": 80,
      "highestTicket": 400,
      "category": "RETAIL"
    },
    "products": [{
      "id": 74042,
      "name": "Clover Mini 3G/WiFi",
      "price": 649,
      "type": "Clover Mini 3G/WiFi",
      "term": "P",
      "qty": 1
    }]
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
         "  \"transactionInfo\": {\n" +
         "    \"mccTypes\": \"Clothing and Shoes\",\n" +
         "    \"mcc\": \"5611\",\n" +
         "    \"annualVolume\": 100000,\n" +
         "    \"averageTicket\": 80,\n" +
         "    \"highestTicket\": 400,\n" +
         "    \"category\": \"RETAIL\"\n" +
         "  },\n" +
         "  \"products\": [{\n" +
         "    \"id\": 67702,\n" +
         "    \"name\": \"Clover Station W/ Cash Drawer\",\n" +
         "    \"price\": 1299,\n" +
         "    \"type\": \"Clover Station W/ Cash Drawer\",\n" +
         "    \"term\": \"P\",\n" +
         "    \"qty\": 1\n" +
         "  }]\n" +
         "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/pricing/equipment", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'transactionInfo' =>
  array (
    'mccTypes' => 'Clothing and Shoes',
    'mcc' => '5611',
    'annualVolume' => 100000,
    'averageTicket' => 80,
    'highestTicket' => 400,
    'category' => 'RETAIL',
  ),
  'products' =>
  array (
    0 =>
    array (
      'id' => 74042,
      'name' => 'Clover Mini 3G/WiFi',
      'price' => 649,
      'type' => 'Clover Mini 3G/WiFi',
      'term' => 'P',
      'qty' => '1',
    ),
  ),
);

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/pricing/equipment");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

Example payload:equipment.json

{
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "annualVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "products": [{
    "id": 74042,
    "name": "Clover Mini 3G/WiFi",
    "price": 649,
    "type": "Clover Mini 3G/WiFi",
    "term": "P",
    "qty": "1"
  }]
}

The above command returns JSON structured like this (partial response):

[{
    "productId": 74042,
    "feeMin": 0,
    "feeDefault": 0,
    "feeMax": 0,
    "defaultAmt": 649,
    "minAmt": 499,
    "maxAmt": 746,
    "quantity": 1,
    "rateMin": 0,
    "rateDefault": 0,
    "rateMax": 0,
    "productName": "Clover Mini 3G/WiFi",
    "productType": "IBUNDLE",
    "isOverride": false,
    "override": false,
    "showoncart": false,
    "purchaseType": "P",
    "occurrence": {
      "type": "Onetime_Product"
    }
  }, {
    "pricingDetailId": 160,
    "pricingTypeId": 10000,
    "productId": 64262,
    "description": "32I_APP_FEE",
    "feeMin": 0,
    "feeDefault": 0,
    "feeMax": 0,
    "defaultAmt": 149,
    "minAmt": 0,
    "maxAmt": 500,
    "quantity": 1,
    "rateMin": 0,
    "rateDefault": 0,
    "rateMax": 0,
    "productName": "Application Fee",
    "productType": "APP_FEE",
    "isOverride": false,
    "override": false,
    "showoncart": true,
    "occurrence": {
      "type": "Onetime_Fee"
    }
}]

This endpoint can be used to retrieve “pricing” for any given product (or collection of products) such as the product’s own pricing, pricing for products included, and any associated fees - each considered a “Pricing Product.”

Request

POST /marketplace/v1/pricing/equipment

The endpoint takes a JSON object as input. Refer to the “Example request payload” for the JSON structure of the request payload object.

Parameter Required Data Type Description
products array Array of objects each (representing a product) contains id, name, price, type, term and qty.
id long productId: Numeric value that uniquely identifies each product (canonical identifier), as returned in the GET Products endpoint.
name string productName: Product name.
price float Unit price for a product in USD.
type string productType: Indicates the behavior of the Pricing Product, or when the merchant is charged a fee. See list of possible values here.
term string purchaseType. See list of possible values here.
qty integer Quantity selected.
transactionInfo object Transactions information used to determine pricing. Contains mccTypes, mcc, annualVolume, averageTicket, highestTicket and category.
mccTypes string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
annualVolume double Actual or estimated annual credit card transaction volume in USD.
averageTicket double Actual or estimated average ticket price in USD.
highestTicket double Actual or estimated highest ticket price in USD.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories).

Response

This API returns an array of objects, each representing a “Pricing Product.” Each object contains the following keyword-value pairs.

Return Parameters in italic are used in our ISO program. They should be hidden from the user.

Parameter Data Type Description
productId integer Numeric value that uniquely identifies a product (canonical identifier).
pricingDetailId integer Numeric value that uniquely identifies a Pricing Strategy.
pricingTypeId integer Numeric value that uniquely identifies a Pricing Type.
productName string The name of the Pricing Product that can be displayed in the user interface.
description string Short description of the product.
productType string Indicates the behavior of the Pricing Product, or when the merchant is charged this fee. See list of possible values here.
quantity integer Quantity of the Pricing Product to be added to the order. (Generally 1.)
defaultAmt integer Price/amount to be collected (usually as a one-time payment) in USD.
minAmt integer
maxAmt integer
feeDefault integer Fee charged per occurrence in USD.
feeMin integer
feeMax integer
rateDefault integer Percentage of transaction amount charged per occurrence.
rateMin integer
isOverride boolean
override boolean
showoncart boolean Flag to provide guidance on which products should be visibly displayed in the Shopping Cart.
occurrence object
type string Occurrence indicates the event the rate/fee/amount is charged: "Transaction": charged for every transaction, "Onetime_Product": charged once. i.e. Application fee, "Recurring": charged on a recurring basis, see productType for more information.
productAttribute object Contains name, value and domain.
name string Product attribute name.
value string Product attribute value.
domain string Domain like pricing.

POST Pricing/Equipment v2

# Don't forget to add your HMAC Authorization Headers
data = {
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "mccAdditionalDetails": "",
    "annualVolume": 23000,
    "annualcardVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "cardNotPresent": 1,
  "cartDetails": [
    {
      "productId": "67702",
      "name": "Clover Mini 3G/WiFi",
      "price": 649,
      "type": "Terminal",
      "term": "P",
      "category": "RETAIL",
      "qty": 1
    }
  ]
}


endpoint = "/marketplace/v1/pricing/equipment"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/pricing/equipment"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "mccAdditionalDetails": "",
    "annualVolume": 23000,
    "annualcardVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "cardNotPresent": 1,
  "cartDetails": [
    {
      "productId": "67702",
      "name": "Clover Mini 3G/WiFi",
      "price": 649,
      "type": "Terminal",
      "term": "P",
      "category": "RETAIL",
      "qty": 1
    }
  ]
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'POST',
  url: url + '/marketplace/v1/pricing/equipment',
  headers: getAuthenticationHeaders(),
  body: {
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "mccAdditionalDetails": "",
    "annualVolume": 23000,
    "annualcardVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "cardNotPresent": 1,
  "cartDetails": [
    {
      "productId": "67702",
      "name": "Clover Mini 3G/WiFi",
      "price": 649,
      "type": "Terminal",
      "term": "P",
      "category": "RETAIL",
      "qty": 1
    }
  ]
}, json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
         "  \"transactionInfo\": {\n" +
         "    \"mccTypes\": \"Clothing and Shoes\",\n" +
         "    \"mcc\": \"5611\",\n" +
         "    \"annualVolume\": 100000,\n" +
         "    \"averageTicket\": 80,\n" +
         "    \"highestTicket\": 400,\n" +
         "    \"category\": \"RETAIL\"\n" +
         "  },\n" +
         "  \"cardNotPresent\": 1,\n" +  
         "  \"cartDetails\": [\n" +    
         "    {\n" +     
         "    \"productId\": \"67702\",\n" +      
         "    \"name\": \"Clover Mini 3G/WiFi\",\n" +      
         "    \"price\": 649,\n" +      
         "    \"type\": \"Terminal\",\n" +      
         "    \"term\": \"P\",\n" +      
         "    \"category\": \"RETAIL\",\n" +        
         "    \"qty\": 1\n" +      
         "    }\n" +
         "  ]\n" +
         "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/pricing/equipment", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'transactionInfo' => 
  array (
    'mccTypes' => 'Clothing and Shoes',
    'mcc' => '5611',
    'mccAdditionalDetails' => '',
    'annualVolume' => 23000,
    'annualcardVolume' => 100000,
    'averageTicket' => 80,
    'highestTicket' => 400,
    'category' => 'RETAIL',
  ),
  'cardNotPresent' => 1,
  'cartDetails' => 
  array (
    0 => 
    array (
      'productId' => '67702',
      'name' => 'Clover Mini 3G/WiFi',
      'price' => 649,
      'type' => 'Terminal',
      'term' => 'P',
      'category' => 'RETAIL',
      'qty' => 1,
    ),
  ),
);

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/pricing/equipment");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

Example payload:equipment.json

{
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "mccAdditionalDetails": "",
    "annualVolume": 23000,
    "annualcardVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "cardNotPresent": 1,
  "cartDetails": [
    {
      "productId": "67702",
      "name": "Clover Mini 3G/WiFi",
      "price": 649,
      "type": "Terminal",
      "term": "P",
      "category": "RETAIL",
      "qty": 1
    }
  ]
}

The above command returns JSON structured like this (partial response):

[{
  "productId": "67702",
  "feeMinAbsolute": 0,
  "feeMin": 0,
  "feeDefault": 0,
  "feeMax": 0,
  "feeMaxAbsolute": 0,
  "minAmountAbsolute": 499,
  "minAmt": 999,
  "defaultAmt": 1599,
  "maxAmt": 1840,
  "maxAmountAbsolute": 1840,
  "quantity": 1,
  "rateMinAbsolute": 0,
  "rateMin": 0,
  "rateDefault": 0,
  "rateMax": 0,
  "rateMaxAbsolute": 0,
  "productName": "Clover Station W/ Cash Drawer",
  "productType": "IBUNDLE",
  "isOverride": false,
  "override": false,
  "showoncart": false,
  "purchaseType": "P",
  "occurrence": {
    "type": "Onetime_Product"
  },
  "paymentType": "P",
  "paymentTerm": "",
  "category": "RETAIL"
},
{
  "pricingDetailId": 160,
  "pricingTypeId": 10000,
  "productId": "64262",
  "description": "Application Fee",
  "feeMinAbsolute": 0,
  "feeMin": 0,
  "feeDefault": 0,
  "feeMax": 0,
  "feeMaxAbsolute": 0,
  "minAmountAbsolute": 0,
  "minAmt": 0,
  "defaultAmt": 149,
  "maxAmt": 500,
  "maxAmountAbsolute": 1000,
  "quantity": 1,
  "rateMinAbsolute": 0,
  "rateMin": 0,
  "rateDefault": 0,
  "rateMax": 0,
  "rateMaxAbsolute": 0,
  "productName": "Application Fee",
  "productType": "APP_FEE",
  "isOverride": false,
  "override": false,
  "showoncart": true,
  "purchaseType": "P",
  "occurrence": {
    "type": "Onetime_Fee"
  },
  "disclosure": ""
}]

This endpoint can be used to retrieve “pricing” for any given product (or collection of products) such as the product’s own pricing, pricing for products included, and any associated fees - each considered a “Pricing Product.”

Request

POST /marketplace/v1/pricing/equipment

The endpoint takes a JSON object as input. Refer to the “Example request payload” for the JSON structure of the request payload object.

Parameter Required Data Type Description
transactionInfo object Transactions information used to determine pricing. Contains mccTypes, mcc, annualVolume, averageTicket, highestTicket and category.
mccTypes string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
mccAdditionalDetails string
annualVolume double Actual or estimated annual credit card transaction volume in USD.
averageTicket double Actual or estimated average ticket price in USD.
highestTicket double Actual or estimated highest ticket price in USD.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories).
cardNotPresent integer
cartDetails array Array of objects each representing a product in the cart.
productId long Numeric value that uniquely identifies each product (canonical identifier), as returned in the GET Products endpoint.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories) the product belongs to.
name string productName: Product name.
price float Unit price for a product in USD.
type string productType: Indicates the behavior of the Pricing Product, or when the merchant is charged a fee. See list of possible values here.
term string purchaseType. See list of possible values here.
qty integer Quantity selected.

Response

This API returns an array of objects, each representing a “Pricing Product.” Each object contains the following keyword-value pairs.

Return Parameters in italic are used in our ISO program. They should be hidden from the user.

Parameter Data Type Description
productId long Numeric value that uniquely identifies a product (canonical identifier).
pricingDetailId integer Numeric value that uniquely identifies a Pricing Strategy.
pricingTypeId integer Numeric value that uniquely identifies a Pricing Type.
productName string The name of the Pricing Product that can be displayed in the user interface.
description string Short description of the product.
productType string Indicates the behavior of the Pricing Product, or when the merchant is charged this fee. See list of possible values here.
quantity integer Quantity of the Pricing Product to be added to the order. (Generally 1.)
defaultAmt double Price/amount to be collected (usually as a one-time payment) in USD.
minAmt double
maxAmt double
minAmountAbsolute double
maxAmountAbsolute double
feeDefault double Fee charged per occurrence in USD.
feeMin double
feeMax double
feeMinAbsolute double
feeMaxAbsolute double
rateDefault double Percentage of transaction amount charged per occurrence.
rateMin double
rateMax double
rateMinAbsolute double
rateMaxAbsolute double
isOverride boolean
override boolean
showoncart boolean Flag to provide guidance on which products should be visibly displayed in the Shopping Cart.
purchaseType string Indicates the behavior of the Pricing Product, or when the merchant is charged this fee. See list of possible values here.
occurrence object
type string Occurrence indicates the event the rate/fee/amount is charged: "Transaction": charged for every transaction, "Onetime_Product": charged once. i.e. Application fee, "Recurring": charged on a recurring basis, see productType for more information.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories) the product belongs to.
paymentType string Indicates the behavior of the Pricing Product, or when the merchant is charged this fee. See list of possible values here.
productAttribute object Contains name, value and domain.
name string Product attribute name.
value string Product attribute value.
domain string Domain like pricing.

POST Pricing/Acquiring v1

# Don't forget to add your HMAC Authorization Headers
data = {
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "annualVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "products": [{
    "id": 10013,
    "name": "Visa/MasterCard",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }, {
    "id": 10017,
    "name": "Discover",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }, {
    "id": 10021,
    "name": "American Express",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }, {
    "id": 10023,
    "name": "PayPal",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }]
}

endpoint = "/marketplace/v1/pricing/acquiring"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)


# Don't forget to add your HMAC Authorization Headers

ENDPOINT="$URL/marketplace/v1/pricing/acquiring"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "annualVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "products": [{
    "id": 10013,
    "name": "Visa/MasterCard",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }, {
    "id": 10017,
    "name": "Discover",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }, {
    "id": 10021,
    "name": "American Express",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }, {
    "id": 10023,
    "name": "PayPal",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }]
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = { method: 'POST',
  url: url + '/marketplace/v1/pricing/acquiring',
  headers: getAuthenticationHeaders(),
  body: {
    "transactionInfo": {
      "mccTypes": "Clothing and Shoes",
      "mcc": "5611",
      "annualVolume": 100000,
      "averageTicket": 80,
      "highestTicket": 400,
      "category": "RETAIL"
    },
    "products": [{
      "id": 10013,
      "name": "Visa/MasterCard",
      "price": 0,
      "type": "Acquiring",
      "qty": 1
    }, {
      "id": 10017,
      "name": "Discover",
      "price": 0,
      "type": "Acquiring",
      "qty": 1
    }, {
      "id": 10021,
      "name": "American Express",
      "price": 0,
      "type": "Acquiring",
      "qty": 1
    }, {
      "id": 10023,
      "name": "PayPal",
      "price": 0,
      "type": "Acquiring",
      "qty": 1
    }]
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
        "  \"transactionInfo\": {\n" +
        "    \"mccTypes\": \"Clothing and Shoes\",\n" +
        "    \"mcc\": \"5611\",\n" +
        "    \"annualVolume\": 100000,\n" +
        "    \"averageTicket\": 80,\n" +
        "    \"highestTicket\": 400,\n" +
        "    \"category\": \"RETAIL\"\n" +
        "  },\n" +
        "  \"products\": [{\n" +
        "    \"id\": 10013,\n" +
        "    \"name\": \"Visa/MasterCard\",\n" +
        "    \"price\": 0,\n" +
        "    \"type\": \"Acquiring\",\n" +
        "    \"qty\": 1\n" +
        "  }, {\n" +
        "    \"id\": 10017,\n" +
        "    \"name\": \"Discover\",\n" +
        "    \"price\": 0,\n" +
        "    \"type\": \"Acquiring\",\n" +
        "    \"qty\": 1\n" +
        "  }, {\n" +
        "    \"id\": 10021,\n" +
        "    \"name\": \"American Express\",\n" +
        "    \"price\": 0,\n" +
        "    \"type\": \"Acquiring\",\n" +
        "    \"qty\": 1\n" +
        "  }, {\n" +
        "    \"id\": 10023,\n" +
        "    \"name\": \"PayPal\",\n" +
        "    \"price\": 0,\n" +
        "    \"type\": \"Acquiring\",\n" +
        "    \"qty\": 1\n" +
        "  }]\n" +
        "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/pricing/acquiring", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'transactionInfo' =>
  array (
    'mccTypes' => 'Clothing and Shoes',
    'mcc' => '5611',
    'annualVolume' => 100000,
    'averageTicket' => 80,
    'highestTicket' => 400,
    'category' => 'RETAIL',
  ),
  'products' =>
  array (
    0 =>
    array (
      'id' => 10013,
      'name' => 'Visa/MasterCard',
      'price' => 0,
      'type' => 'Acquiring',
      'qty' => 1,
    ),
    1 =>
    array (
      'id' => 10017,
      'name' => 'Discover',
      'price' => 0,
      'type' => 'Acquiring',
      'qty' => 1,
    ),
    2 =>
    array (
      'id' => 10021,
      'name' => 'American Express',
      'price' => 0,
      'type' => 'Acquiring',
      'qty' => 1,
    ),
    3 =>
    array (
      'id' => 10023,
      'name' => 'PayPal',
      'price' => 0,
      'type' => 'Acquiring',
      'qty' => 1,
    ),
  ),
);

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/pricing/acquiring");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

Example payload: acquiring.json

{
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "annualVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "products": [{
    "id": 10013,
    "name": "Visa/MasterCard",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }, {
    "id": 10017,
    "name": "Discover",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }, {
    "id": 10021,
    "name": "American Express",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }, {
    "id": 10023,
    "name": "PayPal",
    "price": 0,
    "type": "Acquiring",
    "qty": 1
  }]
}

The above command returns JSON structured like this:

[{
    "pricingDetailId": 7,
    "pricingTypeId": 10000,
    "productId": 45608,
    "description": "ACH_REJECT_FEE",
    "feeMin": 0,
    "feeDefault": 0,
    "feeMax": 0,
    "defaultAmt": 25,
    "minAmt": 5,
    "maxAmt": 25,
    "quantity": 1,
    "rateMin": 0,
    "rateDefault": 0,
    "rateMax": 0,
    "productName": "ACH Reject Fee",
    "productType": "OCCUR_FEE",
    "isOverride": false,
    "override": false,
    "showoncart": false,
    "occurrence": {
      "type": "Onetime_Fee"
    }
  }, {
    "pricingDetailId": 24,
    "pricingTypeId": 10000,
    "productId": 46164,
    "description": "202_MINIMUM_PROCESSING_FEE",
    "feeMin": 0,
    "feeDefault": 0,
    "feeMax": 0,
    "defaultAmt": 25,
    "minAmt": 0,
    "maxAmt": 25,
    "quantity": 1,
    "rateMin": 0,
    "rateDefault": 0,
    "rateMax": 0,
    "productName": "Minimum Processing Fee",
    "productType": "OCCUR_FEE",
    "isOverride": false,
    "override": false,
    "showoncart": false,
    "occurrence": {
      "type": "Onetime_Fee"
    }
}]

The POST Pricing/Acquiring API can be used to retrieve “pricing” for the credit card processing transaction fees and rates as well as any associated flat charges - each considered a “Pricing Product.”

Request

POST /marketplace/v1/pricing/acquiring

Parameter Required Data Type Description
products array List of products the user has selected, each object (representing a product) contains id, name, price, type, term and qty.
id long productId: Numeric value that uniquely identifies each product (canonical identifier).
name string productName: Product name.
price float Unit price for a product.
type string productType: Indicates the behavior of the Pricing Product, or when the merchant is charged a fee. See list of possible values here.
term string purchaseType. See list of possible values here.
qty integer Quantity selected.
transactionInfo object Transactions information used to determine pricing. Contains mccTypes, mcc, annualVolume, averageTicket, highestTicket and category.
mccTypes string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
annualVolume double Actual or estimated annual credit card transaction volume in USD.
averageTicket double Actual or estimated average ticket price in USD.
highestTicket double Actual or estimated highest ticket price in USD.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories).

Response

This API returns an array of objects, each representing a “Pricing Product.” Each object contains the following keyword-value pairs.

Return Parameters in italic are used in our ISO program. They should be hidden from the user.

Parameter Data Type Description
productId integer Numeric value that uniquely identifies a product (canonical identifier).
pricingDetailId integer Numeric value that uniquely identifies a Pricing Strategy.
pricingTypeId integer Numeric value that uniquely identifies a Pricing Type.
productName string The name of the Pricing Product that can be displayed in the user interface.
description string Short description of the product.
productType string Indicates the behavior of the Pricing Product, or when the merchant is charged this fee. See list of possible values here.
quantity integer Quantity of the Pricing Product to be added to the Order. (Generally 1.)
defaultAmt integer Price/amount to be collected (usually as a one-time payment) in USD.
minAmt integer
maxAmt integer
feeDefault integer Fee charged per occurrence in USD.
feeMin integer
feeMax integer
rateDefault integer Percentage of transaction amount charged per occurrence.
rateMin integer
isOverride boolean
override boolean
showoncart boolean Flag to provide guidance on which products should be visibly displayed in the Shopping Cart.
occurrence object
type string Occurrence indicates the event the rate/fee/amount is charged: "Transaction": charged for every transaction, "Onetime_Product": charged once. i.e. Application fee, "Recurring": charged on a recurring basis, see productType for more information.
productAttribute object Contains name, value and domain.
name string Product attribute name.
value string Product attribute value.
domain string Domain like pricing.

POST Pricing/Acquiring v2

# Don't forget to add your HMAC Authorization Headers
data = {
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "mccAdditionalDetails": "",
    "annualVolume": 23000,
    "annualcardVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "cardNotPresent": 1,
  "cartDetails": [
    {
      "productId": "67702",
      "category": "RETAIL",
      "productType": "Terminal"
    }, {
      "productId": "10013",
      "category": "RETAIL",
      "productType": "ACQUIRING"
    }
  ]
}

endpoint = "/marketplace/v2/pricing/acquiring"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)


# Don't forget to add your HMAC Authorization Headers

ENDPOINT="$URL/marketplace/v2/pricing/acquiring"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "mccAdditionalDetails": "",
    "annualVolume": 23000,
    "annualcardVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "cardNotPresent": 1,
  "cartDetails": [
    {
      "productId": "67702",
      "category": "RETAIL",
      "productType": "Terminal"
    }, {
      "productId": "10013",
      "category": "RETAIL",
      "productType": "ACQUIRING"
    }
  ]
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = { method: 'POST',
  url: url + '/marketplace/v2/pricing/acquiring',
  headers: getAuthenticationHeaders(),
  body: {
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "mccAdditionalDetails": "",
    "annualVolume": 23000,
    "annualcardVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "cardNotPresent": 1,
  "cartDetails": [
    {
      "productId": "67702",
      "category": "RETAIL",
      "productType": "Terminal"
    }, {
      "productId": "10013",
      "category": "RETAIL",
      "productType": "ACQUIRING"
    }
  ]
},
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
         "  \"transactionInfo\": {\n" +
         "    \"mccTypes\": \"Clothing and Shoes\",\n" +
         "    \"mcc\": \"5611\",\n" +
         "    \"annualVolume\": 100000,\n" +
         "    \"averageTicket\": 80,\n" +
         "    \"highestTicket\": 400,\n" +
         "    \"category\": \"RETAIL\"\n" +
         "  },\n" +
         "  \"cardNotPresent\": 1,\n" +  
         "  \"cartDetails\": [\n" +    
         "    {\n" +     
         "    \"productId\": \"67702\",\n" +      
         "    \"productType\": \"Terminal\",\n" +      
         "    \"category\": \"RETAIL\"\n" +        
         "    },\n" +
         "    {\n" +     
         "    \"productId\": \"10013\",\n" +      
         "    \"productType\": \"ACQUIRING\",\n" +      
         "    \"category\": \"RETAIL\"\n" +        
         "    }\n" +
         "  ]\n" +
         "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v2/pricing/acquiring", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'transactionInfo' => 
  array (
    'mccTypes' => 'Clothing and Shoes',
    'mcc' => '5611',
    'mccAdditionalDetails' => '',
    'annualVolume' => 23000,
    'annualcardVolume' => 100000,
    'averageTicket' => 80,
    'highestTicket' => 400,
    'category' => 'RETAIL',
  ),
  'cardNotPresent' => 1,
  'cartDetails' => 
  array (
    0 => 
    array (
      'productId' => '67702',
      'productType' => 'Terminal',
      'category' => 'RETAIL',
    ),
    1 => 
    array (
      'productId' => '10013',
      'productType' => 'ACQUIRING',
      'category' => 'RETAIL',
    ),
  ),
);

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v2/pricing/acquiring");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

Example payload: acquiring.json

{
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "mccAdditionalDetails": "",
    "annualVolume": 23000,
    "annualcardVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "cardNotPresent": 1,
  "cartDetails": [
    {
      "productId": "67702",
      "category": "RETAIL",
      "productType": "Terminal"
    }, {
      "productId": "10013",
      "category": "RETAIL",
      "productType": "ACQUIRING"
    }
  ]
}

The above command returns JSON structured like this:

{
 "discountRates":
 [{
    "pricingDetailId": 9556,
    "pricingTypeId": 10000,
    "productId": "50072",
    "description": "MasterCard Cross Border Fee Non-USD",
    "feeMinAbsolute": 0,
    "feeMin": 0,
    "feeDefault": 0,
    "feeMax": 0,
    "feeMaxAbsolute": 0,
    "minAmountAbsolute": 0,
    "minAmt": 0,
    "defaultAmt": 0,
    "maxAmt": 0,
    "maxAmountAbsolute": 0,
    "quantity": 1,
    "rateMinAbsolute": 0.85,
    "rateMin": 0.85,
    "rateDefault": 0.85,
    "rateMax": 0.85,
    "rateMaxAbsolute": 0.85,
    "productName": "MasterCard Cross Border Fee Non-USD",
    "productType": "NET_FEE",
    "isOverride": false,
    "override": false,
    "showoncart": false,
    "purchaseType": "P",
    "occurrence": {
      "type": "Transaction"
    },
    "groupName": "International Fees",
    "parentOrder": 15
  }],
  "cardPresentDiscountRates": 
  [{
    "pricingDetailId": 7034,
    "pricingTypeId": 4,
    "productId": "31849",
    "description": "MasterCard Qualified Signature Debit",
    "feeMinAbsolute": 0,
    "feeMin": 0,
    "feeDefault": 0,
    "feeMax": 0,
    "feeMaxAbsolute": 0,
    "minAmountAbsolute": 0,
    "minAmt": 0,
    "defaultAmt": 0.29,
    "maxAmt": 10,
    "maxAmountAbsolute": 10,
    "quantity": 1,
    "rateMinAbsolute": 0,
    "rateMin": 0.525,
    "rateDefault": 0.975,
    "rateMax": 3.175,
    "rateMaxAbsolute": 5,
    "productName": "MasterCard Qualified Signature Debit",
    "productType": "NET_FEE",
    "isOverride": false,
    "override": false,
    "showoncart": false,
    "purchaseType": "P",
    "occurrence": {
        "type": "Transaction"
    },
    "groupName": "Qualified Signature Debit",
    "cardPresntFlag": 0,
    "cardNotPresent": 0,
    "parentOrder": 2
   }],
  "cartTransactionRates": 
  [{
    "pricingDetailId": 7003,
    "pricingTypeId": 4,
    "productId": "2",
    "description": "Visa Qualified Credit",
    "feeMinAbsolute": 0,
    "feeMin": 0,
    "feeDefault": 0,
    "feeMax": 0,
    "feeMaxAbsolute": 0,
    "minAmountAbsolute": 0,
    "minAmt": 0,
    "defaultAmt": 0.29,
    "maxAmt": 10,
    "maxAmountAbsolute": 10,
    "quantity": 1,
    "rateMinAbsolute": 0,
    "rateMin": 0,
    "rateDefault": 1.381,
    "rateMax": 0,
    "rateMaxAbsolute": 5,
    "productName": "Visa Qualified Credit",
    "productType": "ACQUIRING",
    "isOverride": false,
    "override": false,
    "showoncart": false,
    "purchaseType": "P",
    "occurrence": {
        "type": "Transaction"
    },
    "parentProduct": {
        "name": "2 Tier",
        "id": "10009",
        "rate": 1.381,
        "fee": 0.29
    },
    "groupName": "Card Present",
    "cardPresntFlag": 0,
    "cardNotPresent": 0,
    "parentOrder": 100
   }]
}

The POST Pricing/Acquiring API can be used to retrieve “pricing” for the credit card processing transaction fees and rates as well as any associated flat charges - each considered a “Pricing Product.”

Request

POST /marketplace/v2/pricing/acquiring

Parameter Required Data Type Description
transactionInfo object Transactions information used to determine pricing. Contains mccTypes, mcc, annualVolume, averageTicket, highestTicket and category.
mccTypes string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
mccAdditionalDetails string
annualVolume double Actual or estimated annual credit card transaction volume in USD.
averageTicket double Actual or estimated average ticket price in USD.
highestTicket double Actual or estimated highest ticket price in USD.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories).
cardNotPresent integer
cartDetails array Array of objects each representing a product in the cart.
productId long Numeric value that uniquely identifies each product (canonical identifier), as returned in the GET Products endpoint.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories) the product belongs to.
productType string productType: Indicates the behavior of the Pricing Product, or when the merchant is charged a fee. See list of possible values here.

Response

This API returns an array of objects, each representing a “Pricing Product.” Each object contains the following keyword-value pairs.

Return Parameters in italic are used in our ISO program. They should be hidden from the user.

Parameter Data Type Description
cartTransactionRates array Transnational products price.
discountRates array Rates of acquirer card prices which will contain rate and fee %.
cardPresentDiscountRates array If one or more equipment in the order is card present: acquiring rates which appear based on equipment added to the cart.
cardNotPresentDiscountRates array If one or more equipment in the order is card not present: acquiring rates which appear based on equipment added to the cart.
productId lond Numeric value that uniquely identifies a product (canonical identifier).
pricingDetailId integer Numeric value that uniquely identifies a Pricing Strategy.
pricingTypeId integer Numeric value that uniquely identifies a Pricing Type.
productName string The name of the Pricing Product that can be displayed in the user interface.
description string Short description of the product.
productType string Indicates the behavior of the Pricing Product, or when the merchant is charged this fee. See list of possible values here.
quantity double Quantity of the Pricing Product to be added to the order. (Generally 1.)
defaultAmt double Price/amount to be collected (usually as a one-time payment) in USD.
minAmt double
maxAmt double
minAmountAbsolute double
maxAmountAbsolute double
feeDefault double Fee charged per occurrence in USD.
feeMin double
feeMax double
feeMinAbsolute double
feeMaxAbsolute double
rateDefault double Percentage of transaction amount charged per occurrence.
rateMin double
rateMax double
rateMinAbsolute double
rateMaxAbsolute double
isOverride boolean
override boolean
showoncart boolean Flag to provide guidance on which products should be visibly displayed in the Shopping Cart.
purchaseType string Indicates the behavior of the Pricing Product, or when the merchant is charged this fee. See list of possible values here.
occurrence object
type string Occurrence indicates the event the rate/fee/amount is charged: "Transaction": charged for every transaction, "Onetime_Product": charged once. i.e. Application fee, "Recurring": charged on a recurring basis, see productType for more information.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories) the product belongs to.
paymentType string Indicates the behavior of the Pricing Product, or when the merchant is charged this fee. See list of possible values here.
groupName string Group name of products .
parentOrder long Parent order.
cardPresentFlag integer
cardNotPresent integer
parentProduct object Parent product.
name string productName: Product name.
id long Numeric value that uniquely identifies a product (canonical identifier).
rate double
fee double

POST Pricing/Global

# Don't forget to add your HMAC Authorization Headers
data = {} # send and empty JSON object as a string for this request

endpoint = url + "/marketplace/v1/pricing/global"
r = requests.post(endpoint, json=data, headers=headers)


ENDPOINT="$URL/marketplace/v1/pricing/global"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{}' $ENDPOINT



// Don't forget to add your HMAC Authorization Headers
var options = { method: 'POST',
  url: url + '/marketplace/v1/pricing/global',
  headers: getAuthenticationHeaders(),
  body: { }, // send and empty JSON object as a string for this request
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{}"; // send and empty JSON object as a string for this request

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/pricing/global", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array ();

$data_json = json_encode($data);
$headers = array();

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/pricing/global");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

[{
   "pricingDetailId": 9,
    "pricingTypeId": 10000,
    "productId": 45615,
    "description": "AVS_WATS_AUTH_FEE",
    "feeMin": 0,
    "feeDefault": 0,
    "feeMax": 0,
    "defaultAmt": 0.1,
    "minAmt": 0.02,
    "maxAmt": 0.1,
    "quantity": 1,
    "rateMin": 0,
    "rateDefault": 0,
    "rateMax": 0,
    "productName": "Address Verification Wats Authorization Fee",
    "productType": "OCCUR_FEE",
    "isOverride": false,
    "override": false,
    "showoncart": false,
    "occurrence": {
      "type": "Onetime_Fee"
    }
  }, {
    "pricingDetailId": 32,
    "pricingTypeId": 10000,
    "productId": 46657,
    "description": "DISCOVER CHGBCK",
    "feeMin": 0,
    "feeDefault": 0,
    "feeMax": 0,
    "defaultAmt": 25,
    "minAmt": 10,
    "maxAmt": 25,
    "quantity": 1,
    "rateMin": 0,
    "rateDefault": 0,
    "rateMax": 0,
    "productName": "Discover Chargeback Fee",
    "productType": "CHGBK_FEE",
    "isOverride": false,
    "override": false,
    "showoncart": false,
    "occurrence": {
      "type": "Onetime_Fee"
    }
}]

The POST Pricing/Equipment API can be used to retrieve “pricing” that applies to every merchant regardless of equipment purchased or qualifying criteria - each object returned is considered a “Pricing Product.”

Request

POST /marketplace/v1/pricing/global

Parameter Required Data Type Default Description
no input

Response

This API returns an array of objects, each representing a “Pricing Product.” Each object contains the following keyword-value pairs.

Return Parameters in italic are used in our ISO program. They should be hidden from the user.

Parameter Data Type Description
productId integer Numeric value that uniquely identifies a product (canonical identifier).
pricingDetailId integer Numeric value that uniquely identifies a Pricing Strategy.
pricingTypeId integer Numeric value that uniquely identifies a Pricing Type.
productName string The name of the Pricing Product that can be displayed in the user interface.
description string Short description of the product.
productType string Indicates the behavior of the Pricing Product, or when the merchant is charged this fee. See list of possible values here.
quantity integer Quantity of the Pricing Product to be added to the Order. (Generally 1).
defaultAmt integer Price/amount to be collected (usually as a one-time payment) in USD.
minAmt integer
maxAmt integer
feeDefault integer Fee charged per occurrence in USD.
feeMin integer
feeMax integer
rateDefault integer Percentage of transaction amount charged per occurrence.
rateMin integer
isOverride boolean
override boolean
showoncart boolean Flag to provide guidance on which products should be visibly displayed in the Shopping Cart.
occurrence object
type string Occurrence indicates the event the rate/fee/amount is charged: "Transaction": charged for every transaction, "Onetime_Product": charged once. i.e. Application fee, "Recurring": charged on a recurring basis, see productType for more information.
productAttribute object Contains name, value and domain.
name string Product attribute name.
value string Product attribute value.
domain string Domain like pricing.

POST Merchantorders

data = {
  "company": "John's Business Supplies",
  "numberofLocations": 1,
  "firstName": "John",
  "lastName": "Smith",
  "email": "johnsmith@emai.com",
  "phone": "1234567890",
  "address1": "123 Main Street",
  "address2": "Suite 123",
  "city": "SCHENECTADY",
  "state": "NY",
  "postalCode": "12345",
  "recordType": "Lead",
  "cardNotPresent": 1,
  "pricingDetails": [
    {
      "productId": "67702",
      "quantity": 1,
      "productName": "Clover Station W/ Cash Drawer",
      "feeMinAbsolute": 0,
      "feeMin": 0,
      "feeDefault": 0,
      "feeMax": 0,
      "feeMaxAbsolute": 0,
      "minAmountAbsolute": 499.00,
      "minAmt": 999.00,
      "defaultAmt": 1599.00,
      "maxAmt": 1840.00,
      "maxAmountAbsolute": 1840.00,
      "rateMinAbsolute": 0,
      "rateMin": 0,
      "rateDefault": 0,
      "rateMax": 0,
      "rateMaxAbsolute": 0,
      "productType": "IBUNDLE",
      "isOverride": false,
      "override": false,
      "showoncart": false,
      "purchaseType": "P",
      "occurrence": {
        "type": "Onetime_Product"
      },
      "paymentType": "P",
      "paymentTerm": "",
      "category": "RETAIL"
    },
    {
      "productId": "59462",
      "quantity": 1,
      "productName": "Transarmor Monthly Fee",
      "description": "4TA_TA_MOFEE",
      "feeMinAbsolute": 0,
      "feeMin": 0,
      "feeDefault": 0,
      "feeMax": 0,
      "feeMaxAbsolute": 0,
      "minAmountAbsolute": 0,
      "minAmt": 0,
      "defaultAmt": 0,
      "maxAmt": 0,
      "maxAmountAbsolute": 0,
      "rateMinAbsolute": 0,
      "rateMin": 0,
      "rateDefault": 0,
      "rateMax": 0,
      "rateMaxAbsolute": 0,
      "productType": "MO_FEE",
      "isOverride": false,
      "override": false,
      "showoncart": true,
      "occurrence": {
        "type": "Recurring"
      },
      "disclosure": "Per Location",
      "productAttribute": {
        "name": "SOLUTION_FEE",
        "value": "Clover Security Plus",
        "domain": "PRICING"
      }
    },
    {
      "productId": "3",
      "quantity": 1,
      "productName": "MasterCard Qualified Credit",
      "description": "MC",
      "feeMinAbsolute": 0,
      "feeMin": 0,
      "feeDefault": 0,
      "feeMax": 0,
      "feeMaxAbsolute": 0,
      "minAmountAbsolute": 0,
      "minAmt": 0,
      "defaultAmt": 0.29,
      "maxAmt": 10,
      "maxAmountAbsolute": 10,
      "rateMinAbsolute": 0,
      "rateMin": 0,
      "rateDefault": 0.109,
      "rateMax": 2.309,
      "rateMaxAbsolute": 5,
      "productType": "NET_FEE",
      "isOverride": false,
      "override": false,
      "showoncart": false,
      "occurrence": {
        "type": "Transaction"
      },
      "groupName": "Qualified Credit",
      "cardPresntFlag": 0,
      "cardNotPresent": 0,
      "parentOrder": 1
    }
  ],
  "pricingOptions": {
    "companyId": 386,
    "transactionInfo": {
      "mccTypes": "Appliances, Electronics, Computers",
      "mcc": "5734",
      "annualVolume": 200000,
      "creditCardVolume": 150000,
      "averageTicket": 20,
      "highestTicket": 300,
      "category": "RETAIL"
    }
  },
  "shippingAddress": [
    {
      "company_name": "John's Business Supplies",
      "firstName": "John",
      "lastName": "Smith",
      "address1": "123 Main Street",
      "address2": "Suite 123",
      "city": "SCHENECTADY",
      "state": "NY",
      "postalCode": "12345",
      "email": "johnsmith@email.com",
      "email2": "johnsmith@email.com",
      "phone": "1234567890",
      "productstoShip": [
        {
          "productId": "67702",
          "term": "P"
        }
      ]
    }
  ],
  "cartDetails": {
    "data": [
      {
        "productId": "67702",
        "name": "Clover Station W/ Cash Drawer",
        "price": 1599,
        "term": "P",
        "qty": 1,
        "category": "RETAIL",
        "productType": "Terminal"
      },
      {
        "productId": 50712,
        "name": "Gnd",
        "price": 19.95,
        "term": "P",
        "qty": 1,
        "category": "RETAIL",
        "productType": "SHIPPING"
      },
      {
        "productId": "10013",
        "name": "Visa/MasterCard",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      },
      {
        "productId": "10017",
        "name": "Discover",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      },
      {
        "productId": "10021",
        "name": "American Express",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      },
      {
        "productId": "10023",
        "name": "PayPal",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      }
    ],
    "amount": 1599.00,
    "shipping_amount": 19.95,
    "tax": 111.93,
    "taxPercent": 0.07,
    "total": 1730.88,
    "shipping_option_id": 1,
    "purchaseEnabled": true,
    "total_qty": 1
  }
}

endpoint = "/marketplace/v1/merchantorders"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

ENDPOINT="$URL/marketplace/v1/merchantorders"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "company": "John's Business Supplies",
  "numberofLocations": 1,
  "firstName": "John",
  "lastName": "Smith",
  "email": "johnsmith@emai.com",
  "phone": "1234567890",
  "address1": "123 Main Street",
  "address2": "Suite 123",
  "city": "SCHENECTADY",
  "state": "NY",
  "postalCode": "12345",
  "recordType": "Lead",
  "cardNotPresent": 1,
  "pricingDetails": [
    {
      "productId": "67702",
      "quantity": 1,
      "productName": "Clover Station W/ Cash Drawer",
      "feeMinAbsolute": 0,
      "feeMin": 0,
      "feeDefault": 0,
      "feeMax": 0,
      "feeMaxAbsolute": 0,
      "minAmountAbsolute": 499.00,
      "minAmt": 999.00,
      "defaultAmt": 1599.00,
      "maxAmt": 1840.00,
      "maxAmountAbsolute": 1840.00,
      "rateMinAbsolute": 0,
      "rateMin": 0,
      "rateDefault": 0,
      "rateMax": 0,
      "rateMaxAbsolute": 0,
      "productType": "IBUNDLE",
      "isOverride": false,
      "override": false,
      "showoncart": false,
      "purchaseType": "P",
      "occurrence": {
        "type": "Onetime_Product"
      },
      "paymentType": "P",
      "paymentTerm": "",
      "category": "RETAIL"
    },
    {
      "productId": "59462",
      "quantity": 1,
      "productName": "Transarmor Monthly Fee",
      "description": "4TA_TA_MOFEE",
      "feeMinAbsolute": 0,
      "feeMin": 0,
      "feeDefault": 0,
      "feeMax": 0,
      "feeMaxAbsolute": 0,
      "minAmountAbsolute": 0,
      "minAmt": 0,
      "defaultAmt": 0,
      "maxAmt": 0,
      "maxAmountAbsolute": 0,
      "rateMinAbsolute": 0,
      "rateMin": 0,
      "rateDefault": 0,
      "rateMax": 0,
      "rateMaxAbsolute": 0,
      "productType": "MO_FEE",
      "isOverride": false,
      "override": false,
      "showoncart": true,
      "occurrence": {
        "type": "Recurring"
      },
      "disclosure": "Per Location",
      "productAttribute": {
        "name": "SOLUTION_FEE",
        "value": "Clover Security Plus",
        "domain": "PRICING"
      }
    },
    {
      "productId": "3",
      "quantity": 1,
      "productName": "MasterCard Qualified Credit",
      "description": "MC",
      "feeMinAbsolute": 0,
      "feeMin": 0,
      "feeDefault": 0,
      "feeMax": 0,
      "feeMaxAbsolute": 0,
      "minAmountAbsolute": 0,
      "minAmt": 0,
      "defaultAmt": 0.29,
      "maxAmt": 10,
      "maxAmountAbsolute": 10,
      "rateMinAbsolute": 0,
      "rateMin": 0,
      "rateDefault": 0.109,
      "rateMax": 2.309,
      "rateMaxAbsolute": 5,
      "productType": "NET_FEE",
      "isOverride": false,
      "override": false,
      "showoncart": false,
      "occurrence": {
        "type": "Transaction"
      },
      "groupName": "Qualified Credit",
      "cardPresntFlag": 0,
      "cardNotPresent": 0,
      "parentOrder": 1
    }
  ],
  "pricingOptions": {
    "companyId": 386,
    "transactionInfo": {
      "mccTypes": "Appliances, Electronics, Computers",
      "mcc": "5734",
      "annualVolume": 200000,
      "creditCardVolume": 150000,
      "averageTicket": 20,
      "highestTicket": 300,
      "category": "RETAIL"
    }
  },
  "shippingAddress": [
    {
      "company_name": "John's Business Supplies",
      "firstName": "John",
      "lastName": "Smith",
      "address1": "123 Main Street",
      "address2": "Suite 123",
      "city": "SCHENECTADY",
      "state": "NY",
      "postalCode": "12345",
      "email": "johnsmith@email.com",
      "email2": "johnsmith@email.com",
      "phone": "1234567890",
      "productstoShip": [
        {
          "productId": "67702",
          "term": "P"
        }
      ]
    }
  ],
  "cartDetails": {
    "data": [
      {
        "productId": "67702",
        "name": "Clover Station W/ Cash Drawer",
        "price": 1599,
        "term": "P",
        "qty": 1,
        "category": "RETAIL",
        "productType": "Terminal"
      },
      {
        "productId": 50712,
        "name": "Gnd",
        "price": 19.95,
        "term": "P",
        "qty": 1,
        "category": "RETAIL",
        "productType": "SHIPPING"
      },
      {
        "productId": "10013",
        "name": "Visa/MasterCard",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      },
      {
        "productId": "10017",
        "name": "Discover",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      },
      {
        "productId": "10021",
        "name": "American Express",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      },
      {
        "productId": "10023",
        "name": "PayPal",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      }
    ],
    "amount": 1599.00,
    "shipping_amount": 19.95,
    "tax": 111.93,
    "taxPercent": 0.07,
    "total": 1730.88,
    "shipping_option_id": 1,
    "purchaseEnabled": true,
    "total_qty": 1
  }
}' $ENDPOINT
var options = {
  method: 'POST',
  url: url + '/marketplace/v1/merchantorders',
  headers: getAuthenticationHeaders(),
  body: {
  "company": "John's Business Supplies",
  "numberofLocations": 1,
  "firstName": "John",
  "lastName": "Smith",
  "email": "johnsmith@emai.com",
  "phone": "1234567890",
  "address1": "123 Main Street",
  "address2": "Suite 123",
  "city": "SCHENECTADY",
  "state": "NY",
  "postalCode": "12345",
  "recordType": "Lead",
  "cardNotPresent": 1,
  "pricingDetails": [
    {
      "productId": "67702",
      "quantity": 1,
      "productName": "Clover Station W/ Cash Drawer",
      "feeMinAbsolute": 0,
      "feeMin": 0,
      "feeDefault": 0,
      "feeMax": 0,
      "feeMaxAbsolute": 0,
      "minAmountAbsolute": 499.00,
      "minAmt": 999.00,
      "defaultAmt": 1599.00,
      "maxAmt": 1840.00,
      "maxAmountAbsolute": 1840.00,
      "rateMinAbsolute": 0,
      "rateMin": 0,
      "rateDefault": 0,
      "rateMax": 0,
      "rateMaxAbsolute": 0,
      "productType": "IBUNDLE",
      "isOverride": false,
      "override": false,
      "showoncart": false,
      "purchaseType": "P",
      "occurrence": {
        "type": "Onetime_Product"
      },
      "paymentType": "P",
      "paymentTerm": "",
      "category": "RETAIL"
    },
    {
      "productId": "59462",
      "quantity": 1,
      "productName": "Transarmor Monthly Fee",
      "description": "4TA_TA_MOFEE",
      "feeMinAbsolute": 0,
      "feeMin": 0,
      "feeDefault": 0,
      "feeMax": 0,
      "feeMaxAbsolute": 0,
      "minAmountAbsolute": 0,
      "minAmt": 0,
      "defaultAmt": 0,
      "maxAmt": 0,
      "maxAmountAbsolute": 0,
      "rateMinAbsolute": 0,
      "rateMin": 0,
      "rateDefault": 0,
      "rateMax": 0,
      "rateMaxAbsolute": 0,
      "productType": "MO_FEE",
      "isOverride": false,
      "override": false,
      "showoncart": true,
      "occurrence": {
        "type": "Recurring"
      },
      "disclosure": "Per Location",
      "productAttribute": {
        "name": "SOLUTION_FEE",
        "value": "Clover Security Plus",
        "domain": "PRICING"
      }
    },
    {
      "productId": "3",
      "quantity": 1,
      "productName": "MasterCard Qualified Credit",
      "description": "MC",
      "feeMinAbsolute": 0,
      "feeMin": 0,
      "feeDefault": 0,
      "feeMax": 0,
      "feeMaxAbsolute": 0,
      "minAmountAbsolute": 0,
      "minAmt": 0,
      "defaultAmt": 0.29,
      "maxAmt": 10,
      "maxAmountAbsolute": 10,
      "rateMinAbsolute": 0,
      "rateMin": 0,
      "rateDefault": 0.109,
      "rateMax": 2.309,
      "rateMaxAbsolute": 5,
      "productType": "NET_FEE",
      "isOverride": false,
      "override": false,
      "showoncart": false,
      "occurrence": {
        "type": "Transaction"
      },
      "groupName": "Qualified Credit",
      "cardPresntFlag": 0,
      "cardNotPresent": 0,
      "parentOrder": 1
    }
  ],
  "pricingOptions": {
    "companyId": 386,
    "transactionInfo": {
      "mccTypes": "Appliances, Electronics, Computers",
      "mcc": "5734",
      "annualVolume": 200000,
      "creditCardVolume": 150000,
      "averageTicket": 20,
      "highestTicket": 300,
      "category": "RETAIL"
    }
  },
  "shippingAddress": [
    {
      "company_name": "John's Business Supplies",
      "firstName": "John",
      "lastName": "Smith",
      "address1": "123 Main Street",
      "address2": "Suite 123",
      "city": "SCHENECTADY",
      "state": "NY",
      "postalCode": "12345",
      "email": "johnsmith@email.com",
      "email2": "johnsmith@email.com",
      "phone": "1234567890",
      "productstoShip": [
        {
          "productId": "67702",
          "term": "P"
        }
      ]
    }
  ],
  "cartDetails": {
    "data": [
      {
        "productId": "67702",
        "name": "Clover Station W/ Cash Drawer",
        "price": 1599,
        "term": "P",
        "qty": 1,
        "category": "RETAIL",
        "productType": "Terminal"
      },
      {
        "productId": 50712,
        "name": "Gnd",
        "price": 19.95,
        "term": "P",
        "qty": 1,
        "category": "RETAIL",
        "productType": "SHIPPING"
      },
      {
        "productId": "10013",
        "name": "Visa/MasterCard",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      },
      {
        "productId": "10017",
        "name": "Discover",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      },
      {
        "productId": "10021",
        "name": "American Express",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      },
      {
        "productId": "10023",
        "name": "PayPal",
        "price": 0,
        "qty": 1,
        "category": "RETAIL",
        "productType": "ACQUIRING"
      }
    ],
    "amount": 1599.00,
    "shipping_amount": 19.95,
    "tax": 111.93,
    "taxPercent": 0.07,
    "total": 1730.88,
    "shipping_option_id": 1,
    "purchaseEnabled": true,
    "total_qty": 1
  }
},
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);
});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
"  \"company\": \"John's Business Supplies\",\n" +
"  \"numberofLocations\": 1,\n" +
"  \"firstName\": \"John\",\n" +
"  \"lastName\": \"Smith\",\n" +
"  \"email\": \"johnsmith@emai.com\",\n" +
"  \"phone\": \"1234567890\",\n" +
"  \"address1\": \"123 Main Street\",\n" +
"  \"address2\": \"Suite 123\",\n" +
"  \"city\": \"SCHENECTADY\",\n" +
"  \"state\": \"NY\",\n" +
"  \"postalCode\": \"12345\",\n" +
"  \"recordType\": \"Lead\",\n" +
"  \"cardNotPresent\": 1,\n" +
"  \"pricingDetails\": ["+
"    {"+
"      \"productId\": \"67702\",\n" +
"      \"quantity\": 1,\n" +
"      \"productName\": \"Clover Station W/ Cash Drawer\",\n" +
"      \"feeMinAbsolute\": 0,\n" +
"      \"feeMin\": 0,\n" +
"      \"feeDefault\": 0,\n" +
"      \"feeMax\": 0,\n" +
"      \"feeMaxAbsolute\": 0,\n" +
"      \"minAmountAbsolute\": 499.00,\n" +
"      \"minAmt\": 999.00,\n" +
"      \"defaultAmt\": 1599.00,\n" +
"      \"maxAmt\": 1840.00,\n" +
"      \"maxAmountAbsolute\": 1840.00,\n" +
"      \"rateMinAbsolute\": 0,\n" +
"      \"rateMin\": 0,\n" +
"      \"rateDefault\": 0,\n" +
"      \"rateMax\": 0,\n" +
"      \"rateMaxAbsolute\": 0,\n" +
"      \"productType\": \"IBUNDLE\",\n" +
"      \"isOverride\": false,\n" +
"      \"override\": false,\n" +
"      \"showoncart\": false,\n" +
"      \"purchaseType\": \"P\",\n" +
"      \"occurrence\": {"+
"        \"type\": \"Onetime_Product\""+
"      },\n" +
"      \"paymentType\": \"P\",\n" +
"      \"paymentTerm\": \"\",\n" +
"      \"category\": \"RETAIL\""+
"    },\n" +
"    {"+
"      \"productId\": \"59462\",\n" +
"      \"quantity\": 1,\n" +
"      \"productName\": \"Transarmor Monthly Fee\",\n" +
"      \"description\": \"4TA_TA_MOFEE\",\n" +
"      \"feeMinAbsolute\": 0,\n" +
"      \"feeMin\": 0,\n" +
"      \"feeDefault\": 0,\n" +
"      \"feeMax\": 0,\n" +
"      \"feeMaxAbsolute\": 0,\n" +
"      \"minAmountAbsolute\": 0,\n" +
"      \"minAmt\": 0,\n" +
"      \"defaultAmt\": 0,\n" +
"      \"maxAmt\": 0,\n" +
"      \"maxAmountAbsolute\": 0,\n" +
"      \"rateMinAbsolute\": 0,\n" +
"      \"rateMin\": 0,\n" +
"      \"rateDefault\": 0,\n" +
"      \"rateMax\": 0,\n" +
"      \"rateMaxAbsolute\": 0,\n" +
"      \"productType\": \"MO_FEE\",\n" +
"      \"isOverride\": false,\n" +
"      \"override\": false,\n" +
"      \"showoncart\": true,\n" +
"      \"occurrence\": {"+
"        \"type\": \"Recurring\""+
"      },\n" +
"      \"disclosure\": \"Per Location\",\n" +
"      \"productAttribute\": {"+
"        \"name\": \"SOLUTION_FEE\",\n" +
"        \"value\": \"Clover Security Plus\",\n" +
"        \"domain\": \"PRICING\""+
"      }"+
"    },\n" +
"    {"+
"      \"productId\": \"3\",\n" +
"      \"quantity\": 1,\n" +
"      \"productName\": \"MasterCard Qualified Credit\",\n" +
"      \"description\": \"MC\",\n" +
"      \"feeMinAbsolute\": 0,\n" +
"      \"feeMin\": 0,\n" +
"      \"feeDefault\": 0,\n" +
"      \"feeMax\": 0,\n" +
"      \"feeMaxAbsolute\": 0,\n" +
"      \"minAmountAbsolute\": 0,\n" +
"      \"minAmt\": 0,\n" +
"      \"defaultAmt\": 0.29,\n" +
"      \"maxAmt\": 10,\n" +
"      \"maxAmountAbsolute\": 10,\n" +
"      \"rateMinAbsolute\": 0,\n" +
"      \"rateMin\": 0,\n" +
"      \"rateDefault\": 0.109,\n" +
"      \"rateMax\": 2.309,\n" +
"      \"rateMaxAbsolute\": 5,\n" +
"      \"productType\": \"NET_FEE\",\n" +
"      \"isOverride\": false,\n" +
"      \"override\": false,\n" +
"      \"showoncart\": false,\n" +
"      \"occurrence\": {"+
"        \"type\": \"Transaction\""+
"      },\n" +
"      \"groupName\": \"Qualified Credit\",\n" +
"      \"cardPresntFlag\": 0,\n" +
"      \"cardNotPresent\": 0,\n" +
"      \"parentOrder\": 1"+
"    }"+
"  ],\n" +
"  \"pricingOptions\": {"+
"    \"companyId\": 386,\n" +
"    \"transactionInfo\": {"+
"      \"mccTypes\": \"Appliances, Electronics, Computers\",\n" +
"      \"mcc\": \"5734\",\n" +
"      \"annualVolume\": 200000,\n" +
"      \"creditCardVolume\": 150000,\n" +
"      \"averageTicket\": 20,\n" +
"      \"highestTicket\": 300,\n" +
"      \"category\": \"RETAIL\""+
"    }"+
"  },\n" +
"  \"shippingAddress\": ["+
"    {"+
"      \"company_name\": \"John's Business Supplies\",\n" +
"      \"firstName\": \"John\",\n" +
"      \"lastName\": \"Smith\",\n" +
"      \"address1\": \"123 Main Street\",\n" +
"      \"address2\": \"Suite 123\",\n" +
"      \"city\": \"SCHENECTADY\",\n" +
"      \"state\": \"NY\",\n" +
"      \"postalCode\": \"12345\",\n" +
"      \"email\": \"johnsmith@email.com\",\n" +
"      \"email2\": \"johnsmith@email.com\",\n" +
"      \"phone\": \"1234567890\",\n" +
"      \"productstoShip\": ["+
"        {"+
"          \"productId\": \"67702\",\n" +
"          \"term\": \"P\""+
"        }"+
"      ]"+
"    }"+
"  ],\n" +
"  \"cartDetails\": {"+
"    \"data\": ["+
"      {"+
"        \"productId\": \"67702\",\n" +
"        \"name\": \"Clover Station W/ Cash Drawer\",\n" +
"        \"price\": 1599,\n" +
"        \"term\": \"P\",\n" +
"        \"qty\": 1,\n" +
"        \"category\": \"RETAIL\",\n" +
"        \"productType\": \"Terminal\""+
"      },\n" +
"      {"+
"        \"productId\": 50712,\n" +
"        \"name\": \"Gnd\",\n" +
"        \"price\": 19.95,\n" +
"        \"term\": \"P\",\n" +
"        \"qty\": 1,\n" +
"        \"category\": \"RETAIL\",\n" +
"        \"productType\": \"SHIPPING\""+
"      },\n" +
"      {"+
"        \"productId\": \"10013\",\n" +
"        \"name\": \"Visa/MasterCard\",\n" +
"        \"price\": 0,\n" +
"        \"qty\": 1,\n" +
"        \"category\": \"RETAIL\",\n" +
"        \"productType\": \"ACQUIRING\""+
"      },\n" +
"      {"+
"        \"productId\": \"10017\",\n" +
"        \"name\": \"Discover\",\n" +
"        \"price\": 0,\n" +
"        \"qty\": 1,\n" +
"        \"category\": \"RETAIL\",\n" +
"        \"productType\": \"ACQUIRING\""+
"      },\n" +
"      {"+
"        \"productId\": \"10021\",\n" +
"        \"name\": \"American Express\",\n" +
"        \"price\": 0,\n" +
"        \"qty\": 1,\n" +
"        \"category\": \"RETAIL\",\n" +
"        \"productType\": \"ACQUIRING\""+
"      },\n" +
"      {"+
"        \"productId\": \"10023\",\n" +
"        \"name\": \"PayPal\",\n" +
"        \"price\": 0,\n" +
"        \"qty\": 1,\n" +
"        \"category\": \"RETAIL\",\n" +
"        \"productType\": \"ACQUIRING\""+
"      }"+
"    ],\n" +
"    \"amount\": 1599.00,\n" +
"    \"shipping_amount\": 19.95,\n" +
"    \"tax\": 111.93,\n" +
"    \"taxPercent\": 0.07,\n" +
"    \"total\": 1730.88,\n" +
"    \"shipping_option_id\": 1,\n" +
"    \"purchaseEnabled\": true,\n" +
"    \"total_qty\": 1"+
"  }"+
"}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/merchantorders", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}

<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'company' => 'John\'s Business Supplies',
  'numberofLocations' => 1,
  'firstName' => 'John',
  'lastName' => 'Smith',
  'email' => 'johnsmith@emai.com',
  'phone' => '1234567890',
  'address1' => '123 Main Street',
  'address2' => 'Suite 123',
  'city' => 'SCHENECTADY',
  'state' => 'NY',
  'postalCode' => '12345',
  'recordType' => 'Lead',
  'cardNotPresent' => 1,
  'pricingDetails' => 
  array (
    0 => 
    array (
      'productId' => '67702',
      'quantity' => 1,
      'productName' => 'Clover Station W/ Cash Drawer',
      'feeMinAbsolute' => 0,
      'feeMin' => 0,
      'feeDefault' => 0,
      'feeMax' => 0,
      'feeMaxAbsolute' => 0,
      'minAmountAbsolute' => 499,
      'minAmt' => 999,
      'defaultAmt' => 1599,
      'maxAmt' => 1840,
      'maxAmountAbsolute' => 1840,
      'rateMinAbsolute' => 0,
      'rateMin' => 0,
      'rateDefault' => 0,
      'rateMax' => 0,
      'rateMaxAbsolute' => 0,
      'productType' => 'IBUNDLE',
      'isOverride' => false,
      'override' => false,
      'showoncart' => false,
      'purchaseType' => 'P',
      'occurrence' => 
      array (
        'type' => 'Onetime_Product',
      ),
      'paymentType' => 'P',
      'paymentTerm' => '',
      'category' => 'RETAIL',
    ),
    1 => 
    array (
      'productId' => '59462',
      'quantity' => 1,
      'productName' => 'Transarmor Monthly Fee',
      'description' => '4TA_TA_MOFEE',
      'feeMinAbsolute' => 0,
      'feeMin' => 0,
      'feeDefault' => 0,
      'feeMax' => 0,
      'feeMaxAbsolute' => 0,
      'minAmountAbsolute' => 0,
      'minAmt' => 0,
      'defaultAmt' => 0,
      'maxAmt' => 0,
      'maxAmountAbsolute' => 0,
      'rateMinAbsolute' => 0,
      'rateMin' => 0,
      'rateDefault' => 0,
      'rateMax' => 0,
      'rateMaxAbsolute' => 0,
      'productType' => 'MO_FEE',
      'isOverride' => false,
      'override' => false,
      'showoncart' => true,
      'occurrence' => 
      array (
        'type' => 'Recurring',
      ),
      'disclosure' => 'Per Location',
      'productAttribute' => 
      array (
        'name' => 'SOLUTION_FEE',
        'value' => 'Clover Security Plus',
        'domain' => 'PRICING',
      ),
    ),
    2 => 
    array (
      'productId' => '3',
      'quantity' => 1,
      'productName' => 'MasterCard Qualified Credit',
      'description' => 'MC',
      'feeMinAbsolute' => 0,
      'feeMin' => 0,
      'feeDefault' => 0,
      'feeMax' => 0,
      'feeMaxAbsolute' => 0,
      'minAmountAbsolute' => 0,
      'minAmt' => 0,
      'defaultAmt' => 0.28999999999999998,
      'maxAmt' => 10,
      'maxAmountAbsolute' => 10,
      'rateMinAbsolute' => 0,
      'rateMin' => 0,
      'rateDefault' => 0.109,
      'rateMax' => 2.3090000000000002,
      'rateMaxAbsolute' => 5,
      'productType' => 'NET_FEE',
      'isOverride' => false,
      'override' => false,
      'showoncart' => false,
      'occurrence' => 
      array (
        'type' => 'Transaction',
      ),
      'groupName' => 'Qualified Credit',
      'cardPresntFlag' => 0,
      'cardNotPresent' => 0,
      'parentOrder' => 1,
    ),
  ),
  'pricingOptions' => 
  array (
    'companyId' => 386,
    'transactionInfo' => 
    array (
      'mccTypes' => 'Appliances, Electronics, Computers',
      'mcc' => '5734',
      'annualVolume' => 200000,
      'creditCardVolume' => 150000,
      'averageTicket' => 20,
      'highestTicket' => 300,
      'category' => 'RETAIL',
    ),
  ),
  'shippingAddress' => 
  array (
    0 => 
    array (
      'company_name' => 'John\'s Business Supplies',
      'firstName' => 'John',
      'lastName' => 'Smith',
      'address1' => '123 Main Street',
      'address2' => 'Suite 123',
      'city' => 'SCHENECTADY',
      'state' => 'NY',
      'postalCode' => '12345',
      'email' => 'johnsmith@email.com',
      'email2' => 'johnsmith@email.com',
      'phone' => '1234567890',
      'productstoShip' => 
      array (
        0 => 
        array (
          'productId' => '67702',
          'term' => 'P',
        ),
      ),
    ),
  ),
  'cartDetails' => 
  array (
    'data' => 
    array (
      0 => 
      array (
        'productId' => '67702',
        'name' => 'Clover Station W/ Cash Drawer',
        'price' => 1599,
        'term' => 'P',
        'qty' => 1,
        'category' => 'RETAIL',
        'productType' => 'Terminal',
      ),
      1 => 
      array (
        'productId' => 50712,
        'name' => 'Gnd',
        'price' => 19.949999999999999,
        'term' => 'P',
        'qty' => 1,
        'category' => 'RETAIL',
        'productType' => 'SHIPPING',
      ),
      2 => 
      array (
        'productId' => '10013',
        'name' => 'Visa/MasterCard',
        'price' => 0,
        'qty' => 1,
        'category' => 'RETAIL',
        'productType' => 'ACQUIRING',
      ),
      3 => 
      array (
        'productId' => '10017',
        'name' => 'Discover',
        'price' => 0,
        'qty' => 1,
        'category' => 'RETAIL',
        'productType' => 'ACQUIRING',
      ),
      4 => 
      array (
        'productId' => '10021',
        'name' => 'American Express',
        'price' => 0,
        'qty' => 1,
        'category' => 'RETAIL',
        'productType' => 'ACQUIRING',
      ),
      5 => 
      array (
        'productId' => '10023',
        'name' => 'PayPal',
        'price' => 0,
        'qty' => 1,
        'category' => 'RETAIL',
        'productType' => 'ACQUIRING',
      ),
    ),
    'amount' => 1599,
    'shipping_amount' => 19.949999999999999,
    'tax' => 111.93000000000001,
    'taxPercent' => 0.070000000000000007,
    'total' => 1730.8800000000001,
    'shipping_option_id' => 1,
    'purchaseEnabled' => true,
    'total_qty' => 1,
  ),
)

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/merchantorders");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{
  "orderId": "nmwDl"
}

This endpoint retrieves a unique orderId once the shopping cart checkout process is completed. This numeric identifier is then used in the merchant boarding process as input to reference the order.

It is used for purposes of collecting information about shipping the product(s) to the merchant after the merchant boarding process is completed and approved.

Request

POST /marketplace/v1/merchantorders

The endpoint takes a JSON object as input, which contains following information.

Parameter Required Data Type Short Description
company string Company name (DBA name).
numberofLocations integer Number of locations the business has, including e-commerce locations.
firstName string Contact first name.
lastName string Contact last name.
email string Contact email address.
phone string Contact phone number.
address1 string Street address.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
postalCode string ZIP/postal code.
recordType string SalesForce object. Possible Values: "Lead", "Opportunity".
cardNotPresent integer
pricingDetails array Array of object each containing the detailed pricing information of a product (hardware, software, acquiring, fees, etc.) in the order.
productId integer Numeric value that uniquely identifies a product (canonical identifier).
productName string The name of the Pricing Product that can be displayed in the user interface.
description string Short description of the product.
productType string Indicates the behavior of the product, or when the merchant is charged a fee in case of “Processing/Pricing” products. See list of possible values here.
quantity integer Quantity of the Pricing Product to be added to the Order. (Generally 1.)
defaultAmt integer Price/amount to be collected (usually as a one-time payment) in USD.
minAmt integer
maxAmt integer
feeDefault integer Fee charged per occurrence in USD.
feeMin integer
feeMax integer
rateDefault integer Percentage of transaction amount charged per occurrence.
rateMin integer
isOverride boolean
override boolean
showoncart boolean Flag to provide guidance on which products should be visibly displayed in the Shopping Cart.
occurrence object
type string Occurrence indicates the event the rate/fee/amount is charged: "Transaction": charged for every transaction, "Onetime_Product": charged once. i.e. Application fee, "Recurring": charged on a recurring basis, see productType for more information.
productAttribute object Contains name, value and domain.
name string Product attribute name.
value string Product attribute value.
domain string Domain like pricing.
groupName string
parentOrder long
pricingOptions object Object containing the merchant’s expected processing information.
transactionInfo object Transactions information used to determine pricing.
annualVolume double Annual transaction volume in USD.
mccTypes string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
creditCardVolume double Annual credit card transaction volume in USD.
averageTicket double Average ticket price in USD.
highestTicket double Highest ticket price in USD.
category string Category eg: "RETAIL/MOTO" (refer to: GET Categories).
amexVolume double Annual American Express credit card transaction volume in USD.
mccAdditionalDetails string
amexMemberId long American Express member ID.
telecheckVolume double Annual TeleCheck/check transaction volume in USD.
shippingAddress array Array ob objects containing shipping information. Each object contains a shipping address (with additional contact infotmation) and the products from the order to ship to that particular address.
company_name string Company name.
firstName string First name.
lastName string Last name.
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.
phone string Phone number.
email1 string Email address.
email2 string Alternate email address.
productstoShip array Array of objects, each representing a product which will be shipped to the merchant. Each object contains productId and term.
productId long Numeric value that uniquely identifies a product (canonical identifier).
term string purchaseType eg: Purchase, Rent, Lease etc. See list of possible values here.
cartDetails object Object containing the details of the Order Summary. Contains data, amount, shipping_amount, tax taxPercent, total, status, shipping_option_id, purchaseEnabled and total_qty.
data array Array of objects containing products in the cart. Contains productId, name, price, term, qty and productType.
productId string productId as string. Numeric value that uniquely identifies each product (canonical identifier).
name string productName: Product name.
price double Unit price for a product.
term string purchaseType eg: Purchase, Rent, Lease etc. See list of possible values here.
qty integer Quantity selected.
productType string Indicates the behavior of the product, or when the merchant is charged a fee in case of “Processing/Pricing” products. See list of possible values here.
category string Category selected for that product eg: "RETAIL/MOTO" (refer to: GET Categories).
cardNotPresent boolean
amount double Sum of prices of products in cart in USD.
shipping_amount double Amount to be charged for shipping and handling in USD.
tax double Amount of tax to be collected (based on taxPercent) in USD.
taxPercent double Tax rate in %. You may use any external service to calculate taxes based on location.
total double Total amount to be charged in USD. Sum of amount, shipping_amount and tax.
shipping_option_id integer Numeric identifier for shipping method. Default to 1. Currently only “Ground Shipping” is available, which corresponds to the value 1.
purchaseEnabled boolean Default to true.
total_qty integer Total quantity of equipment products in the Shopping Cart.

Response

The endpoint returns an object containing one string which represents the orderId.

Parameter Data Type Description
orderId string Order Id. The numeric identifier to be used in the merchant boarding process as input to reference the order.

POST Merchantorders/Businessinformation

data = {
  "ownerInformation": [
    {
      "sequenceNo": 1,
      "firstName": "John",
      "lastName": "Smith",
      "nationalId": "989898989",
      "nationalIdType": "SSN",
      "dateofBirth": "1973-10-08",
      "title": "PARTNER",
      "percentOwned": 60,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "12 Peninsula Avenue",
        "address2": "Apt 1",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "mobilePhone": "8234567890",
        "email": "johnsmith@emai.com"
      }
    },
    {
      "sequenceNo": 2,
      "firstName": "William",
      "lastName": "Smith",
      "nationalId": "989898989",
      "nationalIdType": "SSN",
      "dateofBirth": "1976-07-11",
      "title": "PARTNER",
      "percentOwned": 40,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "123 Market Street",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "email": "williamsmith@email.com"
      }
    }
  ],
  "merchantInformation": [
    {
      "sequenceNo": 3,
      "businessType": "RETAIL",
      "dbaName": "John's Business Supplies",
      "legalName": "John's Business Supplies",
      "taxFilingName": "John Business Supplies, Inc.",
      "taxId": "989898989",
      "yearsInBusiness": "2003-06-01",
      "organizationType": "Partnerships",
      "stateOfIncorporation": "ME",
      "foreignEntityOption": "N",
      "tinRequestedGuid": "1748795A0246D3244",
      "tinType": 1,
      "url": "www.jonhnsbusinesssupplies.com",
      "registrationNumber": "12342",
      "principalNationality": "American",
      "contactInformation": [
        {
          "contactType": "CORPORATE",
          "address1": "123 Main Street",
          "address2": "Suite 123",
          "city": "SCHENECTADY",
          "state": "NY",
          "postalCode": "12345",
          "country": "US",
          "email": "johnsmith@email.com",
          "phone": "1234567890"
        }, {
          "contactType": "LOCATION",
          "address1": "123 Main Street",
          "address2": "Suite 124",
          "city": "SCHENECTADY",
          "state": "NY",
          "postalCode": "12345",
          "country": "US",
          "email": "johnsmith@email.com",
          "phone": "1234567890"
        }
      ]
    }
  ]
}

endpoint = "/marketplace/v1/merchantorders/12345/businessinformation"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

ENDPOINT="$URL/marketplace/v1/merchantorders/12345/businessinformation"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "ownerInformation": [
    {
      "sequenceNo": 1,
      "firstName": "John",
      "lastName": "Smith",
      "nationalId": "989898989",
      "nationalIdType": "SSN",
      "dateofBirth": "1973-10-08",
      "title": "PARTNER",
      "percentOwned": 60,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "12 Peninsula Avenue",
        "address2": "Apt 1",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "mobilePhone": "8234567890",
        "email": "johnsmith@emai.com"
      }
    },
    {
      "sequenceNo": 2,
      "firstName": "William",
      "lastName": "Smith",
      "nationalId": "989898989",
      "nationalIdType": "SSN",
      "dateofBirth": "1976-07-11",
      "title": "PARTNER",
      "percentOwned": 40,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "123 Market Street",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "email": "williamsmith@email.com"
      }
    }
  ],
  "merchantInformation": [
    {
      "sequenceNo": 3,
      "businessType": "RETAIL",
      "dbaName": "John's Business Supplies",
      "legalName": "John's Business Supplies",
      "taxFilingName": "John Business Supplies, Inc.",
      "taxId": "989898989",
      "yearsInBusiness": "2003-06-01",
      "organizationType": "Partnerships",
      "stateOfIncorporation": "ME",
      "foreignEntityOption": "N",
      "tinRequestedGuid": "1748795A0246D3244",
      "tinType": 1,
      "url": "www.jonhnsbusinesssupplies.com",
      "registrationNumber": "12342",
      "principalNationality": "American",
      "contactInformation": [
        {
          "contactType": "CORPORATE",
          "address1": "123 Main Street",
          "address2": "Suite 123",
          "city": "SCHENECTADY",
          "state": "NY",
          "postalCode": "12345",
          "country": "US",
          "email": "johnsmith@email.com",
          "phone": "1234567890"
        }, {
          "contactType": "LOCATION",
          "address1": "123 Main Street",
          "address2": "Suite 124",
          "city": "SCHENECTADY",
          "state": "NY",
          "postalCode": "12345",
          "country": "US",
          "email": "johnsmith@email.com",
          "phone": "1234567890"
        }
      ]
    }
  ]
}' $ENDPOINT
var options = {
  method: 'POST',
  url: url + '/marketplace/v1/merchantorders/12345/businessinformation',
  headers: getAuthenticationHeaders(),
  body: {
  "ownerInformation": [
    {
      "sequenceNo": 1,
      "firstName": "John",
      "lastName": "Smith",
      "nationalId": "989898989",
      "nationalIdType": "SSN",
      "dateofBirth": "1973-10-08",
      "title": "PARTNER",
      "percentOwned": 60,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "12 Peninsula Avenue",
        "address2": "Apt 1",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "mobilePhone": "8234567890",
        "email": "johnsmith@emai.com"
      }
    },
    {
      "sequenceNo": 2,
      "firstName": "William",
      "lastName": "Smith",
      "nationalId": "989898989",
      "nationalIdType": "SSN",
      "dateofBirth": "1976-07-11",
      "title": "PARTNER",
      "percentOwned": 40,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "123 Market Street",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "email": "williamsmith@email.com"
      }
    }
  ],
  "merchantInformation": [
    {
      "sequenceNo": 3,
      "businessType": "RETAIL",
      "dbaName": "John's Business Supplies",
      "legalName": "John's Business Supplies",
      "taxFilingName": "John Business Supplies, Inc.",
      "taxId": "989898989",
      "yearsInBusiness": "2003-06-01",
      "organizationType": "Partnerships",
      "stateOfIncorporation": "ME",
      "foreignEntityOption": "N",
      "tinRequestedGuid": "1748795A0246D3244",
      "tinType": 1,
      "url": "www.jonhnsbusinesssupplies.com",
      "registrationNumber": "12342",
      "principalNationality": "American",
      "contactInformation": [
        {
          "contactType": "CORPORATE",
          "address1": "123 Main Street",
          "address2": "Suite 123",
          "city": "SCHENECTADY",
          "state": "NY",
          "postalCode": "12345",
          "country": "US",
          "email": "johnsmith@email.com",
          "phone": "1234567890"
        }, {
          "contactType": "LOCATION",
          "address1": "123 Main Street",
          "address2": "Suite 124",
          "city": "SCHENECTADY",
          "state": "NY",
          "postalCode": "12345",
          "country": "US",
          "email": "johnsmith@email.com",
          "phone": "1234567890"
        }
      ]
    }
  ]
},
 json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);
});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
        "  \"ownerInformation\": [\n" +
        "    {\n" +
        "      \"sequenceNo\": 1,\n" +
        "      \"firstName\": \"JON\",\n" +
        "      \"lastName\": \"CONSUMER\",\n" +
        "      \"idType\": \"ssn\",\n" +
        "      \"ssn\": \"989898989\",\n" +
        "      \"registrationNumber\": \"12345\",\n" +
        "      \"dateOfBirth\": \"1973-10-08\",\n" +
        "      \"title\": \"PARTNER\",\n" +
        "      \"percentOwned\": 60,\n" +
        "      \"contactType\": \"OWNER\",\n" +
        "      \"address1\": \"123 PRM OWNER\",\n" +
        "      \"address2\": \"APT 1\",\n" +
        "      \"city\": \"SCHENECTADY\",\n" +
        "      \"state\": \"NY\",\n" +
        "      \"zip\": \"12345\",\n" +
        "      \"country\": \"US\",\n" +
        "      \"phone\": \"1111111111\",\n" +
        "      \"mobilePhone\": \"8234567890\",\n" +
        "      \"email\": \"email@email.com\",\n" +
        "      \"driverLicenceNo\": \"123456\",\n" +
        "      \"dlStateIssued\": \"AL\",\n" +
        "      \"dlExpirationMonth\": \"01\",\n" +
        "      \"dlExpirationYear\": \"2027\"\n" +
        "    }\n" +
        "  ],\n" +
        "  \"merchantInformation\": [\n" +
        "    {\n" +
        "      \"sequenceNo\": 3,\n" +
        "      \"category\": \"RETAIL\",\n" +
        "      \"legalName\": \"MMIS TEST LEGAL FDMP\",\n" +
        "      \"taxId\": \"989898989\",\n" +
        "      \"yearsInBusiness\": \"2003-06-01\",\n" +
        "      \"organizationType\": \"Partnerships\",\n" +
        "      \"stateOfIncorporation\": \"ME\",\n" +
        "      \"taxFilingName\": \"MMIS TEST TAX FDMP\",\n" +
        "      \"foreignEntityOption\": \"N\",\n" +
        "      \"tinRequestedGuid\": \"1748795A0246D3244\",\n" +
        "     \"tinType\": 1,\n" +
        "     \"url\": \"www.site.com\",\n" +
        "     \"websiteReviewed\": \"No\",\n" +
        "     \"contactInformation\": [\n" +
        "       {\n" +
        "         \"contactType\": \"CORPORATE\",\n" +
        "         \"address1\": \"123 BUS ADDR\",\n" +
        "         \"address2\": \"ST 123\",\n" +
        "         \"city\": \"SCHENECTADY\",\n" +
        "         \"state\": \"NY\",\n" +
        "         \"postalCode\": \"12345\",\n" +
        "          \"country\": \"US\",\n" +
        "         \"phone\": \"3333333333\",\n" +
        "          \"fax\": \"3333333333\",\n" +
        "          \"neighborhood\": \"Test\",\n" +
        "          \"stateInscription\": \"StateIns\",\n" +
        "          \"cityInscription\": \"CityIns\",\n" +
        "          \"stateCode\": \"StateCode\",\n" +
        "          \"countryCode\": \"CountryCode\",\n" +
        "          \"principalNationality\": \"American\",\n" +
        "          \"contactTime\": \"M-F 9-5\",\n" +
        "          \"email\": \"email@email.com\"\n" +
        "        }\n" +
        "      ]\n" +
        "    }\n" +
        "  ]\n" +
        "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/merchantorders/12345/businessinformation", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}

<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'ownerInformation' => 
  array (
    0 => 
    array (
      'sequenceNo' => 1,
      'firstName' => 'John',
      'lastName' => 'Smith',
      'nationalId' => '989898989',
      'nationalIdType' => 'SSN',
      'dateofBirth' => '1973-10-08',
      'title' => 'PARTNER',
      'percentOwned' => 60,
      'contactInformation' => 
      array (
        'contactType' => 'OWNER',
        'address1' => '12 Peninsula Avenue',
        'address2' => 'Apt 1',
        'city' => 'SCHENECTADY',
        'state' => 'NY',
        'postalCode' => '12345',
        'country' => 'US',
        'phone' => '1234567890',
        'mobilePhone' => '8234567890',
        'email' => 'johnsmith@emai.com',
      ),
    ),
    1 => 
    array (
      'sequenceNo' => 2,
      'firstName' => 'William',
      'lastName' => 'Smith',
      'nationalId' => '989898989',
      'nationalIdType' => 'SSN',
      'dateofBirth' => '1976-07-11',
      'title' => 'PARTNER',
      'percentOwned' => 40,
      'contactInformation' => 
      array (
        'contactType' => 'OWNER',
        'address1' => '123 Market Street',
        'city' => 'SCHENECTADY',
        'state' => 'NY',
        'postalCode' => '12345',
        'country' => 'US',
        'phone' => '1234567890',
        'email' => 'williamsmith@email.com',
      ),
    ),
  ),
  'merchantInformation' => 
  array (
    0 => 
    array (
      'sequenceNo' => 3,
      'businessType' => 'RETAIL',
      'dbaName' => 'John\'s Business Supplies',
      'legalName' => 'John\'s Business Supplies',
      'taxFilingName' => 'John Business Supplies, Inc.',
      'taxId' => '989898989',
      'yearsInBusiness' => '2003-06-01',
      'organizationType' => 'Partnerships',
      'stateOfIncorporation' => 'ME',
      'foreignEntityOption' => 'N',
      'tinRequestedGuid' => '1748795A0246D3244',
      'tinType' => 1,
      'url' => 'www.jonhnsbusinesssupplies.com',
      'registrationNumber' => '12342',
      'principalNationality' => 'American',
      'contactInformation' => 
      array (
        0 => 
        array (
          'contactType' => 'CORPORATE',
          'address1' => '123 Main Street',
          'address2' => 'Suite 123',
          'city' => 'SCHENECTADY',
          'state' => 'NY',
          'postalCode' => '12345',
          'country' => 'US',
          'email' => 'johnsmith@email.com',
          'phone' => '1234567890',
        ),
        1 => 
        array (
          'contactType' => 'LOCATION',
          'address1' => '123 Main Street',
          'address2' => 'Suite 124',
          'city' => 'SCHENECTADY',
          'state' => 'NY',
          'postalCode' => '12345',
          'country' => 'US',
          'email' => 'johnsmith@email.com',
          'phone' => '1234567890',
        ),
      ),
    ),
  ),
)

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/merchantorders/12345/businessinformation");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{
  "orderId": "nmwDl"
}

This endpoint collects merchant and owner information for merchant boarding purposes.

Request

POST /marketplace/v1/merchantorders/{orderId}/businessinformation

In the request URL, use the orderId as it was returned in the response of the POST Merchantorders API.

The endpoint takes a JSON object as input, which contains following information.

Parameter Required Data Type Short Description
ownerInformation array Array of (minimum one) objects, each containing the information of the owner(s) of the business.
sequenceNo integer Index of the object representing the owner.
firstName string Owner’s first name.
lastName string Owner’s last name.
nationalIdType string Type of ID document used. Possible values: "SSN", "Drivers License", "AN Card", "Other".
nationalId string Identification number on ID document.
dateofBirth string Owner’s date of birth in “YYYY-MM-DD” format.
title string Title of the listed contact. Possible values: "Owner", "Partner", "President", etc.
percentOwned integer Percentage of the company owned by this owner. All owners must equal 100%.
contactInformation array Array of (minimum one) object(s), each of which represents the contact information of the owner. Each can contain contactType, address1, address2, address3, city, state, postalCode, country, phone,mobilePhone, and email.
contactType string Type of location. Possible values: "OWNER", "PRINCIPAL", "LANDLORD", "BENEFICIARY".
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
address3 string Third line of street address.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.
phone string Phone number.
mobilePhone string Mobile number.
email string Email address.
merchantInformation array Array of (minimum one) objects, each containing the information about a location of the business.
sequenceNo integer Index.
businessType string Category eg: "RETAIL" (refer to: GET Categories).
dbaName string DBA name.
legalName string Legal business name.
taxFilingName string IRS tax filing name for the business. Can be validated against taxId using the POST TIN/Validate service.
yearsInBusiness string Business started date in “YYYY-MM-DD” format.
organizationType string Organization type represented by an abbreviated code. See possible values here.
stateOfIncorporation string State of incorporation in abbreviated format. i.e. for California send "CA".
taxId string A Taxpayer Identification Number (TIN) is an identification number used by the Internal Revenue Service (IRS). Can be validated against taxFilingName using the POST TIN/Validate service.
foreignEntityOption string Indicates if the business can claim foreign status according to IRS regulations. Possible values: "Y" or "N".
tinType integer Type of Taxpayer Identification Number (TIN).
tinRequestedGuid string Universal ID for the request of the POST TIN/Validate service.
url string URL of business website.
contactInformation array Array of (minimum one) object(s), each of which represents a business location. contactType, address1, address2, address3, city, state, postalCode, country, phone, and email.
contactType string Type of location. Possible values: "LOCATION", "CORPORATE", "SHIPPING", "SHIP_TO", "TRADING", "BILLING", "PRIMARY", "DISPUTE", "TRAIN_BY", "STANDARD".
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
address3 string Third line of street address.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.
contactTime string Preference on contact time.
phone string Phone number.
email string Email address.

Response

The endpoint returns an object containing one string which represents the orderId.

Parameter Data Type Description
orderId string The unique identifier of an order returned after successful submission. Used in following processes as input data.

POST Merchantorders/Locations

data = {
  "locationInformation": [
    {
      "dbaName": "John's Computer Business",
      "merchantId": "120107",
      "averageTicket": 20,
      "mccDescription": "Appliances, Electronics, Computers",
      "mcc": "5734",
      "annualVolume": 100000,
      "highestTicket": 300,
      "isPrimaryLocation": true,
      "faceToFace": "100",
      "phoneOrEmail": "0",
      "internet": "0",
      "rollupIndicator": "2",
      "category": "RETAIL",
      "contactInformation": [
        {
          "contactType": "OWNER",
          "address1": "123 Main Street",
          "address2": "Suite 2",
          "city": "Beverly Hills",
          "state": "CA",
          "country": "us",
          "postalCode": "90210",
          "phone": "1234567890"
        }
      ],
      "equipmentLocation": [
        {
          "lineItemId": 6911701,
          "configurableLineItemId": 6911702,
          "attributes": [
            {
              "attributeName": "AUTO_SETTLE",
              "attributeValue": "YES",
              "attributeDomain": "TERM_ATTR"
            },
            {
              "attributeName": "TOKEN_TYPE",
              "attributeValue": "9999",
              "attributeDomain": "AEGIS"
            },
            {
              "attributeName": "AUTO_CLOSE_HHMM",
              "attributeValue": "2100",
              "attributeDomain": "MERCURY_TERM_ATTR"
            }
          ]
        }
      ],
      "bankInformation": [
        {
          "instName": "JPMORGAN CHASE BANK, NA",
          "abaNumber": "021000021",
          "accountNumber": "9898",
          "ordinal": 2,
          "isPrimary": true
        }
      ],
      "shippingPlanSelection":{
        "productId": "777-1000105053",
        "price": 5.78423,
        "shippingName": "FedEx Ground"
      },
      "isShippingAddressSame" : true
    }
  ]
}

endpoint = "/marketplace/v1/merchantorders/nmwDl/locations"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

ENDPOINT="$URL/marketplace/v1/merchantorders/nmwDl/locations"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "locationInformation": [
    {
      "dbaName": "John's Computer Business",
      "merchantId": "120107",
      "averageTicket": 20,
      "mccDescription": "Appliances, Electronics, Computers",
      "mcc": "5734",
      "annualVolume": 100000,
      "highestTicket": 300,
      "isPrimaryLocation": true,
      "faceToFace": "100",
      "phoneOrEmail": "0",
      "internet": "0",
      "rollupIndicator": "2",
      "category": "RETAIL",
      "contactInformation": [
        {
          "contactType": "OWNER",
          "address1": "123 Main Street",
          "address2": "Suite 2",
          "city": "Beverly Hills",
          "state": "CA",
          "country": "us",
          "postalCode": "90210",
          "phone": "1234567890"
        }
      ],
      "equipmentLocation": [
        {
          "lineItemId": 6911701,
          "configurableLineItemId": 6911702,
          "attributes": [
            {
              "attributeName": "AUTO_SETTLE",
              "attributeValue": "YES",
              "attributeDomain": "TERM_ATTR"
            },
            {
              "attributeName": "TOKEN_TYPE",
              "attributeValue": "9999",
              "attributeDomain": "AEGIS"
            },
            {
              "attributeName": "AUTO_CLOSE_HHMM",
              "attributeValue": "2100",
              "attributeDomain": "MERCURY_TERM_ATTR"
            }
          ]
        }
      ],
      "bankInformation": [
        {
          "instName": "JPMORGAN CHASE BANK, NA",
          "abaNumber": "021000021",
          "accountNumber": "9898",
          "ordinal": 2,
          "isPrimary": true
        }
      ],
      "shippingPlanSelection":{
        "productId": "777-1000105053",
        "price": 5.78423,
        "shippingName": "FedEx Ground"
      },
      "isShippingAddressSame" : true
    }
  ]
}' $ENDPOINT
var options = {
  method: 'POST',
  url: url + '/marketplace/v1/merchantorders/nmwDl/locations',
  headers: getAuthenticationHeaders(),
  body: {
  "locationInformation": [
    {
      "dbaName": "John's Computer Business",
      "merchantId": "120107",
      "averageTicket": 20,
      "mccDescription": "Appliances, Electronics, Computers",
      "mcc": "5734",
      "annualVolume": 100000,
      "highestTicket": 300,
      "isPrimaryLocation": true,
      "faceToFace": "100",
      "phoneOrEmail": "0",
      "internet": "0",
      "rollupIndicator": "2",
      "category": "RETAIL",
      "contactInformation": [
        {
          "contactType": "OWNER",
          "address1": "123 Main Street",
          "city": "Beverly Hills",
          "state": "CA",
          "country": "us",
          "postalCode": "90210",
          "phone": "1234567890"
        }
      ],
      "equipmentLocation": [
        {
          "lineItemId": 6911701,
          "configurableLineItemId": 6911702,
          "attributes": [
            {
              "attributeName": "AUTO_SETTLE",
              "attributeValue": "YES",
              "attributeDomain": "TERM_ATTR"
            },
            {
              "attributeName": "TOKEN_TYPE",
              "attributeValue": "9999",
              "attributeDomain": "AEGIS"
            },
            {
              "attributeName": "AUTO_CLOSE_HHMM",
              "attributeValue": "2100",
              "attributeDomain": "MERCURY_TERM_ATTR"
            }
          ]
        }
      ],
      "bankInformation": [
        {
          "instName": "JPMORGAN CHASE BANK, NA",
          "abaNumber": "021000021",
          "accountNumber": "9898",
          "ordinal": 2,
          "isPrimary": true
        }
      ],
      "shippingPlanSelection":{
        "productId": "777-1000105053",
        "price": 5.78423,
        "shippingName": "FedEx Ground"
      },
      "isShippingAddressSame" : true
    }
  ]
},
 json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);
});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
        "  \"locationInformation\": [\n" +
        "    {\n" +
        "      \"dbaName\": \"John's Computer Business\",\n" +
        "      \"merchantId\": \"120107\",\n" +
        "      \"averageTicket\": 20,\n" +
        "      \"mccDescription\": \"Appliances, Electronics, Computers\",\n" +
        "      \"mcc\": \"5734\",\n" +
        "      \"annualVolume\": 100000,\n" +
        "      \"highestTicket\": 300,\n" +
        "      \"isPrimaryLocation\": true,\n" +
        "      \"faceToFace\": \"100\",\n" +
        "      \"phoneOrEmail\": \"0\",\n" +
        "      \"internet\": \"0\",\n" +
        "      \"rollupIndicator\": \"2\",\n" +
        "      \"category\": \"RETAIL\",\n" +
        "      \"contactInformation\": [\n" +
        "        {\n" +
        "          \"contactType\": \"OWNER\",\n" +
        "          \"address1\": \"123 Main Street\",\n" +
        "          \"city\": \"Beverly Hills\",\n" +
        "          \"state\": \"CA\",\n" +
        "          \"country\": \"us\",\n" +
        "          \"postalCode\": \"90210\",\n" +
        "          \"phone\": \"1234567890\"\n" +
        "        }\n" +
        "      ],\n" +
        "      \"equipmentLocation\": [\n" +
        "        {\n" +
        "          \"lineItemId\": 6911701,\n" +
        "          \"configurableLineItemId\": 6911702,\n" +
        "          \"attributes\": [\n" +
        "            {\n" +
        "              \"attributeName\": \"AUTO_SETTLE\",\n" +
        "              \"attributeValue\": \"YES\",\n" +
        "              \"attributeDomain\": \"TERM_ATTR\"\n" +
        "            },\n" +
        "            {\n" +
        "              \"attributeName\": \"TOKEN_TYPE\",\n" +
        "              \"attributeValue\": \"9999\",\n" +
        "              \"attributeDomain\": \"AEGIS\"\n" +
        "            },\n" +
        "            {\n" +
        "              \"attributeName\": \"AUTO_CLOSE_HHMM\",\n" +
        "              \"attributeValue\": \"2100\",\n" +
        "              \"attributeDomain\": \"MERCURY_TERM_ATTR\"\n" +
        "            }\n" +
        "          ]\n" +
        "        }\n" +
        "      ],\n" +
        "      \"bankInformation\": [\n" +
        "        {\n" +
        "          \"instName\": \"JPMORGAN CHASE BANK, NA\",\n" +
        "          \"abaNumber\": \"021000021\",\n" +
        "          \"accountNumber\": \"9898\",\n" +
        "          \"ordinal\": 2,\n" +
        "          \"isPrimary\": true\n" +
        "        }
        "      ]
        "    }
        "  ]
        "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/merchantorders/nmwDl/locations", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}

<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'locationInformation' => 
  array (
    0 => 
    array (
      'dbaName' => 'John\'s Computer Business',
      'merchantId' => '120107',
      'averageTicket' => 20,
      'mccDescription' => 'Appliances, Electronics, Computers',
      'mcc' => '5734',
      'annualVolume' => 100000,
      'highestTicket' => 300,
      'isPrimaryLocation' => true,
      'faceToFace' => '100',
      'phoneOrEmail' => '0',
      'internet' => '0',
      'rollupIndicator' => '2',
      'category' => 'RETAIL',
      'contactInformation' => 
      array (
        0 => 
        array (
          'contactType' => 'OWNER',
          'address1' => '123 Main Street',
          'city' => 'Beverly Hills',
          'state' => 'CA',
          'country' => 'us',
          'postalCode' => '90210',
          'phone' => '1234567890',
        ),
      ),
      'equipmentLocation' => 
      array (
        0 => 
        array (
          'lineItemId' => 6911701,
          'configurableLineItemId' => 6911702,
          'attributes' => 
          array (
            0 => 
            array (
              'attributeName' => 'AUTO_SETTLE',
              'attributeValue' => 'YES',
              'attributeDomain' => 'TERM_ATTR',
            ),
            1 => 
            array (
              'attributeName' => 'TOKEN_TYPE',
              'attributeValue' => '9999',
              'attributeDomain' => 'AEGIS',
            ),
            2 => 
            array (
              'attributeName' => 'AUTO_CLOSE_HHMM',
              'attributeValue' => '2100',
              'attributeDomain' => 'MERCURY_TERM_ATTR',
            ),
          ),
        ),
      ),
      'bankInformation' => 
      array (
        0 => 
        array (
          'instName' => 'JPMORGAN CHASE BANK, NA',
          'abaNumber' => '021000021',
          'accountNumber' => '9898',
          'ordinal' => 2,
          'isPrimary' => true,
        ),
      ),
    ),
  ),
)

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/merchantorders/nmwDl/locations");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{
  "hashedOrderId": "nmwDl",
  "primaryMerchantId": "119932"
}

This endpoint collects information about each location of the business for merchant boarding purposes.

Request

POST /marketplace/v1/merchantorders/{orderId}/locations

In the request URL, use the orderId as it was returned in the response of the POST Merchantorders API.

The endpoint takes a JSON object as input, which contains following information.

Parameter Required Data Type Short Description
locationInformation array Array of (minimum one) objects, each containing the information about each business location, including e-commerce locations.
dbaName string DBA name.
merchantId string Merchant identifier.
mccDescription string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
annualVolume double Annual credit card transaction volume in USD.
averageTicket double Actual or estimated average ticket price in USD.
highestTicket double Actual or estimated highest ticket price in USD.
isPrimaryLocation boolean Indicates whether this object represents the primary business location.
faceToFace string Percentage (converted to string) of payments/transactions made face to face (can’t exceed 100%).
phoneOrEmail string Percentage (converted to string) of payments/transactions made by phone or email (can’t exceed 100%).
internet string Percentage (converted to string) of payments/transactions made on the internet (can’t exceed 100%).
rollupIndicator string
category string Category eg: "RETAIL" (refer to: GET Categories).
productId string These field are required if the shipping amount is not sent under place order.(refer to: POST shippingOptions)
price BigDecimal These field are required if the shipping amount is not sent under place order.(refer to: POST shippingOptions)
shippingName string These field are required if the shipping amount is not sent under place order.(refer to: POST shippingOptions)
isShippingAddressSame boolean These field are required if the shipping amount is not sent under place order.(refer to: POST shippingOptions)
contactInformation array Array of (minimum one) object(s), each of which represent business information for a location. Each can contain contactType, address1, address2, address3, city, state, postalCode, country, and phone.
contactType string Type of location. Possible values: "BILLING", "CORPORATE", "LOCATION", "OWNER", "PRINCIPAL", "SHIP TO", "TRADING".
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
address3 string Third line of street address.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.
phone string Phone number.
equipmentLocation array
lineItemId long
configurableLineItemId long
attributes array
attributeName string
attributeValue string
attributeDomain string
bankInformation array Array of (minimum one) object(s) that collects the ACH information.
instName string Financial institution name such as "JPMORGAN CHASE BANK", etc.
abaNumber string ABA routing transit number. A nine digit code to identify a financial institution. Needs to be validated using the POST Banks/Validate service.
accountNumber string Checking account number. Usually 10-12 digit number to identify the merchant’s account.
ordinal integer Default to 2
isPrimary boolean Indicates whether this object represents the primary bank.

Response

The endpoint returns an object containing merchant location details and the orderId.

Parameter Data Type Description
orderId string The unique identifier of an order returned after successful submission.
primaryMerchantId string Primary merchant identifier.
merchantIdList array
merchantId string

POST Merchantorders/AccountPreferences

data = {
  "advancedPreferences": {
    "statementDeliveryType": "Email",
    "statementType": "F",
    "statementEmailAddress": "johnsmith@email.com",
    "form1099Electronically": "Yes",
    "form1099ToEmail": "Yes",
    "chargeBack": "1",
    "chargeBackDeliveryType": "Mail",
    "contactName": "John Smith",
    "contactPhone": "1234567890",
    "installContact": "",
    "openDate": "10/31/2018",
    "languagePreference": "ENG",
    "trainingProvider": "MAG",
    "preferredTrainingFrom": "11:00AM",
    "preferredTrainingTo": "12:00PM",
    "thirdPartyProcessor": "00",
    "requiredPersonalGuarantee": false
    },
  "contractNotes": {
    "commentToCreditOfficer": "",
    "managerNotes": ""
  }
}

endpoint = "/marketplace/v1/merchantorders/nmwDl/accountpreferences"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

ENDPOINT="$URL/marketplace/v1/merchantorders/nmwDl/accountpreferences"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "advancedPreferences": {
    "statementDeliveryType": "Email",
    "statementType": "F",
    "statementEmailAddress": "johnsmith@email.com",
    "form1099Electronically": "Yes",
    "form1099ToEmail": "Yes",
    "chargeBack": "1",
    "chargeBackDeliveryType": "Mail",
    "contactName": "John Smith",
    "contactPhone": "1234567890",
    "installContact": "",
    "openDate": "10/31/2018",
    "languagePreference": "ENG",
    "trainingProvider": "MAG",
    "preferredTrainingFrom": "11:00AM",
    "preferredTrainingTo": "12:00PM",
    "thirdPartyProcessor": "00",
    "requiredPersonalGuarantee": false
    },
  "contractNotes": {
    "commentToCreditOfficer": "",
    "managerNotes": ""
  }
}' $ENDPOINT
var options = {
  method: 'POST',
  url: url + '/marketplace/v1/merchantorders/nmwDl/accountpreferences',
  headers: getAuthenticationHeaders(),
  body: {
  "advancedPreferences": {
    "statementDeliveryType": "Email",
    "statementType": "F",
    "statementEmailAddress": "johnsmith@email.com",
    "form1099Electronically": "Yes",
    "form1099ToEmail": "Yes",
    "chargeBack": "1",
    "chargeBackDeliveryType": "Mail",
    "contactName": "John Smith",
    "contactPhone": "1234567890",
    "installContact": "",
    "openDate": "10/31/2018",
    "languagePreference": "ENG",
    "trainingProvider": "MAG",
    "preferredTrainingFrom": "11:00AM",
    "preferredTrainingTo": "12:00PM",
    "thirdPartyProcessor": "00",
    "requiredPersonalGuarantee": false
    },
  "contractNotes": {
    "commentToCreditOfficer": "",
    "managerNotes": ""
  }
},
json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);
});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" 
 \"advancedPreferences\": {\n    \"statementDeliveryType\": \"Email\",
\n    \"statementType\": \"F\",
\n    \"statementEmailAddress\": \"johnsmith@email.com\",
\n    \"form1099Electronically\": \"Yes\",
\n    \"form1099ToEmail\": \"Yes\",
\n    \"chargeBack\": \"1\",
\n    \"chargeBackDeliveryType\": \"Mail\",
\n    \"contactName\": \"John Smith\",
\n    \"contactPhone\": \"1234567890\",
\n    \"installContact\": \"\",
\n    \"openDate\": \"10\/31\/2018\",
\n    \"languagePreference\": \"ENG\",
\n    \"trainingProvider\": \"MAG\",
\n    \"preferredTrainingFrom\": \"11:00AM\",
\n    \"preferredTrainingTo\": \"12:00PM\",
\n    \"thirdPartyProcessor\": \"00\",
\n    \"requiredPersonalGuarantee\": false
\n    },
\n  \"contractNotes\": {
\n    \"commentToCreditOfficer\": \"\",
\n    \"managerNotes\": \"\"
\n  }
\n}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/merchantorders/nmwDl/accountpreferences", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}

<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
    'advancedPreferences' => 
    array (
      'statementDeliveryType' => 'Email',
      'statementType' => 'F',
      'statementEmailAddress' => 'johnsmith@email.com',
      'form1099Electronically' => 'Yes',
      'form1099ToEmail' => 'Yes',
      'chargeBack' => '1',
      'chargeBackDeliveryType' => 'Mail',
      'contactName' => 'John Smith',
      'contactPhone' => '1234567890',
      'installContact' => '',
      'openDate' => '10/31/2018',
      'languagePreference' => 'ENG',
      'trainingProvider' => 'MAG',
      'preferredTrainingFrom' => '11:00AM',
      'preferredTrainingTo' => '12:00PM',
      'thirdPartyProcessor' => '00',
      'requiredPersonalGuarantee' => false,
    ),
    'contractNotes' => 
    array (
      'commentToCreditOfficer' => '',
      'managerNotes' => '',
    ),
  )

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/merchantorders/nmwDl/locations");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{
  "orderId": "nmwDl"
}

This endpoint collects advanced setup and account preferences for the merchant order.

Request

POST /marketplace/v1/merchantorders/{orderId}/accountpreferences

In the request URL, use the orderId as it was returned in the response of the POST Merchantorders API.

The endpoint takes two JSON objects as input, which contain the following information.

Parameter Required Data Type Short Description
advancedPreferences object
statementDeliveryType string Method of delivery for Account Statement. Possible values: "Email", "Online"
statementEmailAddress string Email address to deliver the Account Statement.
form1099Electronically string Option for merchant to get Form 1099 form electronically. Possible values: "Yes", "No"
form1099ToEmail string Option to send Form 1099 to the same email as Account Statement. Possible values: "Yes", "No"
emailAddressFor1099k string Email Address for 1009 Statement. Only if merchant selected "No" for form1099ToEmail.
chargeBack string Address to respond the Chargeback or Retrieval Disputes. Possible values: "0", "1", "2" (refer to: chargeBack Values).
chargeBackDeliveryType string Method of delivery for Chargeback or Retrieval Disputes. Possible values: "Mail", "Fax", "Dispute Manager"
fax string Fax number to which Charge back information will be Sent. Only if merchant selects "Fax" for chargeBackDeliveryType.
contactName string Contact name for installation.
contactPhone string Merchant phone number for installation.
preferredTrainingFrom string Preferred start time for installation and training (configuring terminals and software). Possible values: "09:00AM", "10:00AM", "11:00AM", "12:00PM", "1:00PM", "2:00PM", "3:00PM", "4:00PM".
preferredTrainingTo string Preferred end time for installation and training (configuring terminals and software). Possible values: "10:00AM", "11:00AM", "12:00PM", "1:00PM", "2:00PM“, "3:00PM", "4:00PM", "5:00PM".
trainingProvider string Training provider, the person to conduct training. Possible values: "INSTALLER", "MAG", "OSR", "SELF" (refer to: trainingProvider Values).
thirdPartyProcessor string Option to select Any software used for storing, transmitting, or processing card transactions or authorized requests
thirdPartyProcessorSoftware string If any third party selected, what is the name of it?
openDate string Date merchant is open to install the equipment format Ex: "08/30/2017".
installContact string Contact from merchant to connect while installing the equipment.
languagePreference string Language preference of the contact during installation. See possible values here.
statementType string Type of the Statement to provide a comprehensive record of submission, Chargebacks, funding info and fees. Possible values: "F" (Detail), "G" (Summary).
requiredPersonalGuarantee boolean Personal Guarantee is required for contract.
contractNotes object
managerNotes string Any specific contract notes for Manager.
commentToCreditOfficer string Comments to the Credit Officer who has to approve the contract.

chargeBack values

Value Meaning
"0” None
“1” Business Address
“2” Owner Address

triningProider values

Value Meaning
“INSTALLER” The terminal/software installer will do training.
“MAG” Manager will do training.
“OSR” Sales representative will do training.
“SELF” No training.

thirdPartyProcessor values

Value Meaning
“00” None
“01” Yahoo
“02” Authorize.net
“03” CyberSource
“04” Verifone
“05” Merchant Link
“06” Shift 4
“07” Apriva
“08” FIS
“09” Siz Payment Services Group
“10” Verisign
“99” Other

languagePreference values

Value Meaning
“CHI” Chinese.
“ENG” English.
“MAN” Mandarin.
“SPA” Spanish.
“VIE” Vietnamese.

Response

The endpoint returns an object containing the orderId.

Parameter Data Type Description
orderId string The unique identifier of an order returned after successful submission.

POST Application/Submit v3

data = {
         "orderId": "PaGl7",
         "contractAuditTrail": {
           "merchantName": "JON CONSUMER",
           "merchantEmail": "test@gmail.com",
           "geoLocation": "41.247185699999996,-96.0200888",
           "signDate": "2017-05-31T15:28:39.781Z",
           "acceptedAgreementDate": "2017-05-31T15:28:39.781Z",
           "ipAddress": "172.58.41.5"
         },
         "threatMetrixGuid": "000e3b78-bdc4-b1e2-e9fe-15df241c7105",
         "solicitationType":"06"
       }

endpoint = "/marketplace/v3/application/submit"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

ENDPOINT="$URL/marketplace/v3/application/submit"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '
{
  "orderId": "PaGl7",
  "contractAuditTrail": {
    "merchantName": "JON CONSUMER",
    "merchantEmail": "test@gmail.com",
    "geoLocation": "41.247185699999996,-96.0200888",
    "signDate": "2017-05-31T15:28:39.781Z",
    "acceptedAgreementDate": "2017-05-31T15:28:39.781Z",
    "ipAddress": "172.58.41.5"
  },
  "threatMetrixGuid": "000e3b78-bdc4-b1e2-e9fe-15df241c7105",
  "solicitationType":"06"
}' $ENDPOINT
var options = {
  method: 'POST',
  url: url + '/marketplace/v3/application/submit',
  headers: getAuthenticationHeaders(),
  body: {
    "orderId": "PaGl7",
    "contractAuditTrail": {
      "merchantName": "JON CONSUMER",
      "merchantEmail": "test@gmail.com",
      "geoLocation": "41.247185699999996,-96.0200888",
      "signDate": "2017-05-31T15:28:39.781Z",
      "acceptedAgreementDate": "2017-05-31T15:28:39.781Z",
      "ipAddress": "172.58.41.5"
    },
    "threatMetrixGuid": "000e3b78-bdc4-b1e2-e9fe-15df241c7105",
    "solicitationType":"06"
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);
});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n  \"orderId\": \"PaGl7\",\n  \"contractAuditTrail\": {\n    \"merchantName\": \"JON CONSUMER\",\n    \"merchantEmail\": \"test@gmail.com\",\n    \"geoLocation\": \"41.247185699999996,-96.0200888\",\n    \"signDate\": \"2017-05-31T15:28:39.781Z\",\n    \"acceptedAgreementDate\": \"2017-05-31T15:28:39.781Z\",\n    \"ipAddress\": \"172.58.41.5\"\n  },\n  \"threatMetrixGuid\": \"000e3b78-bdc4-b1e2-e9fe-15df241c7105\"\n , \"solicitationType\":\"06\"\n}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v3/application/submit", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}

<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
          'orderId' => 'PaGl7',
          'contractAuditTrail' => 
          array (
            'merchantName' => 'JON CONSUMER',
            'merchantEmail' => 'test@gmail.com',
            'geoLocation' => '41.247185699999996,-96.0200888',
            'signDate' => '2017-05-31T15:28:39.781Z',
            'acceptedAgreementDate' => '2017-05-31T15:28:39.781Z',
            'ipAddress' => '172.58.41.5',
          ),
          'threatMetrixGuid' => '000e3b78-bdc4-b1e2-e9fe-15df241c7105',
          'solicitationType':'06',
        )

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v3/application/submit");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{
    "orderId": "PaGl7"
}

Request

POST /marketplace/v3/application/submit

The endpoint takes JSON object as input, which contains the following information.

Parameter Required Data Type Short Description
orderId string Order Id. The identifier to be used in the merchant boarding process as input to reference the order.
contractAuditTrail Object Audit trail that saved along with the contract. Audit trail is not mandatory , if the client wants to save the Audit information of the Order, it can be included.
merchantName string Merchant Name.
merchantEmail string Merchant Email.
geoLocation string Geo location details.
signDate string Signed date. Expected date format - 2017-03-28T17:28:39.781Z
acceptedAgreementDate string Agreement Accepeted Date. Expected date format - 2017-03-28T17:28:39.781Z
ipAddress string IP Address from which Conrtact is Submitted.
documentName string Name of the document, that is included as part the request in the variable base64EncodedPDF.
threatMetrixGuid string Id from Threat Metrix. This is required if the client wants to save Threat Metrix information along with Order.
solicitationType string Allows user to drive when submitting contracts. See possible values here.
base64EncodedPDF String Document that is submitted along with Contract (in base 64 format).

Response

The endpoint returns an object containing the orderId.

Parameter Data Type Description
orderId string Order Id. The identifier to be used in the merchant boarding process as input to reference the order.

Possible values for solicitationtype

2 Byte Indicator Boarding Tool Definition New Segmentation MAMA/AMA/Dynamics Definition Original Interpretation as per Definition
01 Sales rep fills out in front of merchant and merchant signs electronically Field Sales Remote FACE TO FACE -SIGNED ONLINE E-sign = Face to Face F2F
02 Sales rep takes app over phone, chat, digital, etc and emails the MPA to the applicant TeleSales Mixed NON FACE TO FACE – EMAIL C2A = Non F2F Non-F2F TeleSales
03 Sales rep calls merchant, fills out application, Faxes to merchant for signature TeleSales Mixed NON FACE TO FACE – FAX Non-F2F TeleSales
04 No physical site inspection – home-based TeleSales Mixed HOME BASED Non-F2F TeleSales
05 True internet – online app, click to agree signature Self-Service NON FACE TO FACE –SELF SERVICE Non-F2F Self-Boarded
06 Sales rep takes app over the phone, chat, digital, etc and emails the link to the MPA to the applicant TeleSales Inbound NON FACE TO FACE – ELECTRONIC Non-F2F TeleSales
07 Kiosk at bank Self-Service NON FACE TO FACE – KIOSK Non-F2F Self-Boarded
08 Sales rep fills out in front of merchant and prints and signs in front of merchant Field Sales Onsite FACE TO FACE- PAPER Standard = F2F F2F
09 No physical site inspection – Internet TeleSales Mixed Sales rep reviewed an Internet web site as opposed to a physical site Non-F2F TeleSales

POST Banks/Validate

# Don't forget to add your HMAC Authorization Headers
data = {
   "routingNumber":"122100024"
}

endpoint = "/marketplace/v1/banks/validate"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/banks/validate"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "routingNumber": "122100024"
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = { method: 'POST',
  url: url + '/marketplace/v1/banks/validate',
  headers: getAuthenticationHeaders(),
  body: {
    "routingNumber": "122100024"
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
        "  \"routingNumber\": \"122100024\"\n" +
        "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/banks/validate", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'routingNumber' => '122100024',
);

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/banks/validate");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

Example payload: routing.json

{
  "routingNumber": "122100024"
}

The above command returns JSON structured like this:

Success response

{
  "status": {
    "success": "true",
    "message": "000 OPERATION WAS SUCCESSFUL"
},
  "data": {
    "bankName": "JPMORGAN CHASE BANK, NA",
    "bankCity": "COLUMBUS",
    "bankState": "OH",
    "bankZip": "43240"
  }
}

This endpoint can be used to verify the abaNumber entered in the ACH information section (contactsInformation) of the Merchant Application form before submission. For every successful match this endpoint also retrieves additional information about the matched bank.

Request

POST /marketplace/v1/banks/validate

The endpoint takes a JSON object as input, which contains the Bank Routing number (string) entered by the user in the Merchant Application form.

Parameter Required Data Type Description
routingNumber string The Bank Routing number as entered in the Merchant Application form as the abaNumber parameter.

Response

The endpoint returns an object representing the validation result, and in the case of success, the bank information. The following parameters may be in each object returned.

Parameter Type Description
status object Object containing the validation results of the routing number matching an existing bank. Contains success and message.
success string Validation result. "true": successful match. "false": error, no matching record.
message string Validation result description.
data object JSON object containing information about the matched bank. Contains name, bankCity, bankState and bankZip.
name string Name of bank in all caps format.
bankCity string City the bank is located in all caps format.
bankState string State the bank is located in, abbreviated format. i.e. for California send "CA".
bankZip string Zip code of bank.

POST Application/Update

# Don't forget to add your HMAC Authorization Headers

data = {  "merchantContactInformation": [{
    "contactType": "LOCATION",
    "state": "NE",
    "postalCode": "68127",
    "address1": "123 DONOT SHIP",
    "email": "PA1N12@GMAIL.COM",
    "url": "ABC.COM",
    "mobile": "4353534534",
    "voice": "3453453453",
    "country": "USA",
    "name": "MMIS TEST LEGAL",
    "city": "OMAHA"
  }, {
    "contactType": "CORPORATE",
    "state": "NE",
    "postalCode": "68127",
    "address1": "123 DONOT SHIP",
    "address2": "null",
    "mobile": "4353534534",
    "voice": "3453453453",
    "country": "USA",
    "name": "MMIS TEST LEGAL",
    "city": "OMAHA",
    "email": "PA1N12@GMAIL.COM",
    "url": "ABC.COM"
  }],
  "merchantAttributesRequestInformation": [{
    "orderId": 13931,
    "highestTicket": 333,
    "faceToFace": "91",
    "phoneOrEmail": "6",
    "internet": "3",
    "businessWebsite": "ABC.COM",
    "typicalSaleAmount": 32,
    "stateOfIncorporation": "IA",
    "IRSFilingName": "MMIS TEST LEGAL",
    "IRSForeignIndicator": "N",
    "guid": ""
  }],
  "contactsInformation": [{
    "instName": "JPMORGAN CHASE BANK, NA",
    "abaNumber": "122100024",
    "accountNumber": "12345",
    "ordinal": 2
  }],
  "employeeInformation": [{
    "lastName": "EMPLASTNAME",
    "firstName": "EMPFIRSTNAME",
    "ssn": "989898989",
    "dateOfBirth": "1985-05-13",
    "title": "VICE PRESIDENT",
    "homeContactId": "111"
  }],
  "additionalMerchantDetails": [
    { "statementDelivery": "ONLINE" }
  ],
  "siteSurvey": {
    "siteVisitation": "NOT REQUIRED",
    "surveyPerformed": "F6MICSO",
    "businessZone": "MALL",
    "merchantBusinessLocation": "COMBINATION",
    "seasonalMerchant": "YES",
    "totalFloors": "4",
    "floorOccupied": "4",
    "merchantsNameDisplayed": "DOOR",
    "apartmentSquareFoot": "251-500",
    "merchantsOwnBuildSpace": "OWN",
    "totalRegister": 1,
    "licenceDisplayed": "YES",
    "returnPolicy": "EXCHANGE ONLY",
    "separateRefundPolicy": "YES",
    "customerDeposit": "YES",
    "deliveryTimeFrame_0_To_7": "60",
    "deliveryTimeFrame_8_To_14": "40",
    "deliveryTimeFrame_15_To_30": "",
    "deliveryTimeFrame_Over_30": "",
    "salesDeposit": "DATE OF DELIVERY",
    "autoRenew": "YES"
  },
  "merchantReferenceCode": "MERC",
  "merchantType": "RETAIL",
  "dbaName": "MMIS TEST LEGAL",
  "legalName": "MMIS TEST LEGAL",
  "taxId": "989898989",
  "sicCode": " ",
  "yearsInBusiness": "2003-09-01",
  "yearsAtLocation": "2003-09-01",
  "productDescription": "",
  "createdByCoId": 10,
  "billReferenceCode": "O",
  "organizationTypeReferenceCode": "C"
}

endpoint = "/marketplace/v1/application/update"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)
# Don't forget to add your HMAC Authorization Headers

ENDPOINT="$URL/marketplace/v1/application/update"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
    "merchantContactInformation": [{
        "contactType": "LOCATION",
        "state": "CO",
        "postalCode": "80111",
        "address1": "0 Nowhere Ave.",
        "email": "RAO.foo@FIRSTDATA.COM",
        "url": "WWW.FD.COM",
        "mobile": "5534253275",
        "voice": "1239489489",
        "country": "USA",
        "name": "MMIS TEST PARAM",
        "city": "ENGLEWOOD"
    }, {
        "contactType": "CORPORATE",
        "state": "NE",
        "postalCode": "68106",
        "address1": "0 Nowhere Ave.",
        "mobile": "5534253275",
        "voice": "1239489489",
        "country": "USA",
        "name": "MMIS TEST PARAM",
        "city": "OMAHA",
        "email": "RAO.foo@FIRSTDATA.COM",
        "url": "WWW.FD.COM"
    }],
    "merchantAttributesRequestInformation": [{
        "orderId": "5812",
        "highestTicket": 20,
        "faceToFace": "100",
        "phoneOrEmail": "0",
        "businessWebsite": "WWW.FD.COM",
        "typicalSaleAmount": 10,
        "stateOfIncorporation": "LA",
        "IRSFilingName": "MMIS TEST PARAM",
        "IRSForeignIndicator": "A",
        "guid": "174878B69E1617556"
    }],
    "contactsInformation": [{
        "instName":"JP Morgan Chase",
        "abaNumber": "021000021",
        "accountNumber": "9898",
        "ordinal": 2
    }],
    "employeeInformation": [{
        "lastName": "RAO",
        "firstName": "foo",
        "ssn": "000000000",
        "dateOfBirth": "1983-01-01",
        "homeContactId": "111"
    }],
    "additionalMerchantDetails": [
        { "statementDelivery": "ONLINE" }
    ],
    "merchantReferenceCode": "MERC",
    "merchantType": "RETAIL",
    "dbaName": "MMIS TEST PARAM",
    "legalName": "MMIS TEST PARAM",
    "taxId": "000000000",
    "sicCode": " ",
    "yearsInBusiness": "2002-01-01",
    "yearsAtLocation": "2002-01-01",
    "productDescription": "",
    "createdByCoId": 10,
    "billReferenceCode": "O",
    "organizationTypeReferenceCode": "C"
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = { method: 'POST',
  url: url + '/marketplace/v1/application/update',
  headers: getAuthenticationHeaders(),
  body:
   { merchantContactInformation:
      [ { contactType: 'LOCATION',
          state: 'NE',
          postalCode: '68127',
          address1: '123 DONOT SHIP',
          email: 'PA1N12@GMAIL.COM',
          url: 'ABC.COM',
          mobile: '4353534534',
          voice: '3453453453',
          country: 'USA',
          name: 'MMIS TEST LEGAL',
          city: 'OMAHA' },
        { contactType: 'CORPORATE',
          state: 'NE',
          postalCode: '68127',
          address1: '123 DONOT SHIP',
          address2: null,
          mobile: '4353534534',
          voice: '3453453453',
          country: 'USA',
          name: 'MMIS TEST LEGAL',
          city: 'OMAHA',
          email: 'PA1N12@GMAIL.COM',
          url: 'ABC.COM' } ],
     merchantAttributesRequestInformation:
      [ { orderId: 13931,
          highestTicket: 333,
          faceToFace: '91',
          phoneOrEmail: '6',
          internet: '3',
          businessWebsite: 'ABC.COM',
          typicalSaleAmount: 32,
          stateOfIncorporation: 'IA',
          IRSFilingName: 'MMIS TEST LEGAL',
          IRSForeignIndicator: 'N',
          guid: '' } ],
     contactsInformation:
      [ { instName: 'JPMORGAN CHASE BANK, NA',
          abaNumber: '122100024',
          accountNumber: '12345',
          ordinal: 2 } ],
     employeeInformation:
      [ { lastName: 'EMPLASTNAME',
          firstName: 'EMPFIRSTNAME',
          ssn: '989898989',
          dateOfBirth: '1985-05-13',
          title: 'VICE PRESIDENT',
          homeContactId: '111' } ],
     additionalMerchantDetails: 
        [ { statementDelivery: "ONLINE" } ],
     siteSurvey:
      { siteVisitation: 'NOT REQUIRED',
        surveyPerformed: 'F6MICSO',
        businessZone: 'MALL',
        merchantBusinessLocation: 'COMBINATION',
        seasonalMerchant: 'YES',
        totalFloors: '4',
        floorOccupied: '4',
        merchantsNameDisplayed: 'DOOR',
        apartmentSquareFoot: '251-500',
        merchantsOwnBuildSpace: 'OWN',
        totalRegister: 1,
        licenceDisplayed: 'YES',
        returnPolicy: 'EXCHANGE ONLY',
        separateRefundPolicy: 'YES',
        customerDeposit: 'YES',
        deliveryTimeFrame_0_To_7: '60',
        deliveryTimeFrame_8_To_14: '40',
        deliveryTimeFrame_15_To_30: '',
        deliveryTimeFrame_Over_30: '',
        salesDeposit: 'DATE OF DELIVERY',
        autoRenew: 'YES' },
     merchantReferenceCode: 'MERC',
     merchantType: 'RETAIL',
     dbaName: 'MMIS TEST LEGAL',
     legalName: 'MMIS TEST LEGAL',
     taxId: '989898989',
     sicCode: ' ',
     yearsInBusiness: '2003-09-01',
     yearsAtLocation: '2003-09-01',
     productDescription: '',
     createdByCoId: 10,
     billReferenceCode: 'O',
     organizationTypeReferenceCode: 'C' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{  \"merchantContactInformation\": [{\n" +
        "    \"contactType\": \"LOCATION\",\n" +
        "    \"state\": \"NE\",\n" +
        "    \"postalCode\": \"68127\",\n" +
        "    \"address1\": \"123 DONOT SHIP\",\n" +
        "    \"email\": \"PA1N12@GMAIL.COM\",\n" +
        "    \"url\": \"ABC.COM\",\n" +
        "    \"mobile\": \"4353534534\",\n" +
        "    \"voice\": \"3453453453\",\n" +
        "    \"country\": \"USA\",\n" +
        "    \"name\": \"MMIS TEST LEGAL\",\n" +
        "    \"city\": \"OMAHA\"\n" +
        "  }, {\n" +
        "    \"contactType\": \"CORPORATE\",\n" +
        "    \"state\": \"NE\",\n" +
        "    \"postalCode\": \"68127\",\n" +
        "    \"address1\": \"123 DONOT SHIP\",\n" +
        "    \"address2\": null,\n" +
        "    \"mobile\": \"4353534534\",\n" +
        "    \"voice\": \"3453453453\",\n" +
        "    \"country\": \"USA\",\n" +
        "    \"name\": \"MMIS TEST LEGAL\",\n" +
        "    \"city\": \"OMAHA\",\n" +
        "    \"email\": \"PA1N12@GMAIL.COM\",\n" +
        "    \"url\": \"ABC.COM\"\n" +
        "  }],\n" +
        "  \"merchantAttributesRequestInformation\": [{\n" +
        "    \"orderId\": 13931,\n" +
        "    \"highestTicket\": 333,\n" +
        "    \"faceToFace\": \"91\",\n" +
        "    \"phoneOrEmail\": \"6\",\n" +
        "    \"internet\": \"3\",\n" +
        "    \"businessWebsite\": \"ABC.COM\",\n" +
        "    \"typicalSaleAmount\": 32,\n" +
        "    \"stateOfIncorporation\": \"IA\",\n" +
        "    \"IRSFilingName\": \"MMIS TEST LEGAL\",\n" +
        "    \"IRSForeignIndicator\": \"N\",\n" +
        "    \"guid\": \"\"\n" +
        "  }],\n" +
        "  \"contactsInformation\": [{\n" +
        "    \"instName\": \"JPMORGAN CHASE BANK, NA\",\n" +
        "    \"abaNumber\": \"122100024\",\n" +
        "    \"accountNumber\": \"12345\",\n" +
        "    \"ordinal\": 2\n" +
        "  }],\n" +
        "  \"employeeInformation\": [{\n" +
        "    \"lastName\": \"EMPLASTNAME\",\n" +
        "    \"firstName\": \"EMPFIRSTNAME\",\n" +
        "    \"ssn\": \"989898989\",\n" +
        "    \"dateOfBirth\": \"1985-05-13\",\n" +
        "    \"title\": \"VICE PRESIDENT\",\n" +
        "    \"homeContactId\": \"111\"\n" +
        "  }],\n" +
        "  \"additionalMerchantDetails\": [{\n" +
        "    \"statementDelivery\": \"ONLINE\",\n" +
        "  }],\n" +
        "  \"siteSurvey\": {\n" +
        "    \"siteVisitation\": \"NOT REQUIRED\",\n" +
        "    \"surveyPerformed\": \"F6MICSO\",\n" +
        "    \"businessZone\": \"MALL\",\n" +
        "    \"merchantBusinessLocation\": \"COMBINATION\",\n" +
        "    \"seasonalMerchant\": \"YES\",\n" +
        "    \"totalFloors\": \"4\",\n" +
        "    \"floorOccupied\": \"4\",\n" +
        "    \"merchantsNameDisplayed\": \"DOOR\",\n" +
        "    \"apartmentSquareFoot\": \"251-500\",\n" +
        "    \"merchantsOwnBuildSpace\": \"OWN\",\n" +
        "    \"totalRegister\": 1,\n" +
        "    \"licenceDisplayed\": \"YES\",\n" +
        "    \"returnPolicy\": \"EXCHANGE ONLY\",\n" +
        "    \"separateRefundPolicy\": \"YES\",\n" +
        "    \"customerDeposit\": \"YES\",\n" +
        "    \"deliveryTimeFrame_0_To_7\": \"60\",\n" +
        "    \"deliveryTimeFrame_8_To_14\": \"40\",\n" +
        "    \"deliveryTimeFrame_15_To_30\": \"\",\n" +
        "    \"deliveryTimeFrame_Over_30\": \"\",\n" +
        "    \"salesDeposit\": \"DATE OF DELIVERY\",\n" +
        "    \"autoRenew\": \"YES\"\n" +
        "  },\n" +
        "  \"merchantReferenceCode\": \"MERC\",\n" +
        "  \"merchantType\": \"RETAIL\",\n" +
        "  \"dbaName\": \"MMIS TEST LEGAL\",\n" +
        "  \"legalName\": \"MMIS TEST LEGAL\",\n" +
        "  \"taxId\": \"989898989\",\n" +
        "  \"sicCode\": \" \",\n" +
        "  \"yearsInBusiness\": \"2003-09-01\",\n" +
        "  \"yearsAtLocation\": \"2003-09-01\",\n" +
        "  \"productDescription\": \"\",\n" +
        "  \"createdByCoId\": 10,\n" +
        "  \"billReferenceCode\": \"O\",\n" +
        "  \"organizationTypeReferenceCode\": \"C\"\n" +
        "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/application/update", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'merchantContactInformation' =>
  array (
    0 =>
    array (
      'contactType' => 'LOCATION',
      'state' => 'NE',
      'postalCode' => '68127',
      'address1' => '123 DONOT SHIP',
      'email' => 'PA1N12@GMAIL.COM',
      'url' => 'ABC.COM',
      'mobile' => '4353534534',
      'voice' => '3453453453',
      'country' => 'USA',
      'name' => 'MMIS TEST LEGAL',
      'city' => 'OMAHA',
    ),
    1 =>
    array (
      'contactType' => 'CORPORATE',
      'state' => 'NE',
      'postalCode' => '68127',
      'address1' => '123 DONOT SHIP',
      'address2' => 'null',
      'mobile' => '4353534534',
      'voice' => '3453453453',
      'country' => 'USA',
      'name' => 'MMIS TEST LEGAL',
      'city' => 'OMAHA',
      'email' => 'PA1N12@GMAIL.COM',
      'url' => 'ABC.COM',
    ),
  ),
  'merchantAttributesRequestInformation' =>
  array (
    0 =>
    array (
      'orderId' => 13931,
      'highestTicket' => 333,
      'faceToFace' => '91',
      'phoneOrEmail' => '6',
      'internet' => '3',
      'businessWebsite' => 'ABC.COM',
      'typicalSaleAmount' => 32,
      'stateOfIncorporation' => 'IA',
      'IRSFilingName' => 'MMIS TEST LEGAL',
      'IRSForeignIndicator' => 'N',
      'guid' => '',
    ),
  ),
  'contactsInformation' =>
  array (
    0 =>
    array (
      'instName' => 'JPMORGAN CHASE BANK, NA',
      'abaNumber' => '122100024',
      'accountNumber' => '12345',
      'ordinal' => 2,
    ),
  ),
  'employeeInformation' =>
  array (
    0 =>
    array (
      'lastName' => 'EMPLASTNAME',
      'firstName' => 'EMPFIRSTNAME',
      'ssn' => '989898989',
      'dateOfBirth' => '1985-05-13',
      'title' => 'VICE PRESIDENT',
      'homeContactId' => '111',
    ),
  ),
  'additionalMerchantDetails' =>
  array (
    0 =>
    array (
      'statementDelivery' => 'ONLINE',
    ),
  ),
  'siteSurvey' =>
  array (
    'siteVisitation' => 'NOT REQUIRED',
    'surveyPerformed' => 'F6MICSO',
    'businessZone' => 'MALL',
    'merchantBusinessLocation' => 'COMBINATION',
    'seasonalMerchant' => 'YES',
    'totalFloors' => '4',
    'floorOccupied' => '4',
    'merchantsNameDisplayed' => 'DOOR',
    'apartmentSquareFoot' => '251-500',
    'merchantsOwnBuildSpace' => 'OWN',
    'totalRegister' => 1,
    'licenceDisplayed' => 'YES',
    'returnPolicy' => 'EXCHANGE ONLY',
    'separateRefundPolicy' => 'YES',
    'customerDeposit' => 'YES',
    'deliveryTimeFrame_0_To_7' => '60',
    'deliveryTimeFrame_8_To_14' => '40',
    'deliveryTimeFrame_15_To_30' => '',
    'deliveryTimeFrame_Over_30' => '',
    'salesDeposit' => 'DATE OF DELIVERY',
    'autoRenew' => 'YES',
  ),
  'merchantReferenceCode' => 'MERC',
  'merchantType' => 'RETAIL',
  'dbaName' => 'MMIS TEST LEGAL',
  'legalName' => 'MMIS TEST LEGAL',
  'taxId' => '989898989',
  'sicCode' => ' ',
  'yearsInBusiness' => '2003-09-01',
  'yearsAtLocation' => '2003-09-01',
  'productDescription' => '',
  'createdByCoId' => 10,
  'billReferenceCode' => 'O',
  'organizationTypeReferenceCode' => 'C',
);

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/application/update");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

Example payload: update.json (partial file - see full file on Github)

{  
  "merchantContactInformation": [{
    "contactType": "LOCATION",
    "state": "NE",
    "postalCode": "68127",
    "address1": "123 DONOT SHIP",
    "email": "PA1N12@GMAIL.COM",
    "url": "ABC.COM",
    "mobile": "4353534534",
    "voice": "3453453453",
    "country": "USA",
    "name": "MMIS TEST LEGAL",
    "city": "OMAHA"
  }, {
    "contactType": "CORPORATE",
    "state": "NE",
    "postalCode": "68127",
    "address1": "123 DONOT SHIP",
    "address2": "null",
    "mobile": "4353534534",
    "voice": "3453453453",
    "country": "USA",
    "name": "MMIS TEST LEGAL",
    "city": "OMAHA",
    "email": "PA1N12@GMAIL.COM",
    "url": "ABC.COM"
  }],
  "merchantAttributesRequestInformation": [{
    "orderId": 13931,
    "highestTicket": 333,
    "faceToFace": "91",
    "phoneOrEmail": "6",
    "internet": "3",
    "businessWebsite": "ABC.COM",
    "typicalSaleAmount": 32,
    "stateOfIncorporation": "IA",
    "IRSFilingName": "MMIS TEST LEGAL",
    "IRSForeignIndicator": "N",
    "guid": ""
  }],
  "contactsInformation": [{
    "instName": "JPMORGAN CHASE BANK, NA",
    "abaNumber": "122100024",
    "accountNumber": "12345",
    "ordinal": 2
  }],
  "employeeInformation": [{
    "lastName": "EMPLASTNAME",
    "firstName": "EMPFIRSTNAME",
    "ssn": "989898989",
    "dateOfBirth": "1985-05-13",
    "title": "VICE PRESIDENT",
    "homeContactId": "111"
  }],
  "additionalMerchantDetails": [
    { "statementDelivery": "ONLINE" }
  ],
  "siteSurvey": {
    "siteVisitation": "NOT REQUIRED",
    "surveyPerformed": "F6MICSO",
    "businessZone": "MALL",
    "merchantBusinessLocation": "COMBINATION",
    "seasonalMerchant": "YES",
    "totalFloors": "4",
    "floorOccupied": "4",
    "merchantsNameDisplayed": "DOOR",
    "apartmentSquareFoot": "251-500",
    "merchantsOwnBuildSpace": "OWN",
    "totalRegister": 1,
    "licenceDisplayed": "YES",
    "returnPolicy": "EXCHANGE ONLY",
    "separateRefundPolicy": "YES",
    "customerDeposit": "YES",
    "deliveryTimeFrame_0_To_7": "60",
    "deliveryTimeFrame_8_To_14": "40",
    "deliveryTimeFrame_15_To_30": "",
    "deliveryTimeFrame_Over_30": "",
    "salesDeposit": "DATE OF DELIVERY",
    "autoRenew": "YES"
  },
  "merchantReferenceCode": "MERC",
  "merchantType": "RETAIL",
  "dbaName": "MMIS TEST LEGAL",
  "legalName": "MMIS TEST LEGAL",
  "taxId": "989898989",
  "sicCode": " ",
  "yearsInBusiness": "2003-09-01",
  "yearsAtLocation": "2003-09-01",
  "productDescription": "",
  "createdByCoId": 10,
  "billReferenceCode": "O",
  "organizationTypeReferenceCode": "C"
}

The above command returns JSON structured like this:

{
  "orderRefId": "5812",
  "orderHash": "Order Delivered",
  "merchantId": 6333,
  "orderIdForMerchant": 5812,
  "errorText": ""
}

This endpoint submits the Merchant Application form.

Note: This request should only occur after the user has completed all of the required fields.

Request

POST /marketplace/v1/application/update

Parameter Required Data Type Short Description
merchantAttributes RequestInformation array Array of (minimum one) object(s) that is required to submit the application form.
orderId integer orderId as it was returned in the response of the POST Application/Checkout API.
highestTicket double Actual or estimated highest ticket price in USD.
faceToFace integer Percentage of payments/transactions made face to face (can’t exceed 100%).
phoneOrEmail integer Percentage of payments/transactions made by phone or email (can’t exceed 100%).
internet integer Percentage of payments/transactions made on the internet (can’t exceed 100%).
businessWebsite string URL of business website.
typicalSaleAmount double Actual or estimated average ticket price in USD. Values for averageTicket may be used to populate this field.
stateOfIncorporation string State of incorporation in abbreviated format. i.e. for California send "CA".
IRSFilingName string IRS tax filing name for the business. Needs to be validated against taxId using the POST TIN/Validate service.
IRSForeignIndicator string Indicates if the business can claim foreign status according to IRS regulations. Possible values: "Y" or "N".
guid string Universal ID for the request of the POST TIN/Validate service.
merchantContactInformation array Array of (minimum one) object(s) that collects business information. Contains name, address1, address2, city, state, postalCode, country, email, url, mobile and voice.
name string Business name.
address1 string Street address of the business.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite etc.
city string City the business is located in.
state string State the business is located in, in abbreviated format. i.e. for California send "CA".
postalCode string Business ZIP code.
country string Country the business is located in.
email string Primary contact email address.
url string URL of business website, can be populated from same input as businessWebsite.
mobile string Primary contact cell phone number.
voice string Primary contact phone number OR business primary phone number.
contactsInformation array Array of (minimum one) object(s) that collects the ACH information abaNumber and accountNumber.
abaNumber string ABA routing transit number. A nine digit code to identify a financial institution. Needs to be validated using the POST Banks/Validate service.
accountNumber string Checking account number. Usually 10-12 digit number to identify the merchant’s account.
employeeInformation array Array of (minimum one) object(s) to collect information about the owner(s) of the business. Contains firstName, lastName, ssn, dateOfBirth and homeContactId.
lastName string Owner’s last name.
firstName string Owner’s first name.
ssn string Owner’s Social Security Number in “#########” format.
dateOfBirth string Owner’s date of birth in “YYYY-MM-DD” format.
homeContactId string Home Contact Id Number. Not required, but if sent always default to "111".
additionalMerchantDetails object Additional information including statement delivery.
statementDelivery string Preference on how statements should be delivered to merchant. Default to "ONLINE".
dbaName string DBA name.
legalName string Legal business name.
taxId string A Taxpayer Identification Number (TIN) is an identification number used by the Internal Revenue Service (IRS). Needs to be validated against IRSFilingName using the POST TIN/Validate service.
yearsInBusiness string Number of years in business.
yearsAtLocation string Number of years the business has been operating at the current location.
billReferenceCode string Billing Reference code. Not required, but if sent always default to "O".
organizationTypeReferenceCode string Organization type represented by an abbreviated code. See possible values here.

Possible values for organizationTypeReferenceCode

Value Meaning
"I" Sole Proprietorship
"P" Partnership
"C" Public Corporation
"PRC" Private Corporation
"L" Limited Liability Company
"T" Tax Exempt
"G" Government

Response

The endpoint returns an object containing the Application Form submission results. The following parameters may be in each object returned.

Parameter Data Type Description
orderRefId string Order Id.
orderHash string Order hash value.
merchantId integer Merchant Id.
orderIdForMerchant integer Order Id for merchant.
errorText string Error text.

POST Identity/Questions

# Don't forget to add your HMAC Authorization Headers
data = {
  "orderId": "15407"
}

endpoint = "/marketplace/v1/identity/questions"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r.text)
# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/identity/questions"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{ "orderId": "15407" }' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = { method: 'POST',
  url: url + '/marketplace/v1/identity/questions',
  headers: getAuthenticationHeaders(),
  body: {
    "orderId": "15407"
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
          "  \"orderId\": \"15407\"\n" +
          "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/identity/questions", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'orderId' => '15407',
);

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/identity/questions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

Success response

{
  "idologyQuestionsResponse": {
    "response": {
      "idNumber": 1075647199,
      "questions": {
        "question": [{
          "answer": [
            "Less than 2 years",
            "2 - 3 years",
            "3 - 4 years",
            "4 - 5 years",
            "Over 5 years",
            "None of the above",
            "Skip Question"
          ],
          "type": "time.at.current.address",
          "prompt": "How long have you been associated with the property at 3210 TOTH RD?"
        }, {
          "answer": [
            "ST MARY'S MEDICAL CENTER",
            "CENTENNIAL PEAKS HOSPITAL",
            "SAINT JOSEPH HOSPITAL",
            "ADVOCATE GOOD SHEPHERD HOSP",
            "TRINITY MEDICAL CENTER",
            "SAINT NICHOLAS HOSPITAL",
            "Skip Question"
          ],
          "type": "geo.closest.hospital",
          "prompt": "Which of these hospitals is closest to your address on TOTH RD?"
        }, {
          "answer": [
            "Michigan",
            "Virginia",
            "Connecticut",
            "Kansas",
            "Nevada",
            "None of the above",
            "Skip Question"
          ],
          "type": "ssn.issued.in",
          "prompt": "Where was your social security number issued?"
        }, {
          "answer": [
            "SAGINAW",
            "COATSBURG",
            "NORTH TARRYTOWN",
            "WEST HAVEN",
            "WORTHINGTON",
            "None of the above",
            "Skip Question"
          ],
          "type": "city.of.residence",
          "prompt": "In which city is JANES AVE?"
        }]
      },
      "qualifiers": {
        "qualifier": [{
          "message": "Address Does Not Match",
          "key": "resultcode.address.does.not.match"
        }, {
          "message": "Street Number Does Not Match",
          "key": "resultcode.street.number.does.not.match"
        }, {
          "message": "Street Name Does Not Match",
          "key": "resultcode.street.name.does.not.match"
        }]
      },
      "summary-result": {
        "message": "PASS",
        "key": "id.success"
      },
      "results": {
        "message": "ID Located",
        "key": "result.match"
      }
    }
  },
  "message": "Success"
}

Example error response. This response indicated that the provided information (TIN information) could not be associated with a known record.

{
    "code": 1030,
    "additional message": "Error received from Idology Question service",
    "message": "Error Retrieving Idology Questions"
}

This endpoint returns the multiple-choice questions and the list of possible answers for each of them. These can be presented to the user to verify their identity. The user’s answers are then submitted using the POST Identity/Answers endpoint.

This service uses the TIN information after submitting the Merchant Application using the POST Application/Update endpoint.

Request

POST /marketplace/v1/identity/questions

Parameter Required Data Type Description
orderId string orderId as it was returned in the response of the POST Application/Checkout API.

Response

The endpoint returns an object containing the results of the record lookup, and if the record is successfully located (see message), a list of multiple-choice questions and the list of possible answers for each. The following parameters may be in each object returned.

Parameter Data Type Description
message string Response message from the service. In case a record is found it is "Success." In case of error it provides details about the problem together with code and additional message.
code integer In case of error it is the error code.
additional message string In case of error it provides additional information on the problem.
idologyQuestionsResponse object Wrapper object containing the response.
response object Object containing the questions, possible answers and request identification. Contains idNumber, questions, qualifiers, summary-result and results.
idNumber integer Unique identification for the identity verification for this record. Used as input in the POST Identity/Answers endpoint.
questions object Collection of 4 objects, each representing a multiple choice question (question) to present to the user.
question array One question entry. Contains prompt, answer and type.
answer array An array of string each representing a possible answer to the multiple choice question.
type string String identifier of the question to use as input in the POST Identity/Answers endpoint.
prompt string The question label to show in the user interface or to ask to the user.
qualifiers object Wrapper object containing qualifying messages (qualifier arrays). This provides information on the record lookup based on verifying the data provided before, such as the address, TIN, name, etc.
qualifier array One qualifier message. Contains key and message.
message string Display message for the qualifier.
key string Message identifier for the qualifier.
summary-result object Wrapper object containing result of the record lookup. This provides information on the success or failure to locate the record to verify. Contains key and message.
message string Display message for summary-results: "PASS" or "FAIL".
key string Message identifier for summary-results.
results object Wrapper object containing result of the record lookup. This provides information on the success or failure to locate the record to verify. Contains key and message.
message string Display message for results.
key string Message identifier for results.

POST Identity/Answers

# Don't forget to add your HMAC Authorization Headers
data = {
  "merchantOrderId":"15407",
  "responseId":"1075647199",
  "idologyAnswersList": [{
    "questionType":"time.at.current.address", 
    "questionAnswer":"Less+than+2+years"
  }, {
    "questionType":"geo.closest.hospital", 
    "questionAnswer":"ST+MARY'S+MEDICAL+CENTER"
  }, {
    "questionType":"ssn.issued.in", 
    "questionAnswer":"Michigan"
  }]
}

endpoint = "/marketplace/v1/identity/answers"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r.text)
# Don't forget to add your HMAC Authorization Headers

ENDPOINT="$URL/marketplace/v1/identity/answers"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "merchantOrderId":"15407",
  "responseId":"1075647199",
  "idologyAnswersList": [{
    "questionType":"time.at.current.address", 
    "questionAnswer":"Less+than+2+years"
  }, {
    "questionType":"geo.closest.hospital", 
    "questionAnswer":"ST+MARY'S+MEDICAL+CENTER"
  }, {
    "questionType":"ssn.issued.in", 
    "questionAnswer":"Michigan"
  }]
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = { method: 'POST',
  url: url + '/marketplace/v1/identity/answers',
  headers: getAuthenticationHeaders(),
  body:
    {
      "merchantOrderId":"15407",
      "responseId":"1075647199",
      "idologyAnswersList": [{
        "questionType":"time.at.current.address", 
        "questionAnswer":"Less+than+2+years"
      }, {
        "questionType":"geo.closest.hospital", 
        "questionAnswer":"ST+MARY'S+MEDICAL+CENTER"
      }, {
        "questionType":"ssn.issued.in", 
        "questionAnswer":"Michigan"
      }]
    },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
        "\"merchantOrderId\":\"15407\",\n" +
        "\"responseId\":\"1075647199\",\n"+
        "\"idologyAnswersList\":\n" +
        "[\n" +
        "{\"questionAnswer\":\"Less+than+2+years\",\"questionType\":\"time.at.current.address\"},\n" +
        "{\"questionAnswer\":\"ST+MARY'S+MEDICAL+CENTER\",\"questionType\":\"geo.closest.hospital\"},\n" +
        "{\"questionAnswer\":\"Michigan\",\"questionType\":\"ssn.issued.in\"}\n" +
        "]\n" +
        "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/identity/answers", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'merchantOrderId' => '15407',
  'responseId' => '1075647199',
  'idologyAnswersList' =>
      array (
          0 =>
              array (
                  'questionType' => 'time.at.current.address',
                  'questionAnswer' => 'Less+than+2+years'
              ),
          1 =>
              array (
                  'questionType' => 'geo.closest.hospital', 
                  'questionAnswer' => 'ST+MARY'S+MEDICAL+CENTER'
              ),
          2 =>
              array (
                  'questionType' => 'ssn.issued.in', 
                  'questionAnswer' => 'Michigan'
              ),
          ),
      ),
  );


$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/identity/answers");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

Success response

{
  "response": {
    "idNumber": 1076900839,
    "qualifiers": {
      "qualifier": [
        {
          "message": "Address Does Not Match",
          "key": "resultcode.address.does.not.match"
        },
        {
          "message": "Street Number Does Not Match",
          "key": "resultcode.street.number.does.not.match"
        },
        {
          "message": "Street Name Does Not Match",
          "key": "resultcode.street.name.does.not.match"
        }
      ]
    },
    "idliveq-result": {
      "message": "Two Incorrect Answers",
      "key": "result.questions.2.incorrect"
    },
    "summary-result": {
      "message": "PASS",
      "key": "id.success"
    },
    "answers-received": 3,
    "results": {
      "message": "ID Located",
      "key": "result.match"
    }
  }
}

This endpoint returns the results of the identity verification.

It uses the input from the user as they answer the questions presented to them from the POST Identity/Questions endpoint.

Request

POST /marketplace/v1/identity/answers

Parameter Required Data Type Description
merchantOrderId string orderId as it was returned in the response of the POST Application/Checkout API. Same as in previous service.
responseId string Numeric response ID (idNumber) that was returned by the POST Identity/Questions service.
idologyAnswersList array Array of object each representing and answer (containing questionType and questionAnswer pairs) from the user. You must send 3 answer objects.
questionType string String identifier of the question returned by the POST Identity/Questions service.
questionAnswer string The user’s choice from the answer array returned by the POST Identity/Questions service.

Response

The endpoint returns an object containing the results of the identity verification. The following parameters may be in each object returned.

Parameter Data Type Description
response object Object containing the verification results. Contains idNumber, answers-received, idequiv-result, qualifiers, summary-result and results.
idNumber integer Unique identification for the Identity Verification for this record.
answers-received integer Number of answers received. Note: You must send 3 answers in order to get a successful response.
idequiv-result object Wrapper object containing result of the overall submission. Contains key and message.
message string Display message for idequiv-result.
key string Message identifier for idequiv-result.
qualifiers object Wrapper object containing qualifying messages (qualifier arrays). This provides information on the record lookup based on verifying the data provided before, such as the address, TIN, name, etc.
qualifier array One qualifier message. Contains key and message.
message string Display message for the qualifier.
key string Message identifier for the qualifier.
summary-result object Wrapper object containing result of the record lookup. This provides information on the success or failure to locate the record to verify. Contains key and message.
message string Display message for summary message: "PASS" or "FAIL".
key string Message identifier for summary-results.
results object Wrapper object containing result of the record lookup. This provides information on the success or failure to locate the record to verify. Contains key and message.
message string Display message for results.
key string Message identifier for results.

POST Merchant/Identity

# Don't forget to add your HMAC Authorization Headers
data = {
  "firstName": "John", 
  "lastName": "Smith", 
  "taxId": "351762213", 
  "addressLine1": "123 Main Street", 
  "postalCode": "12345", 
  "city": "Schenectady", 
  "state": "NY", 
  "dateofBirth": "04/15/1975" 
}

endpoint = "/marketplace/v1/merchant/identity/questions "

r = requests.post(url + endpoint, json=data, headers=headers)
print(r.text)
# Don't forget to add your HMAC Authorization Headers

ENDPOINT="$URL/marketplace/v1/merchant/identity/questions "
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "firstName": "John", 
  "lastName": "Smith", 
  "taxId": "351762213", 
  "addressLine1": "123 Main Street", 
  "postalCode": "12345", 
  "city": "Schenectady", 
  "state": "NY", 
  "dateofBirth": "04/15/1975" 
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = { method: 'POST',
  url: url + '/marketplace/v1/merchant/identity/questions ',
  headers: getAuthenticationHeaders(),
  body:
    {
       "firstName": "John", 
       "lastName": "Smith", 
       "taxId": "351762213", 
       "addressLine1": "123 Main Street", 
       "postalCode": "12345", 
       "city": "Schenectady", 
       "state": "NY", 
       "dateofBirth": "04/15/1975" 
    },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
      "  \"firstName\": \"John\",\n" +
      "  \"lastName\": \"Smith\",\n" +
      "  \"taxId\": \"351762213\",\n" +
      "  \"addressLine1\": \"123 Main Street\",\n" +
      "  \"postalCode\": \"12345\",\n" +
      "  \"city\": \"Schenectady\",\n" +
      "  \"state\": \"NY\",\n" +
      "  \"dateofBirth\": \"04/15/1975\"\n" +
      "}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/merchant/identity/questions ", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
    'firstName' => 'John',
    'lastName' => 'Smith',
    'taxId' => '351762213',
    'addressLine1' => '123 Main Street',
    'postalCode' => '12345',
    'city' => 'Schenectady',
    'state' => 'NY',
    'dateofBirth' => '04/15/1975',
  );


$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/merchant/identity/questions ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

Success response

{
  "idologyQuestionsResponse": {
    "response": {
      "idNumber": 1075647199,
      "questions": {
        "question": [{
          "answer": [
            "Less than 2 years",
            "2 - 3 years",
            "3 - 4 years",
            "4 - 5 years",
            "Over 5 years",
            "None of the above",
            "Skip Question"
          ],
          "type": "time.at.current.address",
          "prompt": "How long have you been associated with the property at 3210 TOTH RD?"
        }, {
          "answer": [
            "ST MARY'S MEDICAL CENTER",
            "CENTENNIAL PEAKS HOSPITAL",
            "SAINT JOSEPH HOSPITAL",
            "ADVOCATE GOOD SHEPHERD HOSP",
            "TRINITY MEDICAL CENTER",
            "SAINT NICHOLAS HOSPITAL",
            "Skip Question"
          ],
          "type": "geo.closest.hospital",
          "prompt": "Which of these hospitals is closest to your address on TOTH RD?"
        }, {
          "answer": [
            "Michigan",
            "Virginia",
            "Connecticut",
            "Kansas",
            "Nevada",
            "None of the above",
            "Skip Question"
          ],
          "type": "ssn.issued.in",
          "prompt": "Where was your social security number issued?"
        }, {
          "answer": [
            "SAGINAW",
            "COATSBURG",
            "NORTH TARRYTOWN",
            "WEST HAVEN",
            "WORTHINGTON",
            "None of the above",
            "Skip Question"
          ],
          "type": "city.of.residence",
          "prompt": "In which city is JANES AVE?"
        }]
      },
      "qualifiers": {
        "qualifier": [{
          "message": "Address Does Not Match",
          "key": "resultcode.address.does.not.match"
        }, {
          "message": "Street Number Does Not Match",
          "key": "resultcode.street.number.does.not.match"
        }, {
          "message": "Street Name Does Not Match",
          "key": "resultcode.street.name.does.not.match"
        }]
      },
      "summary-result": {
        "message": "PASS",
        "key": "id.success"
      },
      "results": {
        "message": "ID Located",
        "key": "result.match"
      }
    }
  },
  "message": "Success"
}

Example error response. This response indicated that the provided information (TIN information) could not be associated with a known record.

{
    "code": 1030,
    "additional message": "Error received from Idology Question service",
    "message": "Error Retrieving Idology Questions"
}

This endpoint returns a list of multiple-choice questions and the list of possible answers for each of them. These can be presented to the user to verify their identity.

Request

POST /marketplace/v1/merchant/identity/questions

Parameter Required Data Type Description
firstName string Owner’s first name.
lastName string Owner’s last name.
taxId string Owner’s Taxpayer Identification Number: SSN.
addressLine1 string Street address.
postalCode string ZIP/postal code.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
dateofBirth string Owner’s date of birth in “MM/DD/YYYY” format.

Response

The endpoint returns an object containing the results of the record lookup, and if the record is successfully located (see message), a list of multiple-choice questions and the list of possible answers for each. The following parameters may be in each object returned.

Parameter Data Type Description
message string Response message from the service. In case a record is found it is "Success."
idologyQuestionsResponse object Wrapper object containing the response.
response object Object containing the questions, possible answers and request identification. Contains idNumber, questions, qualifiers, summary-result and results.
idNumber integer Unique identification for the identity verification for this record. Used as input in the POST Identity/Answers endpoint.
questions object Collection of 4 objects, each representing a multiple choice question (question) to present to the user.
question array One question entry. Contains prompt, answer and type.
answer array An array of string each representing a possible answer to the multiple choice question.
type string String identifier of the question to use as input in the POST Identity/Answers endpoint.
prompt string The question label to show in the user interface or to ask to the user.
qualifiers object Wrapper object containing qualifying messages (qualifier arrays). This provides information on the record lookup based on verifying the data provided before, such as the address, TIN, name, etc.
qualifier array One qualifier message. Contains key and message.
message string Display message for the qualifier.
key string Message identifier for the qualifier.
summary-result object Wrapper object containing result of the record lookup. This provides information on the success or failure to locate the record to verify. Contains key and message.
message string Display message for summary-results: "PASS" or "FAIL".
key string Message identifier for summary-results.
results object Wrapper object containing result of the record lookup. This provides information on the success or failure to locate the record to verify. Contains key and message.
message string Display message for results.
key string Message identifier for results.

Response in case of error:

Parameter Data Type Description
message string Response message from the service. In case a record is found it is "Success." In case of error it provides details about the problem together with code and additional message.
code integer In case of error it is the error code.
additional message string In case of error it provides additional information on the problem.

POST Merchantapplication/SingleOutlet-WithCreditDecision

data = {
  "shippingAddress": {
    "city": "Schenectady",
    "productsToShip": [
      {
        "term": "P",
        "productId": "87862"
      }
    ],
    "firstName": "John",
    "country": "US",
    "address2": "",
    "email": "john.smith@emailaddress.com",
    "phone": "1234567890",
    "state": "NY",
    "lastName": "Smith",
    "postalCode": "12345",
    "address1": "123 Main Street",
    "company": "Jonhs Cafe"
  },
  "merchantInformation": {
    "siteSurvey": {
      "deliveryTimeFrame_8_To_14": "0",
      "deliveryTimeFrame_0_To_7": "100",
      "deliveryTimeFrame_Over_30": "0",
      "deliveryTimeFrame_15_To_30": "0"
    },
    "stateOfIncorporation": "NY",
    "foreignEntityOption": "N",
    "taxId": "666321471",
    "contactInformation": [
      {
        "city": "Schenectady",
        "country": "US",
        "address2": "",
        "contactType": "CORPORATE",
        "phone": "1234567890",
        "state": "NY",
        "address1": "123 Main Street",
        "postalCode": "12345",
        "email": "john.smith@emailaddress.com"
      }
    ],
    "bankInformation": [
      {
        "ordinal": 2,
        "accountNumber": "788723721",
        "abaNumber": "122100024",
        "bankCity": "COLUMBUS",
        "bankState": "OH",
        "instName": "JPMORGAN CHASE BANK, NA",
        "bankZip": "43240"
      }
    ],
    "taxFilingName": "MMISTEST0318201902",
    "transactionInfo": {
      "averageTicket": 10,
      "category": "Restaurant",
      "creditCardVolume": 100000,
      "annualVolume": 100000,
      "amexSENumber": "",
      "mcc": "5812",
      "methodofPayment": {
        "faceToFace": "100",
        "phoneOrEmail": "0",
        "internet": "0"
      },
      "mccDescription": "Restaurants, Eating Places",
      "highestTicket": 11
    },
    "legalName": "MMISTEST0318201902",
    "dbaName": "MMISTEST0318201902",
    "businessStartedOn": "2009-01-01",
    "organizationType": "SOLE_PROPRIETORSHIP",
    "tinType": "SSN"
  },
  "ownerInformation": [
    {
      "percentOwned": 100,
      "firstName": "John",
      "title": "Owner",
      "lastName": "Smith",
      "contactInformation": {
        "city": "Schenectady",
        "country": "US",
        "address2": "",
        "contactType": "OWNER",
        "phone": "1234567890",
        "state": "NY",
        "address1": "123 Main Street",
        "postalCode": "12345",
        "email": "john.smith@emailaddress.com"
      },
      "dateofBirth": "1975-02-28",
      "ssn": "666321471"
    }
  ],
"compaign":
  {
   "orignatingoffer":"468209433250",
   "keyWords":"",
   "leadType":"Digital",
   "offerCode":"khL4pD",
   "source":"google",
   "medium":"ppc",
   "placement":"105411458562",
   "compaignName":"Clover_PPC_450offer"
  },
  "pricingDetails": [
    {
      "feeDefault": 0,
      "purchaseType": "P",
      "defaultAmt": 1149,
      "quantity": 1,
      "rateDefault": 0,
      "productId": "87862"
    },
    {
      "feeDefault": 0,
      "productId": "54562",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "59462",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "71762",
      "defaultAmt": 19.95,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0.1,
      "productId": "80382",
      "defaultAmt": 0,
      "rateDefault": 2.7,
      "quantity": 1
    },
    {
      "feeDefault": 0.1,
      "productId": "80402",
      "defaultAmt": 0,
      "rateDefault": 3.5,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "49872",
      "defaultAmt": 25,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "45608",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "46164",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "46657",
      "defaultAmt": 25,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "15501",
      "defaultAmt": 25,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "57462",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "55242",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "50732",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    }
  ],
  "cartDetails": [
    {
      "category": "RETAIL",
      "term": "P",
      "price": 1149,
      "qty": 1,
      "productType": "Terminal",
      "productId": "87862"
    },
    {
      "category": "RETAIL",
      "term": "P",
      "price": 0,
      "qty": 1,
      "productType": "ACQUIRING",
      "productId": "10041"
    }
  ],
  "idology": {
    "iq-summary-result": "pass",
    "summary-result": {
      "message": "PASS",
      "key": "id.success"
    },
    "results": {
      "message": "ID Located",
      "key": "result.match"
    },
    "idNumber": 2123412345,
    "answers-received": 3,
    "idliveq-result": {
      "message": "One Incorrect Answer",
      "key": "result.questions.1.incorrect"
    }
  },
  "advancedPreferences": {
    "form1099Electronically": true,
    "statementType": "Detail",
    "statementDeliveryType": "Online",
    "form1099ToEmail": true
  },
  "threatMetrixGuid": "60fbfc01-3db9-2112-a954-93c889a752a4"
}

endpoint = "/marketplace/v1/merchantapplication/singleoutletwithcreditdecision/"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

ENDPOINT="$URL/marketplace/v1/merchantapplication/singleoutletwithcreditdecision/"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "shippingAddress": {
    "city": "Schenectady",
    "productsToShip": [
      {
        "term": "P",
        "productId": "87862"
      }
    ],
    "firstName": "John",
    "country": "US",
    "address2": "",
    "email": "john.smith@emailaddress.com",
    "phone": "1234567890",
    "state": "NY",
    "lastName": "Smith",
    "postalCode": "12345",
    "address1": "123 Main Street",
    "company": "Jonhs Cafe"
  },
  "merchantInformation": {
    "siteSurvey": {
      "deliveryTimeFrame_8_To_14": "0",
      "deliveryTimeFrame_0_To_7": "100",
      "deliveryTimeFrame_Over_30": "0",
      "deliveryTimeFrame_15_To_30": "0"
    },
    "stateOfIncorporation": "NY",
    "foreignEntityOption": "N",
    "taxId": "666321471",
    "contactInformation": [
      {
        "city": "Schenectady",
        "country": "US",
        "address2": "",
        "contactType": "CORPORATE",
        "phone": "1234567890",
        "state": "NY",
        "address1": "123 Main Street",
        "postalCode": "12345",
        "email": "john.smith@emailaddress.com"
      }
    ],
    "bankInformation": [
      {
        "ordinal": 2,
        "accountNumber": "788723721",
        "abaNumber": "122100024",
        "bankCity": "COLUMBUS",
        "bankState": "OH",
        "instName": "JPMORGAN CHASE BANK, NA",
        "bankZip": "43240"
      }
    ],
    "taxFilingName": "MMISTEST0318201902",
    "transactionInfo": {
      "averageTicket": 10,
      "category": "Restaurant",
      "creditCardVolume": 100000,
      "annualVolume": 100000,
      "amexSENumber": "",
      "mcc": "5812",
      "methodofPayment": {
        "faceToFace": "100",
        "phoneOrEmail": "0",
        "internet": "0"
      },
      "mccDescription": "Restaurants, Eating Places",
      "highestTicket": 11
    },
    "legalName": "MMISTEST0318201902",
    "dbaName": "MMISTEST0318201902",
    "businessStartedOn": "2009-01-01",
    "organizationType": "SOLE_PROPRIETORSHIP",
    "tinType": "SSN"
  },
  "ownerInformation": [
    {
      "percentOwned": 100,
      "firstName": "John",
      "title": "Owner",
      "lastName": "Smith",
      "contactInformation": {
        "city": "Schenectady",
        "country": "US",
        "address2": "",
        "contactType": "OWNER",
        "phone": "1234567890",
        "state": "NY",
        "address1": "123 Main Street",
        "postalCode": "12345",
        "email": "john.smith@emailaddress.com"
      },
      "dateofBirth": "1975-02-28",
      "ssn": "666321471"
    }
  ],
 "compaign":
  {
   "orignatingoffer":"468209433250",
   "keyWords":"",
   "leadType":"Digital",
   "offerCode":"khL4pD",
   "source":"google",
   "medium":"ppc",
   "placement":"105411458562",
   "compaignName":"Clover_PPC_450offer"
  },
  "pricingDetails": [
    {
      "feeDefault": 0,
      "purchaseType": "P",
      "defaultAmt": 1149,
      "quantity": 1,
      "rateDefault": 0,
      "productId": "87862"
    },
    {
      "feeDefault": 0,
      "productId": "54562",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "59462",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "71762",
      "defaultAmt": 19.95,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0.1,
      "productId": "80382",
      "defaultAmt": 0,
      "rateDefault": 2.7,
      "quantity": 1
    },
    {
      "feeDefault": 0.1,
      "productId": "80402",
      "defaultAmt": 0,
      "rateDefault": 3.5,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "49872",
      "defaultAmt": 25,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "45608",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "46164",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "46657",
      "defaultAmt": 25,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "15501",
      "defaultAmt": 25,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "57462",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "55242",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "50732",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    }
  ],
  "cartDetails": [
    {
      "category": "RETAIL",
      "term": "P",
      "price": 1149,
      "qty": 1,
      "productType": "Terminal",
      "productId": "87862"
    },
    {
      "category": "RETAIL",
      "term": "P",
      "price": 0,
      "qty": 1,
      "productType": "ACQUIRING",
      "productId": "10041"
    }
  ],
  "idology": {
    "iq-summary-result": "pass",
    "summary-result": {
      "message": "PASS",
      "key": "id.success"
    },
    "results": {
      "message": "ID Located",
      "key": "result.match"
    },
    "idNumber": 2123412345,
    "answers-received": 3,
    "idliveq-result": {
      "message": "One Incorrect Answer",
      "key": "result.questions.1.incorrect"
    }
  },
  "advancedPreferences": {
    "form1099Electronically": true,
    "statementType": "Detail",
    "statementDeliveryType": "Online",
    "form1099ToEmail": true
  },
  "threatMetrixGuid": "60fbfc01-3db9-2112-a954-93c889a752a4"
}' $ENDPOINT
var options = {
  method: 'POST',
  url: url + '/marketplace/v1/merchantapplication/singleoutletwithcreditdecision/',
  headers: getAuthenticationHeaders(),
  body: {
  "shippingAddress": {
    "city": "Schenectady",
    "productsToShip": [
      {
        "term": "P",
        "productId": "87862"
      }
    ],
    "firstName": "John",
    "country": "US",
    "address2": "",
    "email": "john.smith@emailaddress.com",
    "phone": "1234567890",
    "state": "NY",
    "lastName": "Smith",
    "postalCode": "12345",
    "address1": "123 Main Street",
    "company": "Jonhs Cafe"
  },
  "merchantInformation": {
    "siteSurvey": {
      "deliveryTimeFrame_8_To_14": "0",
      "deliveryTimeFrame_0_To_7": "100",
      "deliveryTimeFrame_Over_30": "0",
      "deliveryTimeFrame_15_To_30": "0"
    },
    "stateOfIncorporation": "NY",
    "foreignEntityOption": "N",
    "taxId": "666321471",
    "contactInformation": [
      {
        "city": "Schenectady",
        "country": "US",
        "address2": "",
        "contactType": "CORPORATE",
        "phone": "1234567890",
        "state": "NY",
        "address1": "123 Main Street",
        "postalCode": "12345",
        "email": "john.smith@emailaddress.com"
      }
    ],
    "bankInformation": [
      {
        "ordinal": 2,
        "accountNumber": "788723721",
        "abaNumber": "122100024",
        "bankCity": "COLUMBUS",
        "bankState": "OH",
        "instName": "JPMORGAN CHASE BANK, NA",
        "bankZip": "43240"
      }
    ],
    "taxFilingName": "MMISTEST0318201902",
    "transactionInfo": {
      "averageTicket": 10,
      "category": "Restaurant",
      "creditCardVolume": 100000,
      "annualVolume": 100000,
      "amexSENumber": "",
      "mcc": "5812",
      "methodofPayment": {
        "faceToFace": "100",
        "phoneOrEmail": "0",
        "internet": "0"
      },
      "mccDescription": "Restaurants, Eating Places",
      "highestTicket": 11
    },
    "legalName": "MMISTEST0318201902",
    "dbaName": "MMISTEST0318201902",
    "businessStartedOn": "2009-01-01",
    "organizationType": "SOLE_PROPRIETORSHIP",
    "tinType": "SSN"
  },
  "ownerInformation": [
    {
      "percentOwned": 100,
      "firstName": "John",
      "title": "Owner",
      "lastName": "Smith",
      "contactInformation": {
        "city": "Schenectady",
        "country": "US",
        "address2": "",
        "contactType": "OWNER",
        "phone": "1234567890",
        "state": "NY",
        "address1": "123 Main Street",
        "postalCode": "12345",
        "email": "john.smith@emailaddress.com"
      },
      "dateofBirth": "1975-02-28",
      "ssn": "666321471"
    }
  ],
 "compaign":
    {
    "orignatingoffer":"468209433250",
    "keyWords":"",
    "leadType":"Digital",
    "offerCode":"khL4pD",
    "source":"google",
    "medium":"ppc",
    "placement":"105411458562",
    "compaignName":"Clover_PPC_450offer"
    },
  "pricingDetails": [
    {
      "feeDefault": 0,
      "purchaseType": "P",
      "defaultAmt": 1149,
      "quantity": 1,
      "rateDefault": 0,
      "productId": "87862"
    },
    {
      "feeDefault": 0,
      "productId": "54562",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "59462",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "71762",
      "defaultAmt": 19.95,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0.1,
      "productId": "80382",
      "defaultAmt": 0,
      "rateDefault": 2.7,
      "quantity": 1
    },
    {
      "feeDefault": 0.1,
      "productId": "80402",
      "defaultAmt": 0,
      "rateDefault": 3.5,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "49872",
      "defaultAmt": 25,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "45608",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "46164",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "46657",
      "defaultAmt": 25,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "15501",
      "defaultAmt": 25,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "57462",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "55242",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "feeDefault": 0,
      "productId": "50732",
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    }
  ],
  "cartDetails": [
    {
      "category": "RETAIL",
      "term": "P",
      "price": 1149,
      "qty": 1,
      "productType": "Terminal",
      "productId": "87862"
    },
    {
      "category": "RETAIL",
      "term": "P",
      "price": 0,
      "qty": 1,
      "productType": "ACQUIRING",
      "productId": "10041"
    }
  ],
  "idology": {
    "iq-summary-result": "pass",
    "summary-result": {
      "message": "PASS",
      "key": "id.success"
    },
    "results": {
      "message": "ID Located",
      "key": "result.match"
    },
    "idNumber": 2123412345,
    "answers-received": 3,
    "idliveq-result": {
      "message": "One Incorrect Answer",
      "key": "result.questions.1.incorrect"
    }
  },
  "advancedPreferences": {
    "form1099Electronically": true,
    "statementType": "Detail",
    "statementDeliveryType": "Online",
    "form1099ToEmail": true
  },
  "threatMetrixGuid": "60fbfc01-3db9-2112-a954-93c889a752a4"
},
json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);
});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
var json = "{\n" +
"\"shippingAddress\": {\n" +
"\"city\": \"Schenectady\",\n" +
"\"productsToShip\": [\n" +
"  {\n" +
"    \"term\": \"P\",\n" +
"    \"productId\": \"87862\"\n" +
"  }\n" +
"],\n" +
"\"firstName\": \"John\",\n" +
"\"country\": \"US\",\n" +
"\"address2\": \"\",\n" +
"\"email\": \"john.smith@emailaddress.com\",\n" +
"\"phone\": \"1234567890\",\n" +
"\"state\": \"NY\",\n" +
"\"lastName\": \"Smith\",\n" +
"\"postalCode\": \"12345\",\n" +
"\"address1\": \"123 Main Street\",\n" +
"\"company\": \"Jonhs Cafe\"\r\n  },\r\n  \"merchantInformation\": {\n" +
"\"siteSurvey\": {\n" +
"  \"deliveryTimeFrame_8_To_14\": \"0\",\n" +
"  \"deliveryTimeFrame_0_To_7\": \"100\",\n" +
"  \"deliveryTimeFrame_Over_30\": \"0\",\n" +
"  \"deliveryTimeFrame_15_To_30\": \"0\"\n" +
"},\n" +
"\"stateOfIncorporation\": \"NY\",\n" +
"\"foreignEntityOption\": \"N\",\n" +
"\"taxId\": \"666321471\",\n" +
"\"contactInformation\": [\n" +
"  {\n" +
"    \"city\": \"Schenectady\",\n" +
"    \"country\": \"US\",\n" +
"    \"address2\": \"\",\n" +
"    \"contactType\": \"CORPORATE\",\n" +
"    \"phone\": \"1234567890\",\n" +
"    \"state\": \"NY\",\n" +
"    \"address1\": \"123 Main Street\",\n" +
"    \"postalCode\": \"12345\",\n" +
"    \"email\": \"john.smith@emailaddress.com\"\n" +
"  }\n" +
"],\n" +
"\"bankInformation\": [\n" +
"  {\n" +
"    \"ordinal\": 2,\n" +
"    \"accountNumber\": \"788723721\",\n" +
"    \"abaNumber\": \"122100024\",\n" +
"    \"bankCity\": \"COLUMBUS\",\n" +
"    \"bankState\": \"OH\",\n" +
"    \"instName\": \"JPMORGAN CHASE BANK, NA\",\n" +
"    \"bankZip\": \"43240\"\n" +
"  }\n" +
"],\n" +
"\"taxFilingName\": \"MMISTEST0318201902\",\n" +
"\"transactionInfo\": {\n" +
"  \"averageTicket\": 10,\n" +
"  \"category\": \"Restaurant\",\n" +
"  \"creditCardVolume\": 100000,\n" +
"  \"annualVolume\": 100000,\n" +
"  \"amexSENumber\": \"\",\n" +
"  \"mcc\": \"5812\",\n" +
"  \"methodofPayment\": {\n" +
"    \"faceToFace\": \"100\",\n" +
"    \"phoneOrEmail\": \"0\",\n" +
"    \"internet\": \"0\"\n" +
"  },\n" +
"  \"mccDescription\": \"Restaurants, Eating Places\",\n" +
"  \"highestTicket\": 11\n" +
"},\n" +
"\"legalName\": \"MMISTEST0318201902\",\n" +
"\"dbaName\": \"MMISTEST0318201902\",\n" +
"\"businessStartedOn\": \"2009-01-01\",\n" +
"\"organizationType\": \"SOLE_PROPRIETORSHIP\",\n" +
"\"tinType\": \"SSN\",\n" +
"\"ownerInformation\": [\n" +
"{\n" +
"  \"percentOwned\": 100,\n" +
"  \"firstName\": \"John\",\n" +
"  \"title\": \"Owner\",\n" +
"  \"lastName\": \"Smith\",\n" +
"  \"contactInformation\": {\n" +
"    \"city\": \"Schenectady\",\n" +
"    \"country\": \"US\",\n" +
"    \"address2\": \"\",\n" +
"    \"contactType\": \"OWNER\",\n" +
"    \"phone\": \"1234567890\",\n" +
"    \"state\": \"NY\",\n" +
"    \"address1\": \"123 Main Street\",\n" +
"    \"postalCode\": \"12345\",\n" +
"    \"email\": \"john.smith@emailaddress.com\"\n" +
"  },\n" +
"  \"dateofBirth\": \"1975-02-28\",\n" +
"  \"ssn\": \"666321471\"\n" +
"}\r\n  ],\r\n  \"pricingDetails\": [\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"purchaseType\": \"P\",\n" +
"  \"defaultAmt\": 1149,\n" +
"  \"quantity\": 1,\n" +
"  \"rateDefault\": 0,\n" +
"  \"productId\": \"87862\"\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"productId\": \"54562\",\n" +
"  \"defaultAmt\": 0,\n" +
"  \"rateDefault\": 0,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"productId\": \"59462\",\n" +
"  \"defaultAmt\": 0,\n" +
"  \"rateDefault\": 0,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"productId\": \"71762\",\n" +
"  \"defaultAmt\": 19.95,\n" +
"  \"rateDefault\": 0,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0.1,\n" +
"  \"productId\": \"80382\",\n" +
"  \"defaultAmt\": 0,\n" +
"  \"rateDefault\": 2.7,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0.1,\n" +
"  \"productId\": \"80402\",\n" +
"  \"defaultAmt\": 0,\n" +
"  \"rateDefault\": 3.5,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"productId\": \"49872\",\n" +
"  \"defaultAmt\": 25,\n" +
"  \"rateDefault\": 0,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"productId\": \"45608\",\n" +
"  \"defaultAmt\": 0,\n" +
"  \"rateDefault\": 0,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"productId\": \"46164\",\n" +
"  \"defaultAmt\": 0,\n" +
"  \"rateDefault\": 0,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"productId\": \"46657\",\n" +
"  \"defaultAmt\": 25,\n" +
"  \"rateDefault\": 0,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"productId\": \"15501\",\n" +
"  \"defaultAmt\": 25,\n" +
"  \"rateDefault\": 0,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"productId\": \"57462\",\n" +
"  \"defaultAmt\": 0,\n" +
"  \"rateDefault\": 0,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"productId\": \"55242\",\n" +
"  \"defaultAmt\": 0,\n" +
"  \"rateDefault\": 0,\n" +
"  \"quantity\": 1\n" +
"},\n" +
"{\n" +
"  \"feeDefault\": 0,\n" +
"  \"productId\": \"50732\",\n" +
"  \"defaultAmt\": 0,\n" +
"  \"rateDefault\": 0,\n" +
"  \"quantity\": 1\n" +
"}\r\n  ],\r\n  \"cartDetails\": [\n" +
"{\n" +
"  \"category\": \"RETAIL\",\n" +
"  \"term\": \"P\",\n" +
"  \"price\": 1149,\n" +
"  \"qty\": 1,\n" +
"  \"productType\": \"Terminal\",\n" +
"  \"productId\": \"87862\"\n" +
"},\n" +
"{\n" +
"  \"category\": \"RETAIL\",\n" +
"  \"term\": \"P\",\n" +
"  \"price\": 0,\n" +
"  \"qty\": 1,\n" +
"  \"productType\": \"ACQUIRING\",\n" +
"  \"productId\": \"10041\"\n" +
"}\r\n  ],\r\n  \"idology\": {\n" +
"\"iq-summary-result\": \"pass\",\n" +
"\"summary-result\": {\n" +
"  \"message\": \"PASS\",\n" +
"  \"key\": \"id.success\"\n" +
"},\n" +
"\"results\": {\n" +
"  \"message\": \"ID Located\",\n" +
"  \"key\": \"result.match\"\n" +
"},\n" +
"\"idNumber\": 2123412345,\n" +
"\"answers-received\": 3,\n" +
"\"idliveq-result\": {\n" +
"  \"message\": \"One Incorrect Answer\",\n" +
"  \"key\": \"result.questions.1.incorrect\"\n" +
"}\r\n  },\r\n  \"advancedPreferences\": {\n" +
"\"form1099Electronically\": true,\n" +
"\"statementType\": \"Detail\",\n" +
"\"statementDeliveryType\": \"Online\",\n" +
"\"form1099ToEmail\": true\n" +
"},\n" +
"\"threatMetrixGuid\": \"60fbfc01-3db9-2112-a954-93c889a752a4\"\n" +
"{\"campaign\":{\"orignatingoffer\":\"468209433250\",\"keyWords\":\"\",\"leadType\":\"Digital\",\"offerCode\":\"khL4pD\",\"source\":\"google\",\"medium\":\"ppc\",\"placement\":\"105411458562\",\"compaignName\":\"Clover_PPC_450offer\"}}"+
"}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/merchantapplication/singleoutletwithcreditdecision/", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}

<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'shippingAddress' => 
  array (
    'city' => 'Schenectady',
    'productsToShip' => 
    array (
      0 => 
      array (
        'term' => 'P',
        'productId' => '87862',
      ),
    ),
    'firstName' => 'John',
    'country' => 'US',
    'address2' => '',
    'email' => 'john.smith@emailaddress.com',
    'phone' => '1234567890',
    'state' => 'NY',
    'lastName' => 'Smith',
    'postalCode' => '12345',
    'address1' => '123 Main Street',
    'company' => 'Jonhs Cafe',
  ),
  'merchantInformation' => 
  array (
    'siteSurvey' => 
    array (
      'deliveryTimeFrame_8_To_14' => '0',
      'deliveryTimeFrame_0_To_7' => '100',
      'deliveryTimeFrame_Over_30' => '0',
      'deliveryTimeFrame_15_To_30' => '0',
    ),
    'stateOfIncorporation' => 'NY',
    'foreignEntityOption' => 'N',
    'taxId' => '666321471',
    'contactInformation' => 
    array (
      0 => 
      array (
        'city' => 'Schenectady',
        'country' => 'US',
        'address2' => '',
        'contactType' => 'CORPORATE',
        'phone' => '1234567890',
        'state' => 'NY',
        'address1' => '123 Main Street',
        'postalCode' => '12345',
        'email' => 'john.smith@emailaddress.com',
      ),
    ),
    'bankInformation' => 
    array (
      0 => 
      array (
        'ordinal' => 2,
        'accountNumber' => '788723721',
        'abaNumber' => '122100024',
        'bankCity' => 'COLUMBUS',
        'bankState' => 'OH',
        'instName' => 'JPMORGAN CHASE BANK, NA',
        'bankZip' => '43240',
      ),
    ),
    'taxFilingName' => 'MMISTEST0318201902',
    'transactionInfo' => 
    array (
      'averageTicket' => 10,
      'category' => 'Restaurant',
      'creditCardVolume' => 100000,
      'annualVolume' => 100000,
      'amexSENumber' => '',
      'mcc' => '5812',
      'methodofPayment' => 
      array (
        'faceToFace' => '100',
        'phoneOrEmail' => '0',
        'internet' => '0',
      ),
      'mccDescription' => 'Restaurants, Eating Places',
      'highestTicket' => 11,
    ),
    'legalName' => 'MMISTEST0318201902',
    'dbaName' => 'MMISTEST0318201902',
    'businessStartedOn' => '2009-01-01',
    'organizationType' => 'SOLE_PROPRIETORSHIP',
    'tinType' => 'SSN',
  ),
  'ownerInformation' => 
  array (
    0 => 
    array (
      'percentOwned' => 100,
      'firstName' => 'John',
      'title' => 'Owner',
      'lastName' => 'Smith',
      'contactInformation' => 
      array (
        'city' => 'Schenectady',
        'country' => 'US',
        'address2' => '',
        'contactType' => 'OWNER',
        'phone' => '1234567890',
        'state' => 'NY',
        'address1' => '123 Main Street',
        'postalCode' => '12345',
        'email' => 'john.smith@emailaddress.com',
      ),
      'dateofBirth' => '1975-02-28',
      'ssn' => '666321471',
    ),
  ),
  'campaign' =>
    array (
  'orignatingoffer' => '468209433250',
  'keyWords' => '',
  'leadType' => 'Digital',
  'offerCode' => 'khL4pD',
  'source' => 'google',
  'medium' => 'ppc',
  'placement' => '105411458562',
  'compaignName' => 'Clover_PPC_450offer',
    ),
  'pricingDetails' => 
  array (
    0 => 
    array (
      'feeDefault' => 0,
      'purchaseType' => 'P',
      'defaultAmt' => 1149,
      'quantity' => 1,
      'rateDefault' => 0,
      'productId' => '87862',
    ),
    1 => 
    array (
      'feeDefault' => 0,
      'productId' => '54562',
      'defaultAmt' => 0,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
    2 => 
    array (
      'feeDefault' => 0,
      'productId' => '59462',
      'defaultAmt' => 0,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
    3 => 
    array (
      'feeDefault' => 0,
      'productId' => '71762',
      'defaultAmt' => 19.949999999999999,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
    4 => 
    array (
      'feeDefault' => 0.10000000000000001,
      'productId' => '80382',
      'defaultAmt' => 0,
      'rateDefault' => 2.7000000000000002,
      'quantity' => 1,
    ),
    5 => 
    array (
      'feeDefault' => 0.10000000000000001,
      'productId' => '80402',
      'defaultAmt' => 0,
      'rateDefault' => 3.5,
      'quantity' => 1,
    ),
    6 => 
    array (
      'feeDefault' => 0,
      'productId' => '49872',
      'defaultAmt' => 25,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
    7 => 
    array (
      'feeDefault' => 0,
      'productId' => '45608',
      'defaultAmt' => 0,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
    8 => 
    array (
      'feeDefault' => 0,
      'productId' => '46164',
      'defaultAmt' => 0,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
    9 => 
    array (
      'feeDefault' => 0,
      'productId' => '46657',
      'defaultAmt' => 25,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
    10 => 
    array (
      'feeDefault' => 0,
      'productId' => '15501',
      'defaultAmt' => 25,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
    11 => 
    array (
      'feeDefault' => 0,
      'productId' => '57462',
      'defaultAmt' => 0,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
    12 => 
    array (
      'feeDefault' => 0,
      'productId' => '55242',
      'defaultAmt' => 0,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
    13 => 
    array (
      'feeDefault' => 0,
      'productId' => '50732',
      'defaultAmt' => 0,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
  ),
  'cartDetails' => 
  array (
    0 => 
    array (
      'category' => 'RETAIL',
      'term' => 'P',
      'price' => 1149,
      'qty' => 1,
      'productType' => 'Terminal',
      'productId' => '87862',
    ),
    1 => 
    array (
      'category' => 'RETAIL',
      'term' => 'P',
      'price' => 0,
      'qty' => 1,
      'productType' => 'ACQUIRING',
      'productId' => '10041',
    ),
  ),
  'idology' => 
  array (
    'iq-summary-result' => 'pass',
    'summary-result' => 
    array (
      'message' => 'PASS',
      'key' => 'id.success',
    ),
    'results' => 
    array (
      'message' => 'ID Located',
      'key' => 'result.match',
    ),
    'idNumber' => 2123412345,
    'answers-received' => 3,
    'idliveq-result' => 
    array (
      'message' => 'One Incorrect Answer',
      'key' => 'result.questions.1.incorrect',
    ),
  ),
  'advancedPreferences' => 
  array (
    'form1099Electronically' => true,
    'statementType' => 'Detail',
    'statementDeliveryType' => 'Online',
    'form1099ToEmail' => true,
  ),
  'threatMetrixGuid' => '60fbfc01-3db9-2112-a954-93c889a752a4',
)

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/merchantapplication/singleoutletwithcreditdecision/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{
    "orderId": "1GKbO"
}

The API allows the developer to submit merchant application & credit decision. This is an enhanced API to combine 2 APIs credit decision and single outlet.

For best results, Threatmatrix and Identity verification should be performed.

Request

POST /marketplace/v1/merchantapplication/singleoutletwithcreditdecision/

The endpoint takes a JSON object as input, which contains following information.

Parameter Required Data Type Short Description
merchantInformation object Object containing the information about the business.
dbaName string DBA name.
legalName string Legal business name.
taxId string A Taxpayer Identification Number (TIN) is an identification number used by the Internal Revenue Service (IRS). Can be validated against taxFilingName using the POST TIN/Validate service.
businessStartedOn string Business started date in “YYYY-MM-DD” format.
organizationType string Organization type represented by an abbreviated code. See possible values here.
stateOfIncorporation string State of incorporation in abbreviated format. i.e. for California send "CA".
taxFilingName string IRS tax filing name for the business. Can be validated against taxId using the POST TIN/Validate service.
foreignEntityOption string Indicates if the business can claim foreign status according to IRS regulations. Possible values: "N" (None) or "A" (A foreign person/A business that can claim foreign entity status).
tinType integer Type of Taxpayer Identification Number (TIN). Possible values: "EIN" or "SSN".
contactInformation array Array of (minimum one) object(s), each of which represents a business location. contactType, address1, address2, address3, city, state, postalCode, country, phone, and email.
contactType string Type of location. Possible values: "LOCATION", "CORPORATE", "OWNER".
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
address3 string Third line of street address.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.
phone string Phone number.
transactionInfo object Transactions information used to determine pricing.
mccDescription string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
annualVolume double Annual transaction volume in USD.
creditCardVolume double Annual bank card transaction volume in USD.
highestTicket double Highest ticket price in USD.
averageTicket double Average ticket price in USD.
category string Category eg: "RETAIL/MOTO" (refer to: GET Categories).
amexSENumber long In case Amex Volume greater than or equal to US$ 1 million, provide the Service Establishment Number.
methodofPayment object Object containing information about how the business operates and accepts transactions. Sum of values of the three contained fields must equal 100.
faceToFace integer Percentage of payments/transactions made face to face (can’t exceed 100%).
phoneOrEmail integer Percentage of payments/transactions made by phone or email (can’t exceed 100%).
internet integer Percentage of payments/transactions made on the internet (can’t exceed 100%).
siteSurvey object A visit in an official capacity to examine a site to determine its suitability for some enterprise.
siteVisitation string "Y" or "N". Indicates whether site visitation was performed or not.
deliveryTimeFrame_0_To_7 string Percentage of services delivered between 0-7 days after transaction.
deliveryTimeFrame_8_To_14 string Percentage of services delivered between 8-14 days after transaction.
deliveryTimeFrame_15_To_30 string Percentage of services delivered between 15-30 days after transaction.
deliveryTimeFrame_Over_30 string Percentage of services delivered more than 30 days after transaction.
bankInformation array Array of (minimum one) object(s) that collects the ACH information.
instName string Financial institution name such as "JPMORGAN CHASE BANK", etc.
abaNumber string ABA routing transit number. A nine digit code to identify a financial institution. Needs to be validated using the POST Banks/Validate service.
accountNumber string Checking account number. Usually 10-12 digit number to identify the merchant’s account.
ordinal integer Default to 2.
bankState string Financial institution location state.
bankCity string Financial institution location city.
bankZip integer Financial institution ZIP code.
campaign Object Object of Campaign details.
campaignName string campaign name(Max 150 char)
source string source(Max 50 char)
medium string medium(Max 60 char)
originatingOffer string originating Offer(Max 150 char)
placement string placement(Max 60 char)
leadType string leadType.
keywords string keywords(Max 50 char)“
offerCode string offer code(MAx 225 char)”
ownerInformation array Array of (minimum one) objects, each containing the information of the owner(s) of the business.
firstName string Owner’s first name.
lastName string Owner’s last name.
ssn string Owner’s Social Security Number.
dateofBirth string Owner’s date of birth in “YYYY-MM-DD” format.
title string Title of the listed contact within the organization. See Merchant organizationType and title combinations for detail.
percentOwned integer Percentage of the company owned by this owner. All owners must equal 100%.
contactInformation array Array of (minimum one) object(s), each of which represents the contact information of the owner. Each can contain contactType, address1, address2, address3, city, state, postalCode, country, phone, and email.
contactType string Type of location. Possible values: "OWNER", "PRINCIPAL", "LANDLORD", "BENEFICIARY".
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
address3 string Third line of street address.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.
phone string Phone number.
email string Email address.
cartDetails array Array of objects, each containing the details of unique products (by productId) in the Order.
category string Category eg: "RETAIL/MOTO" (refer to: GET Categories).
productId string productId as string. Numeric value that uniquely identifies each product (canonical identifier).
productType string Indicates the behavior of the product, or when the merchant is charged a fee in case of “Processing/Pricing” products. See list of possible values here.
price double Unit price for a product.
term string purchaseType eg: Purchase, Rent, Lease etc. See list of possible values here.
qty integer Quantity selected.
pricingDetails array Array of object each containing the detailed pricing information of a product (hardware, software, acquiring, fees, etc.) in the order.
productId integer Numeric value that uniquely identifies a product (canonical identifier).
quantity integer Quantity of the Pricing Product to be added to the Order. (Generally 1.)
defaultAmt integer Price/amount to be collected (usually as a one-time payment) in USD.
feeDefault double Fee charged per occurrence in USD.
rateDefault double Percentage of transaction amount charged per occurrence.
rateDefault string Purchase type.
shippingAddress object Object containing shipping information.
company string Company name.
firstName string First name.
lastName string Last name.
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.
phone string Phone number.
email string Email address.
productstoShip array Array of objects, each representing a product which will be shipped to the merchant. Each object contains productId and term.
productId long Numeric value that uniquely identifies a product (canonical identifier).
term string purchaseType eg: Purchase, Rent, Lease etc. See list of possible values here.
advancedPreferences object
statementDeliveryType string Way in which the merchant wants to receive statements. *Possible value(s): "EMAIL", "ONLINE".
statementType string Type of statement. *Possible values: "DETAIL", "SUMMARY".
statementEmailAddress string Email address for statement delivery.
form1099Electronically boolean Does the merchant want to receive Form 1099 electronically?
form1099ToEmail boolean Does the merchant want to receive Form 1099 in email?
threatMetrixGuid string The GUID to be used to invoke the ThreatMetrix webservice call.
idology object Object containing the identity verification results. Contains idNumber, answers-received, idequiv-result, iq-summary-result, summary-result and results.
iq-summary-result string The result of identity verification.
idNumber integer Unique identification for the Identity Verification for this record.
answers-received integer Number of answers received. Note: You must send 3 answers in order to get a successful response.
idequiv-result object Wrapper object containing result of the overall submission. Contains key and message.
↳ message string Display message for idequiv-result.
↳ key string Message identifier for idequiv-result.
summary-result object Wrapper object containing result of the record lookup. This provides information on the success or failure to locate the record to verify. Contains key and message.
↳ message string Display message for summary message: "PASS" or "FAIL".
↳ key string Message identifier for summary-results.
results object Wrapper object containing result of the record lookup. This provides information on the success or failure to locate the record to verify. Contains key and message.
↳ message string Display message for results.
↳ key string Message identifier for results.

Response

The endpoint returns an object containing information about the credit decision.

Parameter Data Type Description
orderId string Order Id. The numeric identifier to be used in the merchant boarding process as input to reference the order.

POST Merchantapplication/Creditdecision

data = {
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "annualVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "ownerInformation": [
    {
      "lastName": "Smith",
      "firstName": "John",
      "dateOfBirth": 225936000000,
      "title": "Owner",
      "percentOwned": 100,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "17 S St",
        "city": "Omaha",
        "state": "NE",
        "zip": "68135",
        "country": "US",
        "phone": "8899999991",
        "email": "john.smith@email.com"
      }
    }
  ],
  "merchantInformation": [
    {
      "category": "RESTAURANT",
      "dbaName": "Sample Business Name",
      "legalName": "Sample Business Name",
      "yearsInBusiness": 1314835200000,
      "organizationType": "Sole Proprietorship",
      "stateOfIncorporation": "KS",
      "taxFilingName": "Sample Business Tax Filing Name",
      "foreignEntityOption": "N",
      "tinRequestedGuid": "",
      "tinType": 1,
      "contactInformation": [
        {
          "contactType": "SHIP_TO",
          "state": "NE",
          "postalCode": "68135",
          "address1": "18 S St",
          "email": "john.smith@email.com",
          "phone": "1231231234",
          "city": "Omaha"
        },
        {
          "contactType": "CORPORATE",
          "state": "NE",
          "postalCode": "68135",
          "address1": "18 S St",
          "email": "john.smith@email.com",
          "phone": "1231231234",
          "city": "Omaha",
          "country": "US"
        },
        {
          "contactType": "LOCATION",
          "state": "NE",
          "postalCode": "68135",
          "address1": "18 S St",
          "city": "Omaha",
          "country": "USA"
        }
      ],
      "emvEnabled": false,
      "debitEnabled": false,
      "amexEnabled": false,
      "discoverEnabled": false
    }
  ],
  "locationInformation": [
    {
      "merchantId": 31702,
      "dbaName": "Sample Business Name",
      "mccDescription": "Restaurant Beverage and Food",
      "mcc": "5812",
      "annualVolume": 425000,
      "averageTicket": 25,
      "highestTicket": 45,
      "category": "RESTAURANT",
      "faceToFace": "100",
      "phoneOrEmail": "0",
      "internet": "0",
      "address1": "18 S St",
      "city": "Omaha",
      "zip": "68135",
      "state": "NE",
      "bankInformation": [
        {
          "abaNumber": "",
          "accountNumber": "",
          "instName": "JPMORGAN CHASE BANK, NA",
          "chargebacks": 1,
          "chargebackReversals": 1,
          "discountServices": 1
        }
      ],
      "siteSurvey": {
        "createdDate": "2017-08-03T22:40:39Z",
        "siteVisitation": "Not Required",
        "returnPolicy": "Exchange Only",
        "separateRefundPolicy": "No",
        "deliveryTimeFrame_0_To_7": "100",
        "deliveryTimeFrame_8_To_14": "0",
        "deliveryTimeFrame_15_To_30": "0",
        "deliveryTimeFrame_Over_30": "0"
      },
      "rollupIndicator": "2",
      "isPrimaryLocation": true
    }
  ]  
}

endpoint = "/marketplace/v1/merchantapplication/creditdecision"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

ENDPOINT="$URL/marketplace/v1/merchantapplication/creditdecision"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "annualVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "ownerInformation": [
    {
      "lastName": "Smith",
      "firstName": "John",
      "dateOfBirth": 225936000000,
      "title": "Owner",
      "percentOwned": 100,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "17 S St",
        "city": "Omaha",
        "state": "NE",
        "zip": "68135",
        "country": "US",
        "phone": "8899999991",
        "email": "john.smith@email.com"
      }
    }
  ],
  "merchantInformation": [
    {
      "category": "RESTAURANT",
      "dbaName": "Sample Business Name",
      "legalName": "Sample Business Name",
      "yearsInBusiness": 1314835200000,
      "organizationType": "Sole Proprietorship",
      "stateOfIncorporation": "KS",
      "taxFilingName": "Sample Business Tax Filing Name",
      "foreignEntityOption": "N",
      "tinRequestedGuid": "",
      "tinType": 1,
      "contactInformation": [
        {
          "contactType": "SHIP_TO",
          "state": "NE",
          "postalCode": "68135",
          "address1": "18 S St",
          "email": "john.smith@email.com",
          "phone": "1231231234",
          "city": "Omaha"
        },
        {
          "contactType": "CORPORATE",
          "state": "NE",
          "postalCode": "68135",
          "address1": "18 S St",
          "email": "john.smith@email.com",
          "phone": "1231231234",
          "city": "Omaha",
          "country": "US"
        },
        {
          "contactType": "LOCATION",
          "state": "NE",
          "postalCode": "68135",
          "address1": "18 S St",
          "city": "Omaha",
          "country": "USA"
        }
      ],
      "emvEnabled": false,
      "debitEnabled": false,
      "amexEnabled": false,
      "discoverEnabled": false
    }
  ],
  "locationInformation": [
    {
      "merchantId": 31702,
      "dbaName": "Sample Business Name",
      "mccDescription": "Restaurant Beverage and Food",
      "mcc": "5812",
      "annualVolume": 425000,
      "averageTicket": 25,
      "highestTicket": 45,
      "category": "RESTAURANT",
      "faceToFace": "100",
      "phoneOrEmail": "0",
      "internet": "0",
      "address1": "18 S St",
      "city": "Omaha",
      "zip": "68135",
      "state": "NE",
      "bankInformation": [
        {
          "abaNumber": "",
          "accountNumber": "",
          "instName": "JPMORGAN CHASE BANK, NA",
          "chargebacks": 1,
          "chargebackReversals": 1,
          "discountServices": 1
        }
      ],
      "siteSurvey": {
        "createdDate": "2017-08-03T22:40:39Z",
        "siteVisitation": "Not Required",
        "returnPolicy": "Exchange Only",
        "separateRefundPolicy": "No",
        "deliveryTimeFrame_0_To_7": "100",
        "deliveryTimeFrame_8_To_14": "0",
        "deliveryTimeFrame_15_To_30": "0",
        "deliveryTimeFrame_Over_30": "0"
      },
      "rollupIndicator": "2",
      "isPrimaryLocation": true
    }
  ]  
}' $ENDPOINT
var options = {
  method: 'POST',
  url: url + '/marketplace/v1/merchantapplication/creditdecision',
  headers: getAuthenticationHeaders(),
  body: {
  "transactionInfo": {
    "mccTypes": "Clothing and Shoes",
    "mcc": "5611",
    "annualVolume": 100000,
    "averageTicket": 80,
    "highestTicket": 400,
    "category": "RETAIL"
  },
  "ownerInformation": [
    {
      "lastName": "Smith",
      "firstName": "John",
      "dateOfBirth": 225936000000,
      "title": "Owner",
      "percentOwned": 100,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "17 S St",
        "city": "Omaha",
        "state": "NE",
        "zip": "68135",
        "country": "US",
        "phone": "8899999991",
        "email": "john.smith@email.com"
      }
    }
  ],
  "merchantInformation": [
    {
      "category": "RESTAURANT",
      "dbaName": "Sample Business Name",
      "legalName": "Sample Business Name",
      "yearsInBusiness": 1314835200000,
      "organizationType": "Sole Proprietorship",
      "stateOfIncorporation": "KS",
      "taxFilingName": "Sample Business Tax Filing Name",
      "foreignEntityOption": "N",
      "tinRequestedGuid": "",
      "tinType": 1,
      "contactInformation": [
        {
          "contactType": "SHIP_TO",
          "state": "NE",
          "postalCode": "68135",
          "address1": "18 S St",
          "email": "john.smith@email.com",
          "phone": "1231231234",
          "city": "Omaha"
        },
        {
          "contactType": "CORPORATE",
          "state": "NE",
          "postalCode": "68135",
          "address1": "18 S St",
          "email": "john.smith@email.com",
          "phone": "1231231234",
          "city": "Omaha",
          "country": "US"
        },
        {
          "contactType": "LOCATION",
          "state": "NE",
          "postalCode": "68135",
          "address1": "18 S St",
          "city": "Omaha",
          "country": "USA"
        }
      ],
      "emvEnabled": false,
      "debitEnabled": false,
      "amexEnabled": false,
      "discoverEnabled": false
    }
  ],
  "locationInformation": [
    {
      "merchantId": 31702,
      "dbaName": "Sample Business Name",
      "mccDescription": "Restaurant Beverage and Food",
      "mcc": "5812",
      "annualVolume": 425000,
      "averageTicket": 25,
      "highestTicket": 45,
      "category": "RESTAURANT",
      "faceToFace": "100",
      "phoneOrEmail": "0",
      "internet": "0",
      "address1": "18 S St",
      "city": "Omaha",
      "zip": "68135",
      "state": "NE",
      "bankInformation": [
        {
          "abaNumber": "",
          "accountNumber": "",
          "instName": "JPMORGAN CHASE BANK, NA",
          "chargebacks": 1,
          "chargebackReversals": 1,
          "discountServices": 1
        }
      ],
      "siteSurvey": {
        "createdDate": "2017-08-03T22:40:39Z",
        "siteVisitation": "Not Required",
        "returnPolicy": "Exchange Only",
        "separateRefundPolicy": "No",
        "deliveryTimeFrame_0_To_7": "100",
        "deliveryTimeFrame_8_To_14": "0",
        "deliveryTimeFrame_15_To_30": "0",
        "deliveryTimeFrame_Over_30": "0"
      },
      "rollupIndicator": "2",
      "isPrimaryLocation": true
    }
  ],
}
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);
});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
var json = "{\n" +
"  \"transactionInfo\": {\n" +
"    \"mccTypes\": \"Clothing and Shoes\",\n" +
"    \"mcc\": \"5611\",\n" +
"    \"annualVolume\": 100000,\n" +
"    \"averageTicket\": 80,\n" +
"    \"highestTicket\": 400,\n" +
"    \"category\": \"RETAIL\"\n" +
"  },\n" +
"  \"ownerInformation\": [\n" +
"    {\n" +
"      \"lastName\": \"Smith\",\n" +
"      \"firstName\": \"John\",\n" +
"      \"dateOfBirth\": 225936000000,\n" +
"      \"title\": \"Owner\",\n" +
"      \"percentOwned\": 100,\n" +
"      \"contactInformation\": [\n" +
"      {\n" +
"        \"contactType\": \"OWNER\",\n" +
"        \"address1\": \"17 S St\",\n" +
"        \"city\": \"Omaha\",\n" +
"        \"state\": \"NE\",\n" +
"        \"zip\": \"68135\",\n" +
"        \"country\": \"US\",\n" +
"        \"phone\": \"8899999991\",\n" +
"        \"email\": \"john.smith@email.com\"\n" +
"      }\n" +
"    }\n" +
"  ],\n" +
"  \"merchantInformation\": [\n" +
"    {\n" +
"      \"category\": \"RESTAURANT\",\n" +
"      \"dbaName\": \"Sample Business Name\",\n" +
"      \"legalName\": \"Sample Business Name\",\n" +
"      \"yearsInBusiness\": 1314835200000,\n" +
"      \"organizationType\": \"Sole Proprietorship\",\n" +
"      \"stateOfIncorporation\": \"KS\",\n" +
"      \"taxFilingName\": \"Sample Business Tax Filing Name\",\n" +
"      \"foreignEntityOption\": \"N\",\n" +
"      \"tinRequestedGuid\": \"\",\n" +
"      \"tinType\": 1,\n" +
"      \"contactInformation\": [\n" +
"        {\n" +
"          \"contactType\": \"SHIP_TO\",\n" +
"          \"state\": \"NE\",\n" +
"          \"postalCode\": \"68135\",\n" +
"          \"address1\": \"18 S St\",\n" +
"          \"email\": \"john.smith@email.com\",\n" +
"          \"phone\": \"1231231234\",\n" +
"          \"city\": \"Omaha\"\n" +
"        },\n" +
"        {\n" +
"          \"contactType\": \"CORPORATE\",\n" +
"          \"state\": \"NE\",\n" +
"          \"postalCode\": \"68135\",\n" +
"          \"address1\": \"18 S St\",\n" +
"          \"email\": \"john.smith@email.com\",\n" +
"          \"phone\": \"1231231234\",\n" +
"          \"city\": \"Omaha\",\n" +
"          \"country\": \"US\"\n" +
"        },\n" +
"        {\n" +
"          \"contactType\": \"LOCATION\",\n" +
"          \"state\": \"NE\",\n" +
"          \"postalCode\": \"68135\",\n" +
"          \"address1\": \"18 S St\",\n" +
"          \"city\": \"Omaha\",\n" +
"          \"country\": \"USA\"\n" +
"        }\n" +
"      ],\n" +
"      \"emvEnabled\": false,\n" +
"      \"debitEnabled\": false,\n" +
"      \"amexEnabled\": false,\n" +
"      \"discoverEnabled\": false\n" +
"    }\n" +
"  ],\n" +
"  \"locationInformation\": [\n" +
"    {\n" +
"      \"merchantId\": 31702,\n" +
"      \"dbaName\": \"Sample Business Name\",\n" +
"      \"mccDescription\": \"Restaurant Beverage and Food\",\n" +
"      \"mcc\": \"5812\",\n" +
"      \"annualVolume\": 425000,\n" +
"      \"averageTicket\": 25,\n" +
"      \"highestTicket\": 45,\n" +
"      \"category\": \"RESTAURANT\",\n" +
"      \"faceToFace\": \"100\",\n" +
"      \"phoneOrEmail\": \"0\",\n" +
"      \"internet\": \"0\",\n" +
"      \"address1\": \"18 S St\",\n" +
"      \"city\": \"Omaha\",\n" +
"      \"zip\": \"68135\",\n" +
"      \"state\": \"NE\",\n" +
"      \"bankInformation\": [\n" +
"        {\n" +
"          \"abaNumber\": \"\",\n" +
"          \"accountNumber\": \"\",\n" +
"          \"instName\": \"JPMORGAN CHASE BANK, NA\",\n" +
"          \"chargebacks\": 1,\n" +
"          \"chargebackReversals\": 1,\n" +
"          \"discountServices\": 1\n" +
"        }\n" +
"      ],\n" +
"      \"siteSurvey\": {\n" +
"        \"createdDate\": \"2017-08-03T22:40:39Z\",\n" +
"        \"siteVisitation\": \"Not Required\",\n" +
"        \"returnPolicy\": \"Exchange Only\",\n" +
"        \"separateRefundPolicy\": \"No\",\n" +
"        \"deliveryTimeFrame_0_To_7\": \"100\",\n" +
"        \"deliveryTimeFrame_8_To_14\": \"0\",\n" +
"        \"deliveryTimeFrame_15_To_30\": \"0\",\n" +
"        \"deliveryTimeFrame_Over_30\": \"0\"\n" +
"      },\n" +
"      \"rollupIndicator\": \"2\",\n" +
"      \"isPrimaryLocation\": true\n" +
"    }\n" +
"  ]\n" +
"}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/merchantapplication/creditdecision", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}

<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
'transactionInfo' => 
  array (
    'mccTypes' => 'Clothing and Shoes',
    'mcc' => '5611',
    'annualVolume' => 100000,
    'averageTicket' => 80,
    'highestTicket' => 400,
    'category' => 'RETAIL',
  ),
  'ownerInformation' => 
  array (
    0 => 
    array (
      'lastName' => 'Smith',
      'firstName' => 'John',
      'dateOfBirth' => 225936000000,
      'title' => 'Owner',
      'percentOwned' => 100,
      'contactInformation' => 
      array (
        0 => 
        array (
          'contactType' => 'OWNER',
          'address1' => '17 S St',
          'city' => 'Omaha',
          'state' => 'NE',
          'zip' => '68135',
          'country' => 'US',
          'phone' => '8899999991',
          'email' => 'john.smith@email.com',
        ),
      ),
    ),
  ),
  'merchantInformation' => 
  array (
    0 => 
    array (
      'category' => 'RESTAURANT',
      'dbaName' => 'Sample Business Name',
      'legalName' => 'Sample Business Name',
      'yearsInBusiness' => 1314835200000,
      'organizationType' => 'Sole Proprietorship',
      'stateOfIncorporation' => 'KS',
      'taxFilingName' => 'Sample Business Tax Filing Name',
      'foreignEntityOption' => 'N',
      'tinRequestedGuid' => '',
      'tinType' => 1,
      'contactInformation' => 
      array (
        0 => 
        array (
          'contactType' => 'SHIP_TO',
          'state' => 'NE',
          'postalCode' => '68135',
          'address1' => '18 S St',
          'email' => 'john.smith@email.com',
          'phone' => '1231231234',
          'city' => 'Omaha',
        ),
        1 => 
        array (
          'contactType' => 'CORPORATE',
          'state' => 'NE',
          'postalCode' => '68135',
          'address1' => '18 S St',
          'email' => 'john.smith@email.com',
          'phone' => '1231231234',
          'city' => 'Omaha',
          'country' => 'US',
        ),
        2 => 
        array (
          'contactType' => 'LOCATION',
          'state' => 'NE',
          'postalCode' => '68135',
          'address1' => '18 S St',
          'city' => 'Omaha',
          'country' => 'USA',
        ),
      ),
      'emvEnabled' => false,
      'debitEnabled' => false,
      'amexEnabled' => false,
      'discoverEnabled' => false,
    ),
  ),
  'locationInformation' => 
  array (
    0 => 
    array (
      'merchantId' => 31702,
      'dbaName' => 'Sample Business Name',
      'mccDescription' => 'Restaurant Beverage and Food',
      'mcc' => '5812',
      'annualVolume' => 425000,
      'averageTicket' => 25,
      'highestTicket' => 45,
      'category' => 'RESTAURANT',
      'faceToFace' => '100',
      'phoneOrEmail' => '0',
      'internet' => '0',
      'address1' => '18 S St',
      'city' => 'Omaha',
      'zip' => '68135',
      'state' => 'NE',
      'bankInformation' => 
      array (
        0 => 
        array (
          'abaNumber' => '',
          'accountNumber' => '',
          'instName' => 'JPMORGAN CHASE BANK, NA',
          'chargebacks' => 1,
          'chargebackReversals' => 1,
          'discountServices' => 1,
        ),
      ),
      'siteSurvey' => 
      array (
        'createdDate' => '2017-08-03T22:40:39Z',
        'siteVisitation' => 'Not Required',
        'returnPolicy' => 'Exchange Only',
        'separateRefundPolicy' => 'No',
        'deliveryTimeFrame_0_To_7' => '100',
        'deliveryTimeFrame_8_To_14' => '0',
        'deliveryTimeFrame_15_To_30' => '0',
        'deliveryTimeFrame_Over_30' => '0',
      ),
      'rollupIndicator' => '2',
      'isPrimaryLocation' => true,
    ),
  ),
)

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/merchantapplication/creditdecision");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{
  "orderId": "6VD7D",
  "status": "pending",
  "merchantId": ""
}

This endpoint allows developers to create a request for credit decision without submitting the complete order details.

The service is set up to request the minimum required information a credit decision. For best results, Threatmatrix and Identity verification should be performed.

Request

POST /marketplace/v1/merchantapplication/creditdecision

The endpoint takes a JSON object as input, which contains following information.

Parameter Required Data Type Short Description
transactionInfo object Transactions information used to determine pricing.
annualVolume double Annual transaction volume in USD.
mccTypes string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
creditCardVolume double Annual credit card transaction volume in USD.
averageTicket double Average ticket price in USD.
highestTicket double Highest ticket price in USD.
category string Category eg: "RETAIL/MOTO" (refer to: GET Categories).
ownerInformation array Array of (minimum one) objects, each containing the information of the owner(s) of the business.
firstName string Owner’s first name.
lastName string Owner’s last name.
ssn string Owner’s Social Security Number in “#########” format.
dateofBirth string Owner’s date of birth in “YYYY-MM-DD” format.
title string Title of the listed owner. Possible values: "Owner", "Partner", "President", etc.
percentOwned integer Percentage of the company owned by this owner. All owners must equal 100%.
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
zip string ZIP/postal code.
phone string Phone number.
email string Email address.
merchantInformation array Array of (minimum one) objects, each containing the information about a location of the business.
category string Category eg: "RETAIL" (refer to: GET Categories).
dbaName string DBA name.
legalName string Legal business name.
taxFilingName string IRS tax filing name for the business. Can be validated against taxId using the POST TIN/Validate service.
yearsInBusiness string Business started date.
organizationType string Organization type represented by an abbreviated code. See possible values here.
stateOfIncorporation string State of incorporation in abbreviated format. i.e. for California send "CA".
taxId string A Taxpayer Identification Number (TIN) is an identification number used by the Internal Revenue Service (IRS). Can be validated against taxFilingName using the POST TIN/Validate service.
foreignEntityOption string Indicates if the business can claim foreign status according to IRS regulations. Possible values: "Y" or "N".
tinType integer Type of Taxpayer Identification Number (TIN).
tinRequestedGuid string Universal ID for the request of the POST TIN/Validate service.
url string URL of business website.
contactInformation array Array of (minimum one) object(s), each of which represents a business location. contactType, address1, address2, address3, city, state, postalCode, country, phone, and email.
contactType string Type of location. Possible values: "LOCATION", "CORPORATE", "SHIPPING", "SHIP_TO", "TRADING", "BILLING", "PRIMARY", "DISPUTE", "TRAIN_BY", "STANDARD".
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.
contactTime string Preference on contact time.
phone string Phone number.
email string Email address.
locationInformation array Array of (minimum one) objects, each containing the information about each business location, including e-commerce locations.
dbaName string DBA name.
merchantId string Merchant identifier.
mccDescription string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
averageTicket double Average ticket price in USD.
highestTicket double Actual or estimated highest ticket price in USD.
isPrimaryLocation boolean Indicates whether this object represents the primary business location.
faceToFace string Percentage (converted to string) of payments/transactions made face to face (can’t exceed 100%).
phoneOrEmail string Percentage (converted to string) of payments/transactions made by phone or email (can’t exceed 100%).
internet string Percentage (converted to string) of payments/transactions made on the internet (can’t exceed 100%).
rollupIndicator string
category string Category eg: "RETAIL" (refer to: GET Categories).
siteSurvey object A visit in an official capacity to examine a site to determine its suitability for some enterprise.
siteVisitation string Indicates whether site visitation was performed/is required or not.
deliveryTimeFrame_0_To_7 string Percentage of services delivered between 0-7 days after transaction.
deliveryTimeFrame_8_To_14 string Percentage of services delivered between 8-14 days after transaction.
deliveryTimeFrame_15_To_30 string Percentage of services delivered between 15-30 days after transaction.
deliveryTimeFrame_Over_30 string Percentage of services delivered more than 30 days after transaction.
bankInformation array Array of (minimum one) object(s) that collects the ACH information.
instName string Financial institution name such as "JPMORGAN CHASE BANK", etc.
abaNumber string ABA routing transit number. A nine digit code to identify a financial institution. Needs to be validated using the POST Banks/Validate service.
accountNumber string Checking account number. Usually 10-12 digit number to identify the merchant’s account.
ordinal integer Default to 2
isPrimary boolean Indicates whether this object represents the primary bank.
equipmentLocation array
lineItemId long
configurableLineItemId long
attributes array
attributeName string
attributeValue string
attributeDomain string
threatMetrixGuid string The GUID to be used to invoke the ThreatMetrix webservice call.
identityAnswers object Object containing the identity verification results. Contains idNumber, answers-received, idequiv-result, qualifiers, summary-result and results.
idNumber integer Unique identification for the Identity Verification for this record.
answers-received integer Number of answers received. Note: You must send 3 answers in order to get a successful response.
idequiv-result object Wrapper object containing result of the overall submission. Contains key and message.
↳ message string Display message for idequiv-result.
↳ key string Message identifier for idequiv-result.
qualifiers object Wrapper object containing qualifying messages (qualifier arrays). This provides information on the record lookup based on verifying the data provided before, such as the address, TIN, name, etc.
qualifier array One qualifier message. Contains key and message.
↳ message string Display message for the qualifier.
↳ key string Message identifier for the qualifier.
summary-result object Wrapper object containing result of the record lookup. This provides information on the success or failure to locate the record to verify. Contains key and message.
↳ message string Display message for summary message: "PASS" or "FAIL".
↳ key string Message identifier for summary-results.
results object Wrapper object containing result of the record lookup. This provides information on the success or failure to locate the record to verify. Contains key and message.
↳ message string Display message for results.
↳ key string Message identifier for results.

Response

The endpoint returns an object containing information about the credit decision.

Parameter Data Type Description
orderId string Order Id. The numeric identifier to be used in the merchant boarding process as input to reference the order.
status string Status of credit decision. Possible Values: "Approved", "Pending".
merchantIdentifier string merchant MIDis provided in case of an approved merchant.

POST Merchantapplication/SingleOutlet

data = {
  "merchantInformation": {
    "dbaName": "John's Business Supplies",
    "legalName": "John's Business Supplies, Inc.",
    "taxId": "989898989",
    "businessStartedOn": "1991-09-01",
    "organizationType": "Partnership",
    "stateOfIncorporation": "CA",
    "taxFilingName": "John's Business Supplies",
    "foreignEntityOption": "N",
    "tinRequestedGuid": "",
    "tinType": "EIN",
    "contactInformation": [
      {
        "contactType": "LOCATION",
        "address1": "123 Main Street",
        "address2": "Suite 123",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890"
      },
      {
        "contactType": "CORPORATE",
        "address1": "123 Main Street",
        "address2": "Suite 123",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890"
      }
    ],
    "transactionInfo": {
      "mccDescription": "Appliances, Electronics, Computers",
      "mcc": "5734",
      "annualVolume": 450000,
      "creditCardVolume": 350000,
      "averageTicket": 10,
      "highestTicket": 25,
      "category": "RETAIL",
      "amexSENumber": "",
      "methodofPayment": {
        "faceToFace": "100",
        "phoneOrEmail": "0",
        "internet": "0"
      }
    },
    "siteSurvey": {
      "siteVisitation": "Not Required",
      "deliveryTimeFrame_0_To_7": "100",
      "deliveryTimeFrame_8_To_14": "0",
      "deliveryTimeFrame_15_To_30": "0",
      "deliveryTimeFrame_Over_30": "0",
      "returnPolicy": "Exchange Only",
      "separateRefundPolicy": "No"
    },
    "bankInformation": [
      {
        "instName": "JPMORGAN CHASE BANK, NA",
        "abaNumber": "021202337",
        "accountNumber": "123456789",
        "deposits": 1,
        "nonBankAdjustments": 1,
        "depositAdjustments": 1,
        "chargebackReversals": 1,
        "interchangeAssessments": 1,
        "discountServices": 1,
        "fees": 1,
        "financialAdjustments": 1,
        "chargebacks": 1
      }
    ]
  },
  "ownerInformation": [
    {
      "firstName": "William",
      "lastName": "Smith",
      "ssn": "989898989",
      "dateofBirth": "1988-03-14",
      "title": "Owner",
      "percentOwned": 40,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "123 Market Street",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "email": "williamsmith@email.com"
      }
    },
    {
      "firstName": "John",
      "lastName": "Smith",
      "ssn": "989898989",
      "dateofBirth": "1988-03-14",
      "title": "Owner",
      "percentOwned": 60,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "12 Peninsula Avenue",
        "address2": "Apt 1",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "email": "johnsmith@emai.com"
      }
    }
  ],
  "pricingDetails": [
    {
      "productId": "73843",
      "feeDefault": 0,
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1,
      "productConfigurations": [
        {
          "type": "PROD_ATTR",
          "name": "FRONT_END",
          "value": "NASHVILLE"
        },
        {
          "type": "TERM_ATTR",
          "name": "AUTO_SETTLE",
          "value": "YES"
        }
      ]
    },
    {
      "productId": "2",
      "feeDefault": 0,
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "productId": "3",
      "feeDefault": 0,
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    }
  ],
  "cartDetails": [
    {
      "productId": "74043",
      "price": 799,
      "term": "P",
      "qty": 1
    },
    {
      "productId": "50712",
      "price": 19.95,
      "term": "P",
      "qty": 1
    }
  ],
  "shippingAddress": {
    "company": "John's Business Supplies",
    "firstName": "John",
    "lastName": "Smith",
    "address1": "123 Main Street",
    "address2": "Suite 123",
    "city": "SCHENECTADY",
    "postalCode": "12345",
    "email": "johnsmith@emai.com",
    "phone": "1234567890",
    "state": "NY",
    "country": "USA"
  },
  "advancedPreferences": {
    "statementDeliveryType": "Email",
    "statementType": "Detail",
    "statementEmailAddress": "johnsmith@emai.com",
    "form1099Electronically": true,
    "form1099ToEmail": true
  }
}

endpoint = "/marketplace/v1/merchantapplication/12345/singleoutlet"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

ENDPOINT="$URL/marketplace/v1/merchantapplication/12345/singleoutlet"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "merchantInformation": {
    "dbaName": "John's Business Supplies",
    "legalName": "John's Business Supplies, Inc.",
    "taxId": "989898989",
    "businessStartedOn": "1991-09-01",
    "organizationType": "Partnership",
    "stateOfIncorporation": "CA",
    "taxFilingName": "John's Business Supplies",
    "foreignEntityOption": "N",
    "tinRequestedGuid": "",
    "tinType": "EIN",
    "contactInformation": [
      {
        "contactType": "LOCATION",
        "address1": "123 Main Street",
        "address2": "Suite 123",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890"
      },
      {
        "contactType": "CORPORATE",
        "address1": "123 Main Street",
        "address2": "Suite 123",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890"
      }
    ],
    "transactionInfo": {
      "mccDescription": "Appliances, Electronics, Computers",
      "mcc": "5734",
      "annualVolume": 450000,
      "creditCardVolume": 350000,
      "averageTicket": 10,
      "highestTicket": 25,
      "category": "RETAIL",
      "amexSENumber": "",
      "methodofPayment": {
        "faceToFace": "100",
        "phoneOrEmail": "0",
        "internet": "0"
      }
    },
    "siteSurvey": {
      "siteVisitation": "Not Required",
      "deliveryTimeFrame_0_To_7": "100",
      "deliveryTimeFrame_8_To_14": "0",
      "deliveryTimeFrame_15_To_30": "0",
      "deliveryTimeFrame_Over_30": "0",
      "returnPolicy": "Exchange Only",
      "separateRefundPolicy": "No"
    },
    "bankInformation": [
      {
        "instName": "JPMORGAN CHASE BANK, NA",
        "abaNumber": "021202337",
        "accountNumber": "123456789",
        "deposits": 1,
        "nonBankAdjustments": 1,
        "depositAdjustments": 1,
        "chargebackReversals": 1,
        "interchangeAssessments": 1,
        "discountServices": 1,
        "fees": 1,
        "financialAdjustments": 1,
        "chargebacks": 1
      }
    ]
  },
  "ownerInformation": [
    {
      "firstName": "William",
      "lastName": "Smith",
      "ssn": "989898989",
      "dateofBirth": "1988-03-14",
      "title": "Owner",
      "percentOwned": 40,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "123 Market Street",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "email": "williamsmith@email.com"
      }
    },
    {
      "firstName": "John",
      "lastName": "Smith",
      "ssn": "989898989",
      "dateofBirth": "1988-03-14",
      "title": "Owner",
      "percentOwned": 60,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "12 Peninsula Avenue",
        "address2": "Apt 1",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "email": "johnsmith@emai.com"
      }
    }
  ],
  "pricingDetails": [
    {
      "productId": "73843",
      "feeDefault": 0,
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1,
      "productConfigurations": [
        {
          "type": "PROD_ATTR",
          "name": "FRONT_END",
          "value": "NASHVILLE"
        },
        {
          "type": "TERM_ATTR",
          "name": "AUTO_SETTLE",
          "value": "YES"
        }
      ]
    },
    {
      "productId": "2",
      "feeDefault": 0,
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "productId": "3",
      "feeDefault": 0,
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    }
  ],
  "cartDetails": [
    {
      "productId": "74043",
      "price": 799,
      "term": "P",
      "qty": 1
    },
    {
      "productId": "50712",
      "price": 19.95,
      "term": "P",
      "qty": 1
    }
  ],
  "shippingAddress": {
    "company": "John's Business Supplies",
    "firstName": "John",
    "lastName": "Smith",
    "address1": "123 Main Street",
    "address2": "Suite 123",
    "city": "SCHENECTADY",
    "postalCode": "12345",
    "email": "johnsmith@emai.com",
    "phone": "1234567890",
    "state": "NY",
    "country": "USA"
  },
  "advancedPreferences": {
    "statementDeliveryType": "Email",
    "statementType": "Detail",
    "statementEmailAddress": "johnsmith@emai.com",
    "form1099Electronically": true,
    "form1099ToEmail": true
  }
}' $ENDPOINT
var options = {
  method: 'POST',
  url: url + '/marketplace/v1/merchantapplication/12345/singleoutlet',
  headers: getAuthenticationHeaders(),
  body: {
  "merchantInformation": {
    "dbaName": "John's Business Supplies",
    "legalName": "John's Business Supplies, Inc.",
    "taxId": "989898989",
    "businessStartedOn": "1991-09-01",
    "organizationType": "Partnership",
    "stateOfIncorporation": "CA",
    "taxFilingName": "John's Business Supplies",
    "foreignEntityOption": "N",
    "tinRequestedGuid": "",
    "tinType": "EIN",
    "contactInformation": [
      {
        "contactType": "LOCATION",
        "address1": "123 Main Street",
        "address2": "Suite 123",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890"
      },
      {
        "contactType": "CORPORATE",
        "address1": "123 Main Street",
        "address2": "Suite 123",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890"
      }
    ],
    "transactionInfo": {
      "mccDescription": "Appliances, Electronics, Computers",
      "mcc": "5734",
      "annualVolume": 450000,
      "creditCardVolume": 350000,
      "averageTicket": 10,
      "highestTicket": 25,
      "category": "RETAIL",
      "amexSENumber": "",
      "methodofPayment": {
        "faceToFace": "100",
        "phoneOrEmail": "0",
        "internet": "0"
      }
    },
    "siteSurvey": {
      "siteVisitation": "Not Required",
      "deliveryTimeFrame_0_To_7": "100",
      "deliveryTimeFrame_8_To_14": "0",
      "deliveryTimeFrame_15_To_30": "0",
      "deliveryTimeFrame_Over_30": "0",
      "returnPolicy": "Exchange Only",
      "separateRefundPolicy": "No"
    },
    "bankInformation": [
      {
        "instName": "JPMORGAN CHASE BANK, NA",
        "abaNumber": "021202337",
        "accountNumber": "123456789",
        "deposits": 1,
        "nonBankAdjustments": 1,
        "depositAdjustments": 1,
        "chargebackReversals": 1,
        "interchangeAssessments": 1,
        "discountServices": 1,
        "fees": 1,
        "financialAdjustments": 1,
        "chargebacks": 1
      }
    ]
  },
  "ownerInformation": [
    {
      "firstName": "William",
      "lastName": "Smith",
      "ssn": "989898989",
      "dateofBirth": "1988-03-14",
      "title": "Owner",
      "percentOwned": 40,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "123 Market Street",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "email": "williamsmith@email.com"
      }
    },
    {
      "firstName": "John",
      "lastName": "Smith",
      "ssn": "989898989",
      "dateofBirth": "1988-03-14",
      "title": "Owner",
      "percentOwned": 60,
      "contactInformation": {
        "contactType": "OWNER",
        "address1": "12 Peninsula Avenue",
        "address2": "Apt 1",
        "city": "SCHENECTADY",
        "state": "NY",
        "postalCode": "12345",
        "country": "US",
        "phone": "1234567890",
        "email": "johnsmith@emai.com"
      }
    }
  ],
  "pricingDetails": [
    {
      "productId": "73843",
      "feeDefault": 0,
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1,
      "productConfigurations": [
        {
          "type": "PROD_ATTR",
          "name": "FRONT_END",
          "value": "NASHVILLE"
        },
        {
          "type": "TERM_ATTR",
          "name": "AUTO_SETTLE",
          "value": "YES"
        }
      ]
    },
    {
      "productId": "2",
      "feeDefault": 0,
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    },
    {
      "productId": "3",
      "feeDefault": 0,
      "defaultAmt": 0,
      "rateDefault": 0,
      "quantity": 1
    }
  ],
  "cartDetails": [
    {
      "productId": "74043",
      "price": 799,
      "term": "P",
      "qty": 1
    },
    {
      "productId": "50712",
      "price": 19.95,
      "term": "P",
      "qty": 1
    }
  ],
  "shippingAddress": {
    "company": "John's Business Supplies",
    "firstName": "John",
    "lastName": "Smith",
    "address1": "123 Main Street",
    "address2": "Suite 123",
    "city": "SCHENECTADY",
    "postalCode": "12345",
    "email": "johnsmith@emai.com",
    "phone": "1234567890",
    "state": "NY",
    "country": "USA"
  },
  "advancedPreferences": {
    "statementDeliveryType": "Email",
    "statementType": "Detail",
    "statementEmailAddress": "johnsmith@emai.com",
    "form1099Electronically": true,
    "form1099ToEmail": true
  }
},
 json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);
});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\n" +
      "  \"merchantInformation\": {
\n" + "    \"dbaName\": \"John's Business Supplies\",
\n" + "    \"legalName\": \"John's Business Supplies, Inc.\",
\n" + "    \"taxId\": \"989898989\",
\n" + "    \"businessStartedOn\": \"1991-09-01\",
\n" + "    \"organizationType\": \"Partnership\",
\n" + "    \"stateOfIncorporation\": \"CA\",
\n" + "    \"taxFilingName\": \"John's Business Supplies\",
\n" + "    \"foreignEntityOption\": \"N\",
\n" + "    \"tinRequestedGuid\": \"\",
\n" + "    \"tinType\": \"EIN\",
\n" + "    \"contactInformation\": [
\n" + "      {
\n" + "        \"contactType\": \"LOCATION\",
\n" + "        \"address1\": \"123 Main Street\",
\n" + "        \"address2\": \"Suite 123\",
\n" + "        \"city\": \"SCHENECTADY\",
\n" + "        \"state\": \"NY\",
\n" + "        \"postalCode\": \"12345\",
\n" + "        \"country\": \"US\",
\n" + "        \"phone\": \"1234567890\"
\n" + "      },
\n" + "      {
\n" + "        \"contactType\": \"CORPORATE\",
\n" + "        \"address1\": \"123 Main Street\",
\n" + "        \"address2\": \"Suite 123\",
\n" + "        \"city\": \"SCHENECTADY\",
\n" + "        \"state\": \"NY\",
\n" + "        \"postalCode\": \"12345\",
\n" + "        \"country\": \"US\",
\n" + "        \"phone\": \"1234567890\"
\n" + "      }
\n" + "    ],
\n" + "    \"transactionInfo\": {
\n" + "      \"mccDescription\": \"Appliances, Electronics, Computers\",
\n" + "      \"mcc\": \"5734\",
\n" + "      \"annualVolume\": 450000,
\n" + "      \"creditCardVolume\": 350000,
\n" + "      \"averageTicket\": 10,
\n" + "      \"highestTicket\": 25,
\n" + "      \"category\": \"RETAIL\",
\n" + "      \"amexSENumber\": \"\",
\n" + "      \"methodofPayment\": {
\n" + "        \"faceToFace\": \"100\",
\n" + "        \"phoneOrEmail\": \"0\",
\n" + "        \"internet\": \"0\"
\n" + "      }
\n" + "    },
\n" + "    \"siteSurvey\": {
\n" + "      \"siteVisitation\": \"Not Required\",
\n" + "      \"deliveryTimeFrame_0_To_7\": \"100\",
\n" + "      \"deliveryTimeFrame_8_To_14\": \"0\",
\n" + "      \"deliveryTimeFrame_15_To_30\": \"0\",
\n" + "      \"deliveryTimeFrame_Over_30\": \"0\",
\n" + "      \"returnPolicy\": \"Exchange Only\",
\n" + "      \"separateRefundPolicy\": \"No\"
\n" + "    },
\n" + "    \"bankInformation\": [
\n" + "      {
\n" + "        \"instName\": \"JPMORGAN CHASE BANK, NA\",
\n" + "        \"abaNumber\": \"021202337\",
\n" + "        \"accountNumber\": \"123456789\",
\n" + "        \"deposits\": 1,
\n" + "        \"nonBankAdjustments\": 1,
\n" + "        \"depositAdjustments\": 1,
\n" + "        \"chargebackReversals\": 1,
\n" + "        \"interchangeAssessments\": 1,
\n" + "        \"discountServices\": 1,
\n" + "        \"fees\": 1,
\n" + "        \"financialAdjustments\": 1,
\n" + "        \"chargebacks\": 1
\n" + "      }
\n" + "    ]
\n" + "  },
\n" + "  \"ownerInformation\": [
\n" + "    {
\n" + "      \"firstName\": \"William\",
\n" + "      \"lastName\": \"Smith\",
\n" + "      \"ssn\": \"989898989\",
\n" + "      \"dateofBirth\": \"1988-03-14\",
\n" + "      \"title\": \"Owner\",
\n" + "      \"percentOwned\": 40,
\n" + "      \"contactInformation\": {
\n" + "        \"contactType\": \"OWNER\",
\n" + "        \"address1\": \"123 Market Street\",
\n" + "        \"city\": \"SCHENECTADY\",
\n" + "        \"state\": \"NY\",
\n" + "        \"postalCode\": \"12345\",
\n" + "        \"country\": \"US\",
\n" + "        \"phone\": \"1234567890\",
\n" + "        \"email\": \"williamsmith@email.com\"
\n" + "      }
\n" + "    },
\n" + "    {
\n" + "      \"firstName\": \"John\",
\n" + "      \"lastName\": \"Smith\",
\n" + "      \"ssn\": \"989898989\",
\n" + "      \"dateofBirth\": \"1988-03-14\",
\n" + "      \"title\": \"Owner\",
\n" + "      \"percentOwned\": 60,
\n" + "      \"contactInformation\": {
\n" + "        \"contactType\": \"OWNER\",
\n" + "        \"address1\": \"12 Peninsula Avenue\",
\n" + "        \"address2\": \"Apt 1\",
\n" + "        \"city\": \"SCHENECTADY\",
\n" + "        \"state\": \"NY\",
\n" + "        \"postalCode\": \"12345\",
\n" + "        \"country\": \"US\",
\n" + "        \"phone\": \"1234567890\",
\n" + "        \"email\": \"johnsmith@emai.com\"
\n" + "      }
\n" + "    }
\n" + "  ],
\n" + "  \"pricingDetails\": [
\n" + "    {
\n" + "      \"productId\": \"73843\",
\n" + "      \"feeDefault\": 0,
\n" + "      \"defaultAmt\": 0,
\n" + "      \"rateDefault\": 0,
\n" + "      \"quantity\": 1,
\n" + "      \"productConfigurations\": [
\n" + "        {
\n" + "          \"type\": \"PROD_ATTR\",
\n" + "          \"name\": \"FRONT_END\",
\n" + "          \"value\": \"NASHVILLE\"
\n" + "        },
\n" + "        {
\n" + "          \"type\": \"TERM_ATTR\",
\n" + "          \"name\": \"AUTO_SETTLE\",
\n" + "          \"value\": \"YES\"
\n" + "        }
\n" + "      ]
\n" + "    },
\n" + "    {
\n" + "      \"productId\": \"2\",
\n" + "      \"feeDefault\": 0,
\n" + "      \"defaultAmt\": 0,
\n" + "      \"rateDefault\": 0,
\n" + "      \"quantity\": 1
\n" + "    },
\n" + "    {
\n" + "      \"productId\": \"3\",
\n" + "      \"feeDefault\": 0,
\n" + "      \"defaultAmt\": 0,
\n" + "      \"rateDefault\": 0,
\n" + "      \"quantity\": 1
\n" + "    }
\n" + "  ],
\n" + "  \"cartDetails\": [
\n" + "    {
\n" + "      \"productId\": \"74043\",
\n" + "      \"price\": 799,
\n" + "      \"term\": \"P\",
\n" + "      \"qty\": 1
\n" + "    },
\n" + "    {
\n" + "      \"productId\": \"50712\",
\n" + "      \"price\": 19.95,
\n" + "      \"term\": \"P\",
\n" + "      \"qty\": 1
\n" + "    }
\n" + "  ],
\n" + "  \"shippingAddress\": {
\n" + "    \"company\": \"John's Business Supplies\",
\n" + "    \"firstName\": \"John\",
\n" + "    \"lastName\": \"Smith\",
\n" + "    \"address1\": \"123 Main Street\",
\n" + "    \"address2\": \"Suite 123\",
\n" + "    \"city\": \"SCHENECTADY\",
\n" + "    \"postalCode\": \"12345\",
\n" + "    \"email\": \"johnsmith@emai.com\",
\n" + "    \"phone\": \"1234567890\",
\n" + "    \"state\": \"NY\",
\n" + "    \"country\": \"USA\"
\n" + "  },
\n" + "  \"advancedPreferences\": {
\n" + "    \"statementDeliveryType\": \"Email\",
\n" + "    \"statementType\": \"Detail\",
\n" + "    \"statementEmailAddress\": \"johnsmith@emai.com\",
\n" + "    \"form1099Electronically\": true,
\n" + "    \"form1099ToEmail\": true
\n" + "  }
\n" + " }";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/merchantapplication/12345/singleoutlet", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}

<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'merchantInformation' => 
  array (
    'dbaName' => 'John\'s Business Supplies',
    'legalName' => 'John\'s Business Supplies, Inc.',
    'taxId' => '989898989',
    'businessStartedOn' => '1991-09-01',
    'organizationType' => 'Partnership',
    'stateOfIncorporation' => 'CA',
    'taxFilingName' => 'John\'s Business Supplies',
    'foreignEntityOption' => 'N',
    'tinRequestedGuid' => '',
    'tinType' => 'EIN',
    'contactInformation' => 
    array (
      0 => 
      array (
        'contactType' => 'LOCATION',
        'address1' => '123 Main Street',
        'address2' => 'Suite 123',
        'city' => 'SCHENECTADY',
        'state' => 'NY',
        'postalCode' => '12345',
        'country' => 'US',
        'phone' => '1234567890',
      ),
      1 => 
      array (
        'contactType' => 'CORPORATE',
        'address1' => '123 Main Street',
        'address2' => 'Suite 123',
        'city' => 'SCHENECTADY',
        'state' => 'NY',
        'postalCode' => '12345',
        'country' => 'US',
        'phone' => '1234567890',
      ),
    ),
    'transactionInfo' => 
    array (
      'mccDescription' => 'Appliances, Electronics, Computers',
      'mcc' => '5734',
      'annualVolume' => 450000,
      'creditCardVolume' => 350000,
      'averageTicket' => 10,
      'highestTicket' => 25,
      'category' => 'RETAIL',
      'amexSENumber' => '',
      'methodofPayment' => 
      array (
        'faceToFace' => '100',
        'phoneOrEmail' => '0',
        'internet' => '0',
      ),
    ),
    'siteSurvey' => 
    array (
      'siteVisitation' => 'Not Required',
      'deliveryTimeFrame_0_To_7' => '100',
      'deliveryTimeFrame_8_To_14' => '0',
      'deliveryTimeFrame_15_To_30' => '0',
      'deliveryTimeFrame_Over_30' => '0',
      'returnPolicy' => 'Exchange Only',
      'separateRefundPolicy' => 'No',
    ),
    'bankInformation' => 
    array (
      0 => 
      array (
        'instName' => 'JPMORGAN CHASE BANK, NA',
        'abaNumber' => '021202337',
        'accountNumber' => '123456789',
        'deposits' => 1,
        'nonBankAdjustments' => 1,
        'depositAdjustments' => 1,
        'chargebackReversals' => 1,
        'interchangeAssessments' => 1,
        'discountServices' => 1,
        'fees' => 1,
        'financialAdjustments' => 1,
        'chargebacks' => 1,
      ),
    ),
  ),
  'ownerInformation' => 
  array (
    0 => 
    array (
      'firstName' => 'William',
      'lastName' => 'Smith',
      'ssn' => '989898989',
      'dateofBirth' => '1988-03-14',
      'title' => 'Owner',
      'percentOwned' => 40,
      'contactInformation' => 
      array (
        'contactType' => 'OWNER',
        'address1' => '123 Market Street',
        'city' => 'SCHENECTADY',
        'state' => 'NY',
        'postalCode' => '12345',
        'country' => 'US',
        'phone' => '1234567890',
        'email' => 'williamsmith@email.com',
      ),
    ),
    1 => 
    array (
      'firstName' => 'John',
      'lastName' => 'Smith',
      'ssn' => '989898989',
      'dateofBirth' => '1988-03-14',
      'title' => 'Owner',
      'percentOwned' => 60,
      'contactInformation' => 
      array (
        'contactType' => 'OWNER',
        'address1' => '12 Peninsula Avenue',
        'address2' => 'Apt 1',
        'city' => 'SCHENECTADY',
        'state' => 'NY',
        'postalCode' => '12345',
        'country' => 'US',
        'phone' => '1234567890',
        'email' => 'johnsmith@emai.com',
      ),
    ),
  ),
  'pricingDetails' => 
  array (
    0 => 
    array (
      'productId' => '73843',
      'feeDefault' => 0,
      'defaultAmt' => 0,
      'rateDefault' => 0,
      'quantity' => 1,
      'productConfigurations' => 
      array (
        0 => 
        array (
          'type' => 'PROD_ATTR',
          'name' => 'FRONT_END',
          'value' => 'NASHVILLE',
        ),
        1 => 
        array (
          'type' => 'TERM_ATTR',
          'name' => 'AUTO_SETTLE',
          'value' => 'YES',
        ),
      ),
    ),
    1 => 
    array (
      'productId' => '2',
      'feeDefault' => 0,
      'defaultAmt' => 0,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
    2 => 
    array (
      'productId' => '3',
      'feeDefault' => 0,
      'defaultAmt' => 0,
      'rateDefault' => 0,
      'quantity' => 1,
    ),
  ),
  'cartDetails' => 
  array (
    0 => 
    array (
      'productId' => '74043',
      'price' => 799,
      'term' => 'P',
      'qty' => 1,
    ),
    1 => 
    array (
      'productId' => '50712',
      'price' => 19.949999999999999,
      'term' => 'P',
      'qty' => 1,
    ),
  ),
  'shippingAddress' => 
  array (
    'company' => 'John\'s Business Supplies',
    'firstName' => 'John',
    'lastName' => 'Smith',
    'address1' => '123 Main Street',
    'address2' => 'Suite 123',
    'city' => 'SCHENECTADY',
    'postalCode' => '12345',
    'email' => 'johnsmith@emai.com',
    'phone' => '1234567890',
    'state' => 'NY',
    'country' => 'USA',
  ),
  'advancedPreferences' => 
  array (
    'statementDeliveryType' => 'Email',
    'statementType' => 'Detail',
    'statementEmailAddress' => 'johnsmith@emai.com',
    'form1099Electronically' => true,
    'form1099ToEmail' => true,
  ),
)

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/merchantapplication/12345/singleoutlet");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{
  "orderId": "df444"
}

Request

POST /marketplace/v1/merchantapplication/12345/singleoutlet

In the request URL, use the orderId as it was returned in the response of the POST Merchantorders API.

The endpoint takes a JSON object as input, which contains following information.

Parameter Required Data Type Short Description
merchantInformation array Array of (minimum one) objects, each containing the information about a location of the business.
dbaName string DBA name.
legalName string Legal business name.
taxId string A Taxpayer Identification Number (TIN) is an identification number used by the Internal Revenue Service (IRS). Can be validated against taxFilingName using the POST TIN/Validate service.
businessStartedOn string Business started date in “YYYY-MM-DD” format.
organizationType string Organization type represented by an abbreviated code. See possible values here.
stateOfIncorporation string State of incorporation in abbreviated format. i.e. for California send "CA".
taxFilingName string IRS tax filing name for the business. Can be validated against taxId using the POST TIN/Validate service.
foreignEntityOption string Indicates if the business can claim foreign status according to IRS regulations. Possible values: "N" (None) or "A" (A foreign person/A business that can claim foreign entity status).
tinType integer Type of Taxpayer Identification Number (TIN). Possible values: "EIN" or "SSN".
tinRequestedGuid string Universal ID for the request of the POST TIN/Validate service.
contactInformation array Array of (minimum one) object(s), each of which represents a business location. contactType, address1, address2, address3, city, state, postalCode, country, phone, and email.
contactType string Type of location. Possible values: "LOCATION", "CORPORATE", "OWNER".
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
address3 string Third line of street address.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.
phone string Phone number.
transactionInfo object Transactions information used to determine pricing.
mccDescription string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
annualVolume double Annual transaction volume in USD.
averageTicket double Average ticket price in USD.
highestTicket double Highest ticket price in USD.
category string Category eg: "RETAIL/MOTO" (refer to: GET Categories).
amexSENumber long In case Amex Volume greater than or equal to US$ 1 million, provide the Service Establishment Number.
methodofPayment object Object containing information about how the business operates and accepts transactions. Sum of values of the three contained fields must equal 100.
faceToFace integer Percentage of payments/transactions made face to face (can’t exceed 100%).
phoneOrEmail integer Percentage of payments/transactions made by phone or email (can’t exceed 100%).
internet integer Percentage of payments/transactions made on the internet (can’t exceed 100%).
siteSurvey object A visit in an official capacity to examine a site to determine its suitability for some enterprise.
siteVisitation string "Y" or "N". Indicates whether site visitation was performed or not.
deliveryTimeFrame_0_To_7 string Percentage of services delivered between 0-7 days after transaction.
deliveryTimeFrame_8_To_14 string Percentage of services delivered between 8-14 days after transaction.
deliveryTimeFrame_15_To_30 string Percentage of services delivered between 15-30 days after transaction.
deliveryTimeFrame_Over_30 string Percentage of services delivered more than 30 days after transaction.
bankInformation array Array of (minimum one) object(s) that collects the ACH information.
instName string Financial institution name such as "JPMORGAN CHASE BANK", etc.
abaNumber string ABA routing transit number. A nine digit code to identify a financial institution. Needs to be validated using the POST Banks/Validate service.
accountNumber string Checking account number. Usually 10-12 digit number to identify the merchant’s account.
ordinal integer Default to 2.
deposits long Default to 1.
nonBankAdjustments long Default to 1.
depositAdjustments long Default to 1.
chargebackReversals long Default to 1.
interchangeAssessments long Default to 1.
discountServices long Default to 1.
fees long Default to 1.
financialAdjustments long Default to 1.
chargebacks long Default to 1.
ownerInformation array Array of (minimum one) objects, each containing the information of the owner(s) of the business.
firstName string Owner’s first name.
lastName string Owner’s last name.
ssn string Owner’s Social Security Number.
dateofBirth string Owner’s date of birth in “YYYY-MM-DD” format.
title string Title of the listed contact within the organization. See Merchant organizationType and title combinations for detail.
percentOwned integer Percentage of the company owned by this owner. All owners must equal 100%.
contactInformation array Array of (minimum one) object(s), each of which represents the contact information of the owner. Each can contain contactType, address1, address2, address3, city, state, postalCode, country, phone, and email.
contactType string Type of location. Possible values: "OWNER", "PRINCIPAL", "LANDLORD", "BENEFICIARY".
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
address3 string Third line of street address.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.
phone string Phone number.
email string Email address.
merchantInformation array Array of (minimum one) objects, each containing t
pricingDetails array Array of object each containing the detailed pricing information of a product (hardware, software, acquiring, fees, etc.) in the order.
productId integer Numeric value that uniquely identifies a product (canonical identifier).
quantity integer Quantity of the Pricing Product to be added to the Order. (Generally 1.)
defaultAmt integer Price/amount to be collected (usually as a one-time payment) in USD.
feeDefault double Fee charged per occurrence in USD.
rateDefault double Percentage of transaction amount charged per occurrence.
productConfigurations object Contains name, value and domain.
name string Product attribute name.
value string Product attribute value.
domain string Domain like pricing.
cartDetails object Object containing the details of the Order Summary.
data array Array of objects containing products in the cart.
productId string productId as string. Numeric value that uniquely identifies each product (canonical identifier).
price double Unit price for a product.
term string purchaseType eg: Purchase, Rent, Lease etc. See list of possible values here.
qty integer Quantity selected.
shippingAddress array Array of one object containing shipping information.
company string Company name.
firstName string First name.
lastName string Last name.
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.
phone string Phone number.
email string Email address.
advancedPreferences string
statementDeliveryType string Way in which the merchant wants to receive statements. *Possible value(s): "EMAIL".
statementType string Type of statement. *Possible values: "DETAIL", "SUMMARY".
statementEmailAddress string Email address for statement delivery.
form1099Electronically boolean Does the merchant want to receive Form 1099 electronically?
form1099ToEmail boolean Does the merchant want to receive Form 1099 in email?

Response

The endpoint returns an object containing one string which represents the orderId.

Parameter Data Type Description
orderId string The unique identifier of an order returned after successful submission. Used in following processes as input data.

Merchant organizationType and title combinations

The possible values of the title of each owner (in ownerInformation array) depend on the value of organizationType (in merchantInformation array). The combinations are as follows:

organizationType Possible values of owner title
"PARTNERSHIPS" "PARTNER"
"GOVERNMENT" "OWNER"
"Partner"
"President"
"Vice President"
"Member LLC"
"Secretary"
"Treasurer"
"CEO"
"CFO"
"COO"
"Public Corporation" "President"
"Vice President"
"Secretary"
"Treasurer"
"CEO"
"CFO"
"COO"
"Limited Liability Company (LLC)" "President"
"Vice President"
"Secretary"
"Treasurer"
"CEO"
"CFO"
"COO"
"Member LLC"
"Private Corporation" "President"
"Vice President"
"Secretary"
"Treasurer"
"CEO"
"CFO"
"COO"
"Tax Exempt" "OWNER,Partner"
"President"
"Vice President"
"Member LLC"
"Secretary"
"Treasurer"
"CEO"
"CFO"
"COO"
"Sole Proprietorship" "OWNER"

GET Contracts/Agreement

# Don't forget to add your HMAC Authorization Headers
endpoint = url + "marketplace/v1/contracts/14567/agreement"
r = requests.get(url + endpoint, headers=headers)
print(r)
# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/contracts/14567/agreement"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = { method: 'GET',
  url: url + '/marketplace/v1/contracts/14567/agreement',
  headers: getAuthenticationHeaders() };

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);
});
// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/contracts/14567/agreement");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/contracts/14567/agreement");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{  
   "legalName":"TEST MERCHANT",
   "dbaName":"TEST MERCHANT",
   "taxIdMask":"XXXXX8989",
   "mcc":"5946",
   "yearsInBusiness":1451606400000,
   "organizationTypeReferenceCode":"I",
   "productDescription":"Appliances, Electronics, Computers",
   "createdByCoId":"477",
   "phoneNo":"2222222222",
   "createdDate":1478041631000,
   "emvEnabled":true,
   "debitEnabled":true,
   "amexEnabled":false,
   "discoverEnabled":true,
   "amexAnnualVolume":0.0,
   "averageTicket":15.0,
   "industryType":"RETAIL",
   "orderStatus":"Application Submitted",
   "employeeInformation":[  
      {  
         "firstName":"JON",
         "lastName":"DOE",
         "dateOfBirth":"1998-01-01",
         "title":"OWNER",
         "ssn":"HzqcqIYuo6tlzR/opyz6k0dmuTvbG0p5xEhS2IiF0n18+TIsNJBfil9zInxVqlL+UlwWlmkfWSjPCLu2xXDgky8iQ5neXsksug4G0hB3Ay0O716M8taQVpbxRFifmI358rVRUv7Qp0ztHu1BxZSWLaHiZtk0HczUv2krtlXovXmI+Y4LmzlW2evDHyCyIXBY0iJHObMBkw2C3Mfr6c/vvtdBD6jg36eb8nwjKsudd6P+adoCxcK0VXatJOuwnXykAK79sWgVZx1wh48mp9dNVPOiiynP7ms8HmUwzomzNhCtc/ipDhdmAqbyyq7+r5ho8+btkK3lTtV/QO8Amk8F+Q==",
         "ssnMasked":"XXXXX8989",
         "yearsAtBusiness":null
      }
   ],
   "contactsInformation":[  
      {  
         "abaNumber":"DgW+xP09HqUvSL9RIZT0qeRqwWaqVh+8w0taYT7PF28HK6YYncgJMSSSJJxk8thk2SKAJIrzdvE8DQP+4Wi9M/a9ZUkV6BPpJL+OL35chf0/UjnBeB54niAX8V6Uk06TA4qD+luWo0egQ1R4/X2FzmSvHajcj5aD9XahgbSl8GW8Xt5j6/Y/UwjgCdUv8kHjADcszbVPUfYvIN58ukU9ujb9CMLJgf9Al9hzAC/icR6/gRNC7zCpYPN2Y/wpWOXlAx+AySovuNfqqphOLMz78V9w7moS1GPpcwnhZfNCeSODpa089fLOFYhe7JLxaRPKG+nDAe4XFVie4IT2+4oIyQ==",
         "abaMasked":"XXXXX0021",
         "accountNumber":"DvWhcGv+kzPfHknYW2RQfFW4qByXlSQ6ygNlXUoAfxOD4Ua4h3jbWqTljQ8eZHjEEC7p1Jpuz74CygleCDWsr6m/H9ZyyDFenADpvMLQRPffxH2N+/+YWLR5vKltda9yMD7TtsF4ORxTZwMVpULJrD3pBdYzIfYMGwwDtJHkAEKgY9nY/ZlguhfdCSYsJe8/fQ7w5SI2YoDZ4WoQGvYER1r11OW7WH/KXp3hLrldQudF33CQi4TaBZ+r8z0he12WQlZD9BIHXiOXR7X38SoppcnZPzRrgXosSzwN03Ngfb/oqtmDSpG5IpK01mpH1VBs5vbuOqAGXCglbFVLJUDW9Q==",
         "accountNumberMasked":"9898",
         "instName":null
      }
   ],
   "merchantContactInformation":[  
      {  
         "contactType":"SHIP_TO",
         "state":"NY",
         "postalCode":"12345",
         "address1":"123 bus addr",
         "address2":"",
         "email":"test@gmail.com",
         "url":null,
         "mobile":"2222222222",
         "country":"USA",
         "voice":"2222222222",
         "name":"jon consumer",
         "companyName":"mmis test dev134",
         "city":"Schenectady"
      }, {  
         "contactType":"LOCATION",
         "state":"NE",
         "postalCode":"68116",
         "address1":"123 OWNER",
         "address2":null,
         "email":"test@gmail.com",
         "url":"website.com",
         "mobile":"1111111111",
         "country":"USA",
         "voice":"2222222222",
         "name":"MMIS TEST DEV134",
         "companyName":null,
         "city":"OMAHA"
      }, {  
         "contactType":"CORPORATE",
         "state":"NY",
         "postalCode":"12345",
         "address1":"123 BUS ADDR",
         "address2":"",
         "email":"test@gmail.com",
         "url":"website.com",
         "mobile":"1111111111",
         "country":"USA",
         "voice":"2222222222",
         "name":"MMIS TEST DEV134",
         "companyName":null,
         "city":"SCHENECTADY"
      }
   ],
   "merchantAttributesInformation":[  
      {  
         "attrValue":"AL",
         "attrName":"INC_STATE",
         "attrDomain":"CORP INFO"
      }, {  
         "attrValue":"MMIS TEST DEV134",
         "attrName":"IRS_FIL_NM",
         "attrDomain":"CORPORATE"
      }, {  
         "attrValue":"A",
         "attrName":"IRS_FRGN_IND",
         "attrDomain":"CORPORATE"
      }, {  
         "attrValue":"R",
         "attrName":"NORTH_IND_TYPE",
         "attrDomain":"CUSTOMER SETUP"
      }, {  
         "attrValue":"001",
         "attrName":"PRICE_TYPE",
         "attrDomain":"CUSTOMER SETUP"
      }, {  
         "attrValue":"SITE.COM",
         "attrName":"URL_TEXT",
         "attrDomain":"ENCLOSURES"
      }, {  
         "attrValue":"",
         "attrName":"REQUEST_GUID",
         "attrDomain":"IRS_INFO"
      }, {  
         "attrValue":"123456.0",
         "attrName":"ANNUAL_SALE",
         "attrDomain":"SALES INFORMATION"
      }, {  
         "attrValue":"75",
         "attrName":"HI_TKT",
         "attrDomain":"SALES INFORMATION"
      }, {  
         "attrValue":"70",
         "attrName":"INTERNET",
         "attrDomain":"SALES INFORMATION"
      }, {  
         "attrValue":"20",
         "attrName":"PHONE",
         "attrDomain":"SALES INFORMATION"
      }, {  
         "attrValue":"10",
         "attrName":"SWIPED",
         "attrDomain":"SALES INFORMATION"
      }
   ],
   "productList":[  
      {  
         "mpaProductKey":"mcLicenseFee",
         "value":0.0217
      }, {  
         "mpaProductKey":"mcCrossBorderFee",
         "value":0.85
      }, {  
         "mpaProductKey":"visaIntlUSD",
         "value":1.05
      }, {  
         "mpaProductKey":"visaIntlNonUSD",
         "value":1.45
      }, {  
         "mpaProductKey":"visaCreditRateTier2",
         "value":2.55
      }, {  
         "mpaProductKey":"visaDebitRateTier2",
         "value":2.55
      }, {  
         "mpaProductKey":"visaCreditNonQualRateTier2",
         "value":4.01
      }, {  
         "mpaProductKey":"visaDebitNonQualRateTier2",
         "value":4.01
      }, {  
         "mpaProductKey":"unbundledDebitFee",
         "value":0.39
      }, {  
         "mpaProductKey":"voiceAuthFee",
         "value":0.75
      }, {  
         "mpaProductKey":"mcNetworkAccessFee",
         "value":0.034
      }, {  
         "mpaProductKey":"visaCreditFeeTier",
         "value":0.29
      }, {  
         "mpaProductKey":"visaDebitNonQualFeeTier",
         "value":0.29
      }, {  
         "mpaProductKey":"transarmorDataProtection",
         "value":0
      }, {  
         "mpaProductKey":"visaCreditNonQualFeeTier",
         "value":0.29
      }, {  
         "mpaProductKey":"visaDebitFeeTier",
         "value":0.29
      }, {  
         "mpaProductKey":"cloverServiceFee",
         "value":29.95
      }, {  
         "mpaProductKey":"applicationFee",
         "value":149
      }, {  
         "mpaProductKey":"debitStartUp",
         "value":5E+1
      }, {  
         "mpaProductKey":"minimumProcessingFee",
         "value":25
      }, {  
         "mpaProductKey":"chargebackFee",
         "value":25
      }, {  
         "mpaProductKey":"achRejectFee",
         "value":25
      }, {  
         "mpaProductKey":"batchSettlementFee",
         "value":0.39
      }, {  
         "mpaProductKey":"avsFee",
         "value":0.1
      }, {  
         "mpaProductKey":"busAdvPkg",
         "value":9.95
      }, {  
         "mpaProductKey":"transarmorSolution",
         "value":19.95
      }
   ],
   "equipmentList":[  
      {  
         "term":"LT36",
         "fullNameTerm":"36 Month Lease",
         "quantity":"1",
         "equipmentType":"IBUNDLE",
         "industryType":"RETAIL",
         "modelName":"Clover Mini 3G/WiFi",
         "unitPrice":"22.93000",
         "leaseSum":45.86,
         "totalCostToLease":1650.96,
         "leaseTerm":36
      }, {  
         "term":"P",
         "fullNameTerm":"Purchased",
         "quantity":"1",
         "equipmentType":"IBUNDLE",
         "industryType":"RETAIL",
         "modelName":"Clover Mobile 3G/WiFi Package",
         "unitPrice":"749.00000",
         "leaseSum":0,
         "totalCostToLease":0,
         "leaseTerm":null
      }
   ],
   "equipmentListLease":[  
      {  
         "term":"LT36",
         "fullNameTerm":"36 Month Lease",
         "quantity":"1",
         "equipmentType":"IBUNDLE",
         "industryType":"RETAIL",
         "modelName":"Clover Mini 3G/WiFi",
         "unitPrice":"22.93000",
         "leaseSum":45.86,
         "totalCostToLease":1650.96,
         "leaseTerm":36
      }
   ]
}

This endpoint retrieves all information for the Merchant Agreement that you can display to the applicant for their final “signature.”

Request

GET /marketplace/v1/contracts/{orderId}/agreement

In the URL, use the orderId as it was returned in the response of the POST Application/Checkout API.

Parameter Required Data Type Description
no input

Response

The endpoint returns an object containing values entered and validated in previous endpoints such as POST Application/Update and POST Application/Checkout.

Parameter Data Type Description
legalName string Legal business name.
dbaName string DBA name.
taxIdMask string Masked value of taxId entered in POST Application/Update with last 4 digits visible.
mcc string MCC Code.
yearsInBusiness long The year the business started (represented by January 1 YYYY 00:00:00 GMT). Unix Timestamp in milliseconds in GMT.
organizationTypeReferenceCode string Organization type represented by an abbreviated code. See possible values here.
productDescription string Label/description for the MCC code.
createdByCoId string Created-by company ID.
phoneNo string Business phone number.
createdDate long Creation date of the merchant account record. Unix Timestamp in milliseconds in GMT.
emvEnabled boolean EMV option for processing enabled flag. true: enabled, false: not enabled.
debitEnabled boolean Debit option for processing enabled flag. true: enabled, false: not enabled.
amexEnabled boolean American Express option for processing enabled flag. true: enabled, false: not enabled.
discoverEnabled boolean Discover option for processing enabled flag. true: enabled, false: not enabled.
amexAnnualVolume double Actual or estimated annual American Express credit card transaction volume in USD.
averageTicket double Actual or estimated average ticket price in USD.
industryType string Industry Category used to determine the MCC code: name attribute of the Business Category.
orderStatus string Status of the order and/or merchant application.
employeeInformation array Array of object(s) containing information about the owner(s) of the business.
firstName string Owner’s first name.
lastName string Owner’s last name.
dateOfBirth string Owner’s date of birth in “YYYY-MM-DD” format.
title string Owner’s title in the business.
ssn string Base64 encoded value of Social Security Number.
ssnMasked string Masked value of Social Security Number with last 4 digits visible.
yearsAtBusiness long Year since the business has been operating at the current location (represented by January 1 YYYY 00:00:00 GMT). Unix Timestamp in milliseconds in GMT.
contactsInformation array Array of object(s) containing the ACH information abaNumber and accountNumber.
abaNumber string Base64 encoded value of the ABA routing transit number.
abaMasked string Masked value of the ABA routing transit number with last 4 digits visible.
accountNumber string Base64 encoded value of the checking account number.
accountNumberMasked string Masked value of the checking account number with last 4 digits visible.
instName string Bank name as returned by the validation service of the abaNumber.
merchantContactInformation array Array of object(s) containing business information.
contactType string The type of contact for the set of data for this contact object. Possible values are "CORPORATE": business info, "LOCATION": merchant/personal info, "SHIP-TO": shipping info.
state string State the business is located in, in abbreviated format. i.e. for California send "CA".
postalCode string Business ZIP code.
address1 string Street address of the business.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite etc.
email string Primary contact email address.
url string URL of business website, can be populated from same input as businessWebsite.
mobile string Primary contact cell phone number.
country string Country the business is located in.
voice string Primary contact phone number OR business primary phone number.
name string Contact information First and Last name.
companyName string Business name, same as name entered in POST Application/Update.
city string City the business is located in.
merchantAttributesInformation array An array of all merchant attributes based on a given orderId.
attrValue string Numeric value belonging to a specific domain/name combination in merchant attributes.
attrName string Name for merchant attributes. See possible values here.
attrDomain string Domain for merchant attributes. Possible values: "SALES INFORMATION", "IRS_INFO", "ENCLOSURES", "CUSTOMER SETUP", "CORPORATE", "CORP INFO".
productList array Array of object(s) each representing a processing product by key-value pairs.
mpaProductKey string Key description of processing product.
value string Numeric value, identifier of the processing product.
equipmentList array Array of object(s) each representing an equipment product.
term string purchaseType eg: L48, P, etc. See list of possible values here.
fullNameTerm string purchaseTypeLabel eg: Purchase, Rent, Lease etc. See list of possible values here.
quantity string Quantity selected.
equipmentType string productType See list of possible values here.
industryType string Same as industryType above. Industry Category used to determine the MCC code: name attribute of the Business Category.
modelName string productName: Product name.
unitPrice string Unit price for a product to be collected (usually as a one-time payment) in USD.
leaseSum float if term is “L##”: Amount to be collected on a recurring basis for leasing the product.
totalCostToLease float if term is “L##”: the sum of all (leaseSum) payments to lease over the leaseTerm.
leaseTerm integer if term is “L##”: number of payments to be made.
equipmentListLease array Array of object(s) each representing an equipment product that is to be leased.
term string purchaseType eg: "L48", P, etc. See list of possible values here.
fullNameTerm string purchaseTypeLabel eg: Purchase, Rent, Lease etc. See list of possible values here.
quantity string Quantity selected
equipmentType string productType See list of possible values here.
industryType string Same as industryType above. Industry Category used to determine the MCC code: name attribute of the Business Category.
unitPrice string Unit price for a product to be collected (usually as a one-time payment) in USD.
leaseSum float Amount to be collected on a recurring basis for leasing the product.
totalCostToLease float The sum of all (leaseSum) payments to lease over the leaseTerm.
leaseTerm integer Number of payments to be made.

Possible values for attrName

All possible values that are used in the Merchant Agreement are listed below.

Value Meaning
"SWIPED" Percentage of payments/transactions made face to face.
"PHONE" Percentage of payments/transactions made by phone or email.
"INTERNET" Percentage of payments/transactions made on the internet.
"HI_TKT" Actual or estimated high ticket price in USD.
"ANNUAL_SALE" Actual or estimated annual credit card transaction volume in USD.
"URL_TEXT" URL of business website.
"IRS_FRGN_IND" Indicates if the business can claim foreign status according to IRS regulations.
"IRS_FIL_NM" IRS tax filing name for the business.
"INC_STATE" State of incorporation in abbreviated format. i.e. for California send "CA".

POST Application/Contractdocument

# Don't forget to add your HMAC Authorization Headers

# Note: the "document" string below is an incomplete example 
data = {
  "orderId":"00000",
  "document":"JVBERi0xLjQKJeHp69MKMSAwIG9iago8PC9DcmVhdG9yIChNb3ppbGxhLzUuMCBcK . . . "
}

endpoint = "/marketplace/v1/application/contractdocument"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)
# Don't forget to add your HMAC Authorization Headers

# Note: the "document" string below is an incomplete example 
ENDPOINT="$URL/marketplace/v1/application/contractdocument"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{
  "orderId":"00000",
  "document":"JVBERi0xLjQKJeHp69MKMSAwIG9iago8PC9DcmVhdG9yIChNb3ppbGxhLzUuMCBcK . . . "
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers

// Note: the "document" string below is an incomplete example 
var options = { method: 'POST',
  url: url + '/marketplace/v1/application/contractdocument',
  headers: getAuthenticationHeaders(),
  body: {
    "orderId":"00000",
    "document":"JVBERi0xLjQKJeHp69MKMSAwIG9iago8PC9DcmVhdG9yIChNb3ppbGxhLzUuMCBcK . . . "
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});
// Don't forget to add your HMAC Authorization Headers

// Note: the value for the "document" parameter in the string below is an incomplete example 
try {
  String jsonString = "{\n" +
        "  \"orderId\":\"00000\"\n" +
        "  \"document\": \"JVBERi0xLjQKJeHp69MKMSAwIG9iago8PC9DcmVhdG9yIChNb3ppbGxhLzUuMCBcK . . . \"\n" +
        "}";


  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/application/contractdocument", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

# Note: the "document" string below is an incomplete example
$data = array (
  'orderId' => '00000',
  'document' => 'JVBERi0xLjQKJeHp69MKMSAwIG9iago8PC9DcmVhdG9yIChNb3ppbGxhLzUuMCBcK . . . '
);

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/application/contractdocument");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
curl_close($ch);

?>

See a complete example payload (contractdocument.json) on Github.


The above command returns JSON structured like this:

{
  "message": "document uploaded"
}

This endpoint submits the Merchant Application. It takes a document in Base64 format and uploads it to First Data as the “Merchant Agreement” for a specific orderId. This is the last step in the Merchant Application process as it submits all order data necessary for First Data to determine the merchant’s eligibility for payment processing.

Request

POST /marketplace/v1/application/contractdocument

The endpoint takes a JSON object as input containing the orderId and an image of the contract document containing user(s) signature(s).

Parameter Required Data Type Description
orderId string orderId as string as it was returned in the response of the POST Application/Checkout API.
document string Base64 encoded PDF of the contract document.

Response

The endpoint returns an object containing a string which is the confirmation for the submission.

Parameter Data Type Description
message string Confirmation that the document was successfully uploaded.

This is the final step in the Merchant Application process.

After the contract document is submitted, the merchant can be directed to a page which confirms that the Application has been submitted.

POST Application/Signup

# Don't forget to add your HMAC Authorization Headers

# Note: the "document" string below is an incomplete example 
data = { 
  "transactionInfo": {  
    "mccTypes": "Business to Business (Supplies)",
    "mcc": "5978",
    "annualVolume": 300000,
    "averageTicket": 10,
    "highestTicket": 100,
    "category": "RETAIL"
  },
  "cartDetails": {  
    "data": [{  
        "id": 74042,
        "name": "Clover Mini 3G/WiFi",
        "price": 649,
        "term": "P",
        "qty": 1,
        "productType": "Terminal"
      }, {  
        "id": 10013,
        "name": "Visa/MasterCard",
        "price": 0,
        "term": "P",
        "qty": 1,
        "productType": "ACQUIRING"
      }, {  
        "id": 10022,
        "name": "Debit",
        "price": 0,
        "term": "P",
        "qty": 1,
        "productType": "ACQUIRING"
    }],
    "amount": 649,
    "shipping_amount": 19.99,
    "tax": 0,
    "taxPercent": -2,
    "total": 668.99,
    "shipping_option_id": 1,
    "purchaseEnabled": true,
    "total_qty": 1
  },
  "contactInformation": [{  
      "contactType": "LOCATION",
      "address1": "123 Main Street",
      "city": "Beverly Hills",
      "state": "CA",
      "postalCode": "90210",
      "country": "USA",
      "email": "johndoe@email.com",
      "phone": "1234567890",
      "url": "jonhnsbusinesssupplies.com"
    }, {  
      "contactType": "CORPORATE",
      "address1": "123 Main Street",
      "city": "Beverly Hills",
      "state": "CA",
      "postalCode": "90210",
      "country": "USA",
      "email": "johndoe@email.com",
      "phone": "1234567890",
      "url": "jonhnsbusinesssupplies.com"
  }],
  "merchantAttributes": [{  
      "highestTicket": 100,
      "faceToFace": "90",
      "phoneOrEmail": "5",
      "internet": "5",
      "stateOfIncorporation": "CA",
      "taxFilingName": "John Business Supplies, Inc.",
      "foreignEntityOption": "N",
      "tinRequestedGuid": "17487900F244257DA",
      "dbaName": "John's Business Supplies",
      "legalName": "John's Business Supplies",
      "employeeIdentificationNumber": "989898989",
      "yearsInBusiness": "2006-06-01",
      "yearsAtLocation":" 2006-06-01",
      "organizationType": "Private corporation"
  }],
  "bankInformation": [{  
      "instName": "JPMORGAN CHASE BANK, NA",
      "abaNumber": "122100024",
      "accountNumber": "123567890",
      "ordinal": 2
  }],
  "ownerInformation":[{  
      "lastName": "Smith",
      "firstName": "John",
      "ssn": "989898989",
      "dateOfBirth": "1983-03-16",
      "title": "PARTNER",
      "homeContactId": "111",
      "taxId": "989898989"
  }]
}

endpoint = "/marketplace/v1/application/signup"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)
# Don't forget to add your HMAC Authorization Headers

# Note: the "document" string below is an incomplete example 
ENDPOINT="$URL/marketplace/v1/application/signup"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '{ 
  "transactionInfo": {  
    "mccTypes": "Business to Business (Supplies)",
    "mcc": "5978",
    "annualVolume": 300000,
    "averageTicket": 10,
    "highestTicket": 100,
    "category": "RETAIL"
  },
  "cartDetails": {  
    "data": [{  
        "id": 74042,
        "name": "Clover Mini 3G/WiFi",
        "price": 649,
        "term": "P",
        "qty": 1,
        "productType": "Terminal"
      }, {  
        "id": 10013,
        "name": "Visa/MasterCard",
        "price": 0,
        "term": "P",
        "qty": 1,
        "productType": "ACQUIRING"
      }, {  
        "id": 10022,
        "name": "Debit",
        "price": 0,
        "term": "P",
        "qty": 1,
        "productType": "ACQUIRING"
    }],
    "amount": 649,
    "shipping_amount": 19.99,
    "tax": 0,
    "taxPercent": -2,
    "total": 668.99,
    "shipping_option_id": 1,
    "purchaseEnabled": true,
    "total_qty": 1
  },
  "contactInformation": [{  
      "contactType": "LOCATION",
      "address1": "123 Main Street",
      "city": "Beverly Hills",
      "state": "CA",
      "postalCode": "90210",
      "country": "USA",
      "email": "johndoe@email.com",
      "phone": "1234567890",
      "url": "jonhnsbusinesssupplies.com"
    }, {  
      "contactType": "CORPORATE",
      "address1": "123 Main Street",
      "city": "Beverly Hills",
      "state": "CA",
      "postalCode": "90210",
      "country": "USA",
      "email": "johndoe@email.com",
      "phone": "1234567890",
      "url": "jonhnsbusinesssupplies.com"
  }],
  "merchantAttributes": [{  
      "highestTicket": 100,
      "faceToFace": "90",
      "phoneOrEmail": "5",
      "internet": "5",
      "stateOfIncorporation": "CA",
      "taxFilingName": "John Business Supplies, Inc.",
      "foreignEntityOption": "N",
      "tinRequestedGuid": "17487900F244257DA",
      "dbaName": "John's Business Supplies",
      "legalName": "John's Business Supplies",
      "employeeIdentificationNumber": "989898989",
      "yearsInBusiness": "2006-06-01",
      "yearsAtLocation":" 2006-06-01",
      "organizationType": "Private corporation"
  }],
  "bankInformation": [{  
      "instName": "JPMORGAN CHASE BANK, NA",
      "abaNumber": "122100024",
      "accountNumber": "123567890",
      "ordinal": 2
  }],
  "ownerInformation":[{  
      "lastName": "Smith",
      "firstName": "John",
      "ssn": "989898989",
      "dateOfBirth": "1983-03-16",
      "title": "PARTNER",
      "homeContactId": "111",
      "taxId": "989898989"
  }]
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers

// Note: the "document" string below is an incomplete example 
var options = { method: 'POST',
  url: url + '/marketplace/v1/application/signup',
  headers: getAuthenticationHeaders(),
  body: {  
  "transactionInfo": {  
    "mccTypes": "Business to Business (Supplies)",
    "mcc": "5978",
    "annualVolume": 300000,
    "averageTicket": 10,
    "highestTicket": 100,
    "category": "RETAIL"
  },
  "cartDetails": {  
    "data": [{  
        "id": 74042,
        "name": "Clover Mini 3G/WiFi",
        "price": 649,
        "term": "P",
        "qty": 1,
        "productType": "Terminal"
      }, {  
        "id": 10013,
        "name": "Visa/MasterCard",
        "price": 0,
        "term": "P",
        "qty": 1,
        "productType": "ACQUIRING"
      }, {  
        "id": 10022,
        "name": "Debit",
        "price": 0,
        "term": "P",
        "qty": 1,
        "productType": "ACQUIRING"
    }],
    "amount": 649,
    "shipping_amount": 19.99,
    "tax": 0,
    "taxPercent": -2,
    "total": 668.99,
    "shipping_option_id": 1,
    "purchaseEnabled": true,
    "total_qty": 1
  },
  "contactInformation": [{  
      "contactType": "LOCATION",
      "address1": "123 Main Street",
      "city": "Beverly Hills",
      "state": "CA",
      "postalCode": "90210",
      "country": "USA",
      "email": "johndoe@email.com",
      "phone": "1234567890",
      "url": "jonhnsbusinesssupplies.com"
    }, {  
      "contactType": "CORPORATE",
      "address1": "123 Main Street",
      "city": "Beverly Hills",
      "state": "CA",
      "postalCode": "90210",
      "country": "USA",
      "email": "johndoe@email.com",
      "phone": "1234567890",
      "url": "jonhnsbusinesssupplies.com"
  }],
  "merchantAttributes": [{  
      "highestTicket": 100,
      "faceToFace": "90",
      "phoneOrEmail": "5",
      "internet": "5",
      "stateOfIncorporation": "CA",
      "taxFilingName": "John Business Supplies, Inc.",
      "foreignEntityOption": "N",
      "tinRequestedGuid": "17487900F244257DA",
      "dbaName": "John's Business Supplies",
      "legalName": "John's Business Supplies",
      "employeeIdentificationNumber": "989898989",
      "yearsInBusiness": "2006-06-01",
      "yearsAtLocation":" 2006-06-01",
      "organizationType": "Private corporation"
  }],
  "bankInformation": [{  
      "instName": "JPMORGAN CHASE BANK, NA",
      "abaNumber": "122100024",
      "accountNumber": "123567890",
      "ordinal": 2
  }],
  "ownerInformation":[{  
      "lastName": "Smith",
      "firstName": "John",
      "ssn": "989898989",
      "dateOfBirth": "1983-03-16",
      "title": "PARTNER",
      "homeContactId": "111",
      "taxId": "989898989"
  }]
},
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});
// Don't forget to add your HMAC Authorization Headers

// Note: the value for the "document" parameter in the string below is an incomplete example 
try {
  String jsonString = "{\n" +
        "  \"transactionInfo\": {  \n" +
        "    \"mccTypes\": \"Business to Business (Supplies)\",\n" +
        "    \"mcc\": \"5978\",\n" +
        "    \"annualVolume\": 300000,\n" +
        "    \"averageTicket\": 10,\n" +
        "    \"highestTicket\": 100,\n" +
        "    \"category\": \"RETAIL\"\n" +
        "  },\n" +
        "  \"cartDetails\": {  \n" +
        "    \"data\": [{  \n" +
        "        \"id\": 74042,\n" +
        "        \"name\": \"Clover Mini 3G/WiFi\",\n" +
        "        \"price\": 649,\n" +
        "        \"term\": \"P\",\n" +
        "        \"qty\": 1,\n" +
        "        \"productType\": \"Terminal\"\n" +
        "      }, {  \n" +
        "        \"id\": 10013,\n" +
        "        \"name\": \"Visa/MasterCard\",\n" +
        "        \"price\": 0,\n" +
        "        \"term\": \"P\",\n" +
        "        \"qty\": 1,\n" +
        "        \"productType\": \"ACQUIRING\"\n" +
        "      }, {  \n" +
        "        \"id\": 10022,\n" +
        "        \"name\": \"Debit\",\n" +
        "        \"price\": 0,\n" +
        "        \"term\": \"P\",\n" +
        "        \"qty\": 1,\n" +
        "        \"productType\": \"ACQUIRING\"\n" +
        "    }],\n" +
        "    \"amount\": 649,\n" +
        "    \"shipping_amount\": 19.99,\n" +
        "    \"tax\": 0,\n" +
        "    \"taxPercent\": -2,\n" +
        "    \"total\": 668.99,\n" +
        "    \"shipping_option_id\": 1,\n" +
        "    \"purchaseEnabled\": true,\n" +
        "    \"total_qty\": 1\n" +
        "  },\n" +
        "  \"contactInformation\": [{  \n" +
        "      \"contactType\": \"LOCATION\",\n" +
        "      \"address1\": \"123 Main Street\",\n" +
        "      \"city\": \"Beverly Hills\",\n" +
        "      \"state\": \"CA\",\n" +
        "      \"postalCode\": \"90210\",\n" +
        "      \"country\": \"USA\",\n" +
        "      \"email\": \"johndoe@email.com\",\n" +
        "      \"phone\": \"1234567890\",\n" +
        "      \"url\": \"jonhnsbusinesssupplies.com\"\n" +
        "    }, {  \n" +
        "      \"contactType\": \"CORPORATE\",\n" +
        "      \"address1\": \"123 Main Street\",\n" +
        "      \"city\": \"Beverly Hills\",\n" +
        "      \"state\": \"CA\",\n" +
        "      \"postalCode\": \"90210\",\n" +
        "      \"country\": \"USA\",\n" +
        "      \"email\": \"johndoe@email.com\",\n" +
        "      \"phone\": \"1234567890\",\n" +
        "      \"url\": \"jonhnsbusinesssupplies.com\"\n" +
        "  }],\n" +
        "  \"merchantAttributes\": [{  \n" +
        "      \"highestTicket\": 100,\n" +
        "      \"faceToFace\": \"90\",\n" +
        "      \"phoneOrEmail\": \"5\",\n" +
        "      \"internet\": \"5\",\n" +
        "      \"stateOfIncorporation\": \"CA\",\n" +
        "      \"taxFilingName\": \"John Business Supplies, Inc.\",\n" +
        "      \"foreignEntityOption\": \"N\",\n" +
        "      \"tinRequestedGuid\": \"17487900F244257DA\",\n" +
        "      \"dbaName\": \"John's Business Supplies\",\n" +
        "      \"legalName\": \"John's Business Supplies\",\n" +
        "      \"employeeIdentificationNumber\": \"989898989\",\n" +
        "      \"yearsInBusiness\": \"2006-06-01\",\n" +
        "      \"yearsAtLocation\":\" 2006-06-01\",\n" +
        "      \"organizationType\": \"Private corporation\"\n" +
        "  }],\n" +
        "  \"bankInformation\": [{  \n" +
        "      \"instName\": \"JPMORGAN CHASE BANK, NA\",\n" +
        "      \"abaNumber\": \"122100024\",\n" +
        "      \"accountNumber\": \"123567890\",\n" +
        "      \"ordinal\": 2\n" +
        "  }],\n" +
        "  \"ownerInformation\":[{  \n" +
        "      \"lastName\": \"Smith\",\n" +
        "      \"firstName\": \"John\",\n" +
        "      \"ssn\": \"989898989\",\n" +
        "      \"dateOfBirth\": \"1983-03-16\",\n" +
        "      \"title\": \"PARTNER\",\n" +
        "      \"homeContactId\": \"111\",\n" +
        "      \"taxId\": \"989898989\"\n" +
        "  }]\n" +
        "}";


  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/application/signup", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

# Note: the "document" string below is an incomplete example
$data = (
  'transactionInfo' => 
  array (
    'mccTypes' => 'Business to Business (Supplies)',
    'mcc' => '5978',
    'annualVolume' => 300000,
    'averageTicket' => 10,
    'highestTicket' => 100,
    'category' => 'RETAIL',
  ),
  'cartDetails' => 
  array (
    'data' => 
    array (
      0 => 
      array (
        'id' => 74042,
        'name' => 'Clover Mini 3G/WiFi',
        'price' => 649,
        'term' => 'P',
        'qty' => 1,
        'productType' => 'Terminal',
      ),
      1 => 
      array (
        'id' => 10013,
        'name' => 'Visa/MasterCard',
        'price' => 0,
        'term' => 'P',
        'qty' => 1,
        'productType' => 'ACQUIRING',
      ),
      2 => 
      array (
        'id' => 10022,
        'name' => 'Debit',
        'price' => 0,
        'term' => 'P',
        'qty' => 1,
        'productType' => 'ACQUIRING',
      ),
    ),
    'amount' => 649,
    'shipping_amount' => 19.989999999999998,
    'tax' => 0,
    'taxPercent' => -2,
    'total' => 668.99000000000001,
    'shipping_option_id' => 1,
    'purchaseEnabled' => true,
    'total_qty' => 1,
  ),
  'contactInformation' => 
  array (
    0 => 
    array (
      'contactType' => 'LOCATION',
      'address1' => '123 Main Street',
      'city' => 'Beverly Hills',
      'state' => 'CA',
      'postalCode' => '90210',
      'country' => 'USA',
      'email' => 'johndoe@email.com',
      'phone' => '1234567890',
      'url' => 'jonhnsbusinesssupplies.com',
    ),
    1 => 
    array (
      'contactType' => 'CORPORATE',
      'address1' => '123 Main Street',
      'city' => 'Beverly Hills',
      'state' => 'CA',
      'postalCode' => '90210',
      'country' => 'USA',
      'email' => 'johndoe@email.com',
      'phone' => '1234567890',
      'url' => 'jonhnsbusinesssupplies.com',
    ),
  ),
  'merchantAttributes' => 
  array (
    0 => 
    array (
      'highestTicket' => 100,
      'faceToFace' => '90',
      'phoneOrEmail' => '5',
      'internet' => '5',
      'stateOfIncorporation' => 'CA',
      'taxFilingName' => 'John Business Supplies, Inc.',
      'foreignEntityOption' => 'N',
      'tinRequestedGuid' => '17487900F244257DA',
      'dbaName' => 'John\'s Business Supplies',
      'legalName' => 'John\'s Business Supplies',
      'employeeIdentificationNumber' => '989898989',
      'yearsInBusiness' => '2006-06-01',
      'yearsAtLocation' => ' 2006-06-01',
      'organizationType' => 'Private corporation',
    ),
  ),
  'bankInformation' => 
  array (
    0 => 
    array (
      'instName' => 'JPMORGAN CHASE BANK, NA',
      'abaNumber' => '122100024',
      'accountNumber' => '123567890',
      'ordinal' => 2,
    ),
  ),
  'ownerInformation' => 
  array (
    0 => 
    array (
      'lastName' => 'Smith',
      'firstName' => 'John',
      'ssn' => '989898989',
      'dateOfBirth' => '1983-03-16',
      'title' => 'PARTNER',
      'homeContactId' => '111',
      'taxId' => '989898989',
    ),
  ),
);

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/application/signup");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
curl_close($ch);

?>


The above command returns JSON structured like this:

{
  "orderId": 18262
}

This endpoint allows us to validate merchant information and product data and submit an order at the same time. It serves as a combination of POST Application/Checkout and POST Application/Update, intended to be used in certain cases.

Request

POST /marketplace/v1/application/signup

The endpoint takes a JSON object as input containing merchant and transaction information and product data.

Parameter Required Data Type Description
transactionInfo object Transactions information used to determine pricing. Contains mccTypes, mcc, annualVolume, averageTicket, highestTicket and category.
mccTypes string “Merchant Category Code” MCC description (refer to: GET MCC/Category).
mcc string MCC Code (refer to: GET MCC/Category).
annualVolume long Actual or estimated annual credit card transaction volume in USD.
averageTicket long Actual or estimated average ticket price in USD.
highestTicket long Actual or estimated highest ticket price in USD.
category string Category name eg: "RETAIL/MOTO" (refer to: GET Categories).
cartDetails object Object containing the details of the Order Summary. Contains data, amount, shipping_amount, tax taxPercent, total, status, shipping_option_id, purchaseEnabled and total_qty.
data array Array of objects containing products in the cart. Contains id, name, price, term, qty and productType.
id integer productId: Numeric value that uniquely identifies each product (canonical identifier).
name string productName: Product name.
price float Unit price for a product.
term string purchaseType eg: Purchase, Rent, Lease etc. See list of possible values here.
qty integer Quantity selected.
productType string Indicates the behavior of the product, or when the merchant is charged a fee in case of “Processing/Pricing” products.
amount double Sum of prices of products in cart in USD.
shipping_amount double Amount to be charged for shipping and handling in USD.
tax double Amount of tax to be collected (based on taxPercent) in USD.
taxPercent double Tax rate in %. You may use any external service to calculate taxes based on location.
total double Total amount to be charged in USD. Sum of amount, shipping_amount and tax.
shipping_option_id integer Numeric identifier for shipping method. Default to 1. Currently only “Ground Shipping” is available, which corresponds to the value 1.
purchaseEnabled boolean Default to true.
total_qty integer Total quantity of products in the Shopping Cart.
contactInformation array Array of (minimum one) object(s), each of which represent business information for a location. Each contains contactType, address1, address2, city, state, postalCode, country, email, phone and url.
contactType string Type of location, i.e "LOCATION", "CORPORATE".
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
city string City the business is located in.
state string State the business is located in, abbreviated format. i.e. for California send "CA".
postalCode string Business ZIP code.
country string Country the business is located in.
email string Contact email address for location.
phone string Primary contact phone number OR business primary phone number.
url string URL of business website, can be populated from same input as businessWebsite.
merchantAttributes array Array of (minimum one) object(s) that is required to submit the application form containing transaction and legal information.
highestTicket long Actual or estimated highest ticket price in USD.
faceToFace string Percentage of payments/transactions made face to face (can’t exceed 100%).
phoneOrEmail string Percentage of payments/transactions made by phone or email (can’t exceed 100%).
internet string Percentage of payments/transactions made on the internet (can’t exceed 100%).
stateOfIncorporation string State of incorporation in abbreviated format. i.e. for California send "CA".
taxFilingName string IRS tax filing name for the business. Needs to be validated against employeeIdentificationNumber using the POST TIN/Validate service.
foreignEntityOption string Indicates if the business can claim foreign status according to IRS regulations. Possible values: "Y" or "N".
tinRequestedGuid string Universal ID for the request of the POST TIN/Validate service.
dbaName string DBA name.
legalName string Legal business name.
employeeIdentificationNumber string A Taxpayer Identification Number (TIN) is an identification number used by the Internal Revenue Service (IRS). Needs to be validated against taxFilingName using the POST TIN/Validate service.
yearsInBusiness string Number of years in business.
yearsAtLocation string Number of years the business has been operating at the current location.
organizationType string Organization type represented by an abbreviated code. See possible values here.
bankInformation array Array of (minimum one) object(s) that collects the ACH information.
instName string Financial institution name such as JPMORGAN CHASE BANK, etc.
abaNumber string ABA routing transit number. A nine digit code to identify a financial institution. Needs to be validated using the POST Banks/Validate service.
accountNumber string Checking account number. Usually 10-12 digit number to identify the merchant’s account.
ordinal long default to 2
ownerInformation array Array of (minimum one) object(s) to collect information about the owner(s) of the business. Contains firstName, lastName, ssn, dateOfBirth, title, homeContactId and taxId.
lastName string Owner’s last name.
firstName string Owner’s first name.
ssn string Owner’s Social Security Number in “#########” format.
dateOfBirth string Owner’s date of birth in “YYYY-MM-DD” format.
title string Owner’s title in the organization.
homeContactId string Default to "111".
taxId string Use value for ssn.

Response

The endpoint returns an object containing an integer which serves as the confirmation for the submission.

Parameter Data Type Description
orderId string Order Id. The numeric identifier to be used in the onboarding process as input to reference the order.

GET Order Status

# Don't forget to add your HMAC Authorization Headers
endpoint = "/marketplace/v1/merchantorders/12345/status"

r = requests.get(url + endpoint, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/merchantorders/12345/status"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'GET',
  url: url + '/marketplace/v1/products/74042/specs',
  headers: getAuthenticationHeaders()
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});

// Don't forget to add your HMAC Authorization Headers
HttpResponse response = null;
try {
  response = doGet("/marketplace/v1/merchantorders/12345/status");
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());
} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/merchantorders/12345/status");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
echo($res);

?>

The above command returns JSON structured like this:

{
  "orderId": "nmwDl",
  "orderstatus": "Account Approved"
}

This endpoint retrieves information about the status of the order based on its unique identifier. Depending on the status it also provides additional details, such as shipment tracking and merchant identifiers.

Request

GET /marketplace/v1/merchantorders/{orderId}/status

In the request URL, use the orderId as it was returned in the response of the POST Merchantorders API.

Parameter Required Data Type Default Description
no input

Response

The endpoint returns an object containing information about the status of the order based on the unique identifier.

Parameter Data Type Description
orderId string The unique identifier of an order returned after successful submission.
orderstatus string Status of the order. See list of possible values here.
merchantIdentifier string Primary merchant identifier. Only returned with certain statuses.
trackingnumber string Primary merchant identifier. Only returned with certain statuses.

Possible values for orderstatus

Value Meaning and Behavior
"Order Pending"
"Application Submitted"
"Application Signed"
"Approval in progress" Credit underwiting is in progress.
"Account Pending" The account was not auto approved, and the underwriting team will perform manual diligence.
"Account Approved" Account is approved. This response will include the merchantIdentifier value.
"Account set up in progress" Entitlement set up is complete.
"Hardware is being shipped" Equipment is being shipped to the merchant. This response will include the trackingnumber value.
"Account Ready for processing"

POST Merchantorders/Status v3

# Don't forget to add your HMAC Authorization Headers

# Note: the "document" string below is an incomplete example 
data = {
         "orderIds": [
           "6bdM7"
         ]
       }

endpoint = "marketplace/v3/merchantorders/status"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)
# Don't forget to add your HMAC Authorization Headers

# Note: the "document" string below is an incomplete example 
ENDPOINT="$URL/marketplace/v3/merchantorders/status"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '
  {
     "orderIds": [
       "6bdM7"
     ]
   }' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers

// Note: the "document" string below is an incomplete example 
var options = { method: 'POST',
  url: url + 'marketplace/v3/merchantorders/status',
  headers: getAuthenticationHeaders(),
  body: {
          "orderIds": [
            "6bdM7"
          ]
        },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});
// Don't forget to add your HMAC Authorization Headers

// Note: the value for the "document" parameter in the string below is an incomplete example 
try {
  String jsonString = "{\n  \"orderIds\": [\n    \"6bdM7\"\n  ]\n}";


  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("marketplace/v3/merchantorders/status", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

# Note: the "document" string below is an incomplete example
$data = array (
          'orderIds' => 
          array (
            0 => '6bdM7',
          ),
        );

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "marketplace/v3/merchantorders/status");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
curl_close($ch);

?>


The above command returns JSON structured like this:

{
  "orders": [
    {
      "orderId": "6bdM7",
      "lastUpdatedDate": "2020-01-27 22:03:04",
      "merchants": [
        {
          "merchantId": "6bLd1",
          "lastUpdatedDate": "2020-01-28 03:35:41",
          "status": "Shipping label created",
          "merchantIdentifier": "958236683844",
          "terminals": [
            {
              "productId": "65823",
              "productName": "Clover Register Software",
              "terminalId": "6076144",
              "shipment": {
                "shipper": "Federal Express",
                "shippedDate": "2020-01-27 00:00:00.0",
                "shippingAddressLine1": "123 DONT SHIP",
                "shippingAddressCity": "FOLSOM",
                "shippingAddressState": "PA",
                "shippingAddressZip": "19033",
                "trackingNumbers": [
                  "1496658763"
                ]
              }
            }
          ]
        }
      ],
      "orderHistory": [
        {
          "orderStatus": "Shipping label created",
          "orderStatusTimestamp": "2020-01-28 03:35:41",
          "statusComments": null
        },
        {
          "orderStatus": "Terminal - Waiting TASQ Order",
          "orderStatusTimestamp": "2020-01-27 22:59:06",
          "statusComments": null
        },
        {
          "orderStatus": "Terminal - Waiting TASQ Order",
          "orderStatusTimestamp": "2020-01-27 22:12:56",
          "statusComments": null
        },
        {
          "orderStatus": "Terminal - Waiting TASQ Order",
          "orderStatusTimestamp": "2020-01-27 22:11:51",
          "statusComments": null
        },
        {
          "orderStatus": "Account Approved",
          "orderStatusTimestamp": "2020-01-27 22:03:04",
          "statusComments": null
        },
        {
          "orderStatus": "Terminal Id created",
          "orderStatusTimestamp": "2020-01-27 22:01:45",
          "statusComments": null
        },
        {
          "orderStatus": "Terminal - Initial Review",
          "orderStatusTimestamp": "2020-01-27 22:00:49",
          "statusComments": null
        },
        {
          "orderStatus": "Account Pending",
          "orderStatusTimestamp": "2020-01-27 21:49:38",
          "statusComments": null
        },
        {
          "orderStatus": "Approval in progress",
          "orderStatusTimestamp": "2020-01-27 18:59:44",
          "statusComments": null
        },
        {
          "orderStatus": "Application Signed",
          "orderStatusTimestamp": "2020-01-27 18:56:53",
          "statusComments": null
        },
        {
          "orderStatus": "Order Pending",
          "orderStatusTimestamp": "2020-01-27 18:50:47",
          "statusComments": null
        },
        {
          "orderStatus": "Order Pending",
          "orderStatusTimestamp": "2020-01-27 18:50:41",
          "statusComments": null
        },
        {
          "orderStatus": "Order Pending",
          "orderStatusTimestamp": "2020-01-27 18:49:43",
          "statusComments": null
        },
        {
          "orderStatus": "Order Pending",
          "orderStatusTimestamp": "2020-01-27 18:46:29",
          "statusComments": null
        },
        {
          "orderStatus": "Order Pending",
          "orderStatusTimestamp": "2020-01-27 18:46:22",
          "statusComments": null
        },
        {
          "orderStatus": "Order Pending",
          "orderStatusTimestamp": "2020-01-27 18:45:21",
          "statusComments": null
        },
        {
          "orderStatus": "Review Order",
          "orderStatusTimestamp": "2020-01-27 18:43:50",
          "statusComments": null
        },
        {
          "orderStatus": "Order Pending",
          "orderStatusTimestamp": "2020-01-27 18:39:21",
          "statusComments": null
        },
        {
          "orderStatus": "Order Pending",
          "orderStatusTimestamp": "2020-01-27 18:38:28",
          "statusComments": null
        },
        {
          "orderStatus": "Order Pending",
          "orderStatusTimestamp": "2020-01-27 18:37:04",
          "statusComments": null
        },
        {
          "orderStatus": "Review Order",
          "orderStatusTimestamp": "2020-01-27 18:31:26",
          "statusComments": null
        }
      ]
    }
  ]
}

Request

POST /marketplace/v3/merchantorders/status

The endpoint takes a JSON object as input, which contains following information.

Parameter Required Data Type Description
orderIds array Array of order id.

Response

Parameter Data Type Short Description
orderId string Order identifier.
lastUpdatedDate string Last status update time.
merchants array List of Merchants for an order.
merchantId string First Data Marketplace merchant ID.
lastUpdatedDate string Last status update time.
status string Latest Status of Merchant.
merchantIdentifier string North Merchant Identifier (MID).
terminals Terminals Objects in Contract. (refer to: terminals Values).
orderHistory string List of Order Status. This Array has the complete History of the Contract from the Step one.
orderStatus string Status of the Contract. (refer to: orderStatus Values).
orderStatusTimestamp string Time Stamp details of the Status.
statusComments string Comments, if any, for the Status.

terminals values

Parameter Data Type Short Description
productId string Product ID.
productName string Name of the Product.
terminalId string Terminal Id Information from FDPOS.
shipment Shipment Object.
shipper string Shipper Details.
shippedDate string Shipped Date.
shippingAddressLine1 string Shipping Address Line.
shippingAddressLine2 string Shipping Address Line 2.
shippingAddressCity string City.
shippingAddressState string State.
shippingAddressZip string Zip Code.
trackingNumbers array Shipment Tracking Numbers.

orderStatus values

Status Name Description
Review Order Initial Contract Details Submitted.
Order Pending Location, Business, Advance Preferences Infromation Submitted.
Document Uploaded Document Uploaded for the contract.
Application Signed Application Submitted with Signatures.
Shipping label created Shipment is Progress.
Account Approved Account is approved and Merchant Identifier (MID) will be sent.
Terminal Id created Terminal Id is Created.
Pending Data Validation If any BRS Error in MAMA, MAMA Sends Notification as “BRS_ERROR”.
Approval in progress Credit Underwriting is in progress.
Account Pending The account was not auto approved, and the underwriting team will perform manual diligence.
Account Credit Declined Contract is Declined.
Account Credit Rejected Contract is Rejected in MAI. Credit Team requires more Documents/ Information from BC.

Status Specific to Diligence Workflow

Status Name Description
Workflow Initiated Marketplace workflow has started.
North Mid Generated North MID Assigned.
North Migration Initiated Transfer of merchant details to North Merchant Master.
Diligence Credit Input Sent Merchant information submitted to Diligence for credit decisioning.
Equipment fulfillment in progress FDPOS Request sent.
Credit Pending Received Credit Pending from Diligence/Sent to Diligence.
Credit Declined Received Credit Decline from Diligence.
Credit Approved Received Credit Approval from Diligence.
Credit Processing Error Technical Error in Diligence.
North MID Failed North MID Generation Failed.
North migration steps completed Transfer of merchant details to North Merchant Master completed.
North Migration Step Failed - BoardMerchant North migration error.
Pricing Override Order has Pricing Override.
Pricing Rejected Pricing rejected and sent back to BC for extra document.
Pricing Rejected and Closed Pricing rejected and order closed.
Rejected to Sales Application rejected and sent back to sales for extra documents to upload.
Updated Price & Approved Pricing Overrides Updated and request approved.

Status Specific to South

Status Name Description
Sent to VAPP Appllication Submitted to VAPP.
Sent to VAPP Failed Appilcation Submission Failed.
South Funding Setup Complete Merchant is ready for Funding.
South Migration Pending Credit Approved, Waiting for Merchant Master Boarding.

POST Cloverplans

# Don't forget to add your HMAC Authorization Headers

data = {
         "mcc": "5812",
         "productIds": [
           "88526", "88527"
         ]
       }

endpoint = "marketplace/v1/cloverplans"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)
# Don't forget to add your HMAC Authorization Headers

ENDPOINT="$URL/marketplace/v1/cloverplans"
curl -X POST -H "date: $DATE" -H "Authorization: $HMAC_AUTH" -H "Content-Type:application/json" --data '
  "{
      "mcc": "5812",
      "productIds": [
        "88526", "88527"
      ]
  }' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers

var options = { method: 'POST',
  url: url + 'marketplace/v1/cloverplans',
  headers: getAuthenticationHeaders(),
  body: {
           "mcc": "5812",
           "productIds": [
             "88526", "88527"
           ]
       },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});
// Don't forget to add your HMAC Authorization Headers

try {
  String jsonString = "{\n         \"mcc\": \"5812\",\n         \"productIds\": [\n           \"88526\", \"88527\"\n ]\n       }";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("marketplace/v1/cloverplans", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONObject json = new JSONObject(response_string);
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
          'mcc' => '5812',
          'productIds' => 
          array (
              0 => '88526',
              1 => '88527',
          ),
        );

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "marketplace/v1/cloverplans");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
curl_close($ch);

?>


The above command returns JSON structured like this:

{
    "response": [
        {
            "productId": "7PG6PX3N09NC6",
            "planId": "7PG6PX3N09NC6",
            "price": 39.95,
            "pricePerDevice": 9.95,
            "productName": "Counter Service Restaurant",
            "productShortDescription": "Counter Service Restaurant",
            "productLongDescription": "Basic payment acceptance, Restaurant features w/advanced loyalty functionality, Advanced inventory management, 24/7 support, Employee managemen, Advanced reporting capabilities",
            "imageURLS": [
                "https://s3-us-west-2.amazonaws.com/cdn-fd/resources/images/product/dev/large/CLOVER_PLANS_IMAGE/CloverImage.jpg",
                "https://s3-us-west-2.amazonaws.com/cdn-fd/resources/images/product/dev/thumb/CLOVER_PLANS_IMAGE/CloverImage.jpg"
            ]
        },
        {
            "productId": "4XSSZ26CDRG64",
            "planId": "4XSSZ26CDRG64",
            "price": 39.95,
            "pricePerDevice": 9.95,
            "productName": "Register ",
            "productShortDescription": "Register ",
            "productLongDescription": "Basic payment acceptance, Advanced inventory management, 24/7 support, Employee management, Advanced reporting capabilities, Customer rewards,  Promos and feedback features",
            "imageURLS": [
                "https://s3-us-west-2.amazonaws.com/cdn-fd/resources/images/product/dev/large/CLOVER_PLANS_IMAGE/CloverImage.jpg",
                "https://s3-us-west-2.amazonaws.com/cdn-fd/resources/images/product/dev/thumb/CLOVER_PLANS_IMAGE/CloverImage.jpg"
            ]
        },
        {
            "productId": "T822C0SA8G3ZR",
            "planId": "T822C0SA8G3ZR",
            "price": 69.95,
            "pricePerDevice": 9.95,
            "productName": "Table Service Restaurant ",
            "productShortDescription": "Table Service Restaurant ",
            "productLongDescription": "Basic payment acceptance, Restaurant features w/advanced loyalty functionality, Advanced inventory management, 24/7 support, Table mapping and layouts, Advanced reporting capabilities",
            "imageURLS": [
                "https://s3-us-west-2.amazonaws.com/cdn-fd/resources/images/product/dev/large/CLOVER_PLANS_IMAGE/CloverImage.jpg",
                "https://s3-us-west-2.amazonaws.com/cdn-fd/resources/images/product/dev/thumb/CLOVER_PLANS_IMAGE/CloverImage.jpg"
            ]
        }
    ]
}

This endpoint allows us to fetch clover plans for a given criteria.

Request

POST marketplace/v1/cloverplans

The endpoint takes a JSON object as input.

Parameter Required Data Type
mcc string
productIds Array
orderId string

Response

The endpoint returns an object containing clover plans for a given criteria.

Parameter Data Type Description
productId string
planId string
price double
pricePerDevice double
productName String
productShortDescription string
productLongDescription string
imageURLS Array

POST Shipping Options

# Don't forget to add your HMAC Authorization Headers
data =  {
  "contact": {
    "address1": "STREETS",
    "address2": "",
    "city": "Omaha",
    "state": "NE",
    "postalCode": "68106",
    "country": "USA"
  },
  "productsToShips": [
    {
      "productId": "90622",
      "quantity": 1
    },
    {
      "productId": "89262",
      "quantity": 1
    }
  ],
  "orderId": "E0xgE"
}

endpoint = "/marketplace/v1/shippingoptions"

r = requests.post(url + endpoint, json=data, headers=headers)
print(r)

# Don't forget to add your HMAC Authorization Headers
ENDPOINT="$URL/marketplace/v1/shippingoptions"
curl -X GET -H "date: $DATE" -H "Authorization: $HMAC_AUTH" $ENDPOINT

"Content-Type:application/json" --data ' {
  "contact": {
    "address1": "STREETS",
    "address2": "",
    "city": "Omaha",
    "state": "NE",
    "postalCode": "68106",
    "country": "USA"
  },
  "productsToShips": [
    {
      "productId": "90622",
      "quantity": 1
    },
    {
      "productId": "89262",
      "quantity": 1
    }
  ],
  "orderId": "E0xgE"
}' $ENDPOINT
// Don't forget to add your HMAC Authorization Headers
var options = {
  method: 'POST',
  url: url + '/marketplace/v1/shippingoptions',
  headers: getAuthenticationHeaders(),
  body:  {
  "contact": {
    "address1": "STREETS",
    "address2": "",
    "city": "Omaha",
    "state": "NE",
    "postalCode": "68106",
    "country": "USA"
  },
  "productsToShips": [
    {
      "productId": "90622",
      "quantity": 1
    },
    {
      "productId": "89262",
      "quantity": 1
    }
  ],
  "orderId": "E0xgE"
},
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response);

});
// Don't forget to add your HMAC Authorization Headers
try {
  String jsonString = "{\"contact\":{
    \"address1\":\"STREETS\",
    \"address2\":\"\",
    \"city\":\"Omaha\",
    \"state\":\"NE\",
    \"postalCode\":\"68106\",
    \"country\":\"USA\"},
    \"productsToShips\":
    [{\"productId\":\"90622\",
    \"quantity\":1},
    {\"productId\":\"89262\",\"quantity\":1}],
    \"orderId\":\"E0xgE\"}";

  StringEntity payload = new StringEntity(jsonString);

  HttpResponse response = doPost("/marketplace/v1/shippingoptions", payload);
  int statusCode = response.getStatusLine().getStatusCode();
  String response_string = EntityUtils.toString(response.getEntity());
  JSONArray json = new JSONArray(response_string);  
  System.out.println("json:" + json.toString());

} catch (Exception e) {
  e.printStackTrace();
}
<?php
# Don't forget to add your HMAC Authorization Headers

$data = array (
  'contact' => 
  array (
    'address1' => 'STREETS',
    'address2' => '',
    'city' => 'Omaha',
    'state' => 'NE',
    'postalCode' => '68106',
    'country' => 'USA',
  ),
  'productsToShips' => 
  array (
    0 => 
    array (
      'productId' => '90622',
      'quantity' => 1,
    ),
    1 => 
    array (
      'productId' => '89262',
      'quantity' => 1,
    ),
  ),
  'orderId' => 'E0xgE',
)

$data_json = json_encode($data);
$headers = array(
    'date: ' . $date,
    'Authorization: ' . $hmacAuth,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_json)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/marketplace/v1/shippingoptions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
$res = curl_exec($ch);
echo($res);

?>

Example payload:equipment.json

{
  "contact": {
    "address1": "STREETS",
    "address2": "",
    "city": "Omaha",
    "state": "NE",
    "postalCode": "68106",
    "country": "USA"
  },
  "productsToShips": [
    {
      "productId": "90622",
      "quantity": 1
    },
    {
      "productId": "89262",
      "quantity": 1
    }
  ],
  "orderId": "E0xgE"
}

The above command returns JSON structured like this (partial response):

{
  "addressVerificationResult": {
    "resolvedAddress": {
      "streetAddressLine1": "3242 DARWIN DR",
      "streetAddressLine2": null,
      "city": "FREMONT",
      "state": "CA",
      "zip": "94555",
      "countryCode": "US"
    },
    "addressValid": true
  },
  "shippingOptions": [
    {
      "id": 93226,
      "productId": "50714",
      "shippingOption": "2da",
      "carrier": null,
      "carrierCode": null,
      "productShortDescription": "Shipping Fee - 2 Day Service",
      "productLongDescription": "Shipping Fee - 2 Day Service",
      "defaultPurchaseType": "P",
      "shippingCost": 19.95,
      "": null,
      "default": false
    },
    {
      "id": 93227,
      "productId": "50715",
      "shippingOption": "1da",
      "carrier": null,
      "carrierCode": null,
      "productShortDescription": "Shipping Fee - Priority Overnight",
      "productLongDescription": "Shipping Fee - Priority Overnight",
      "defaultPurchaseType": "P",
      "shippingCost": 65,
      "deliveryTimestamp": null,
      "default": false
    },
    {
      "id": 93228,
      "productId": "50732",
      "shippingOption": "1D SHIPPING FEE",
      "carrier": null,
      "carrierCode": null,
      "productShortDescription": "1 Day Service (Standard Overnight)",
      "productLongDescription": "1 Day Service (Standard Overnight)",
      "defaultPurchaseType": "P",
      "shippingCost": 65,
      "deliveryTimestamp": null,
      "default": false
    },
    {
      "id": 93229,
      "productId": "50733",
      "shippingOption": "1d-S",
      "carrier": null,
      "carrierCode": null,
      "productShortDescription": "Shipping Fee - Saturday Service",
      "productLongDescription": "Shipping Fee - Saturday Service",
      "defaultPurchaseType": "P",
      "shippingCost": 65,
      "deliveryTimestamp": null,
      "default": false
    }
  ],
  "success": false,
  "message": "No applicable shipping options found",
  "errorCode": "50"
}

Request

POST /marketplace/v1/shippingoptions

The endpoint takes a JSON object as input. Refer to the “Example request payload” for the JSON structure of the request payload object.

Parameter Required Data Type Description
productsToShips array Array of objects each (representing Array of products to ship) contains productId and quantity.
productId string productId:productId.
quantity string quantity: Quantity.
orderId string orderId :orderId.
contact object Contact information used for contact information. Contains address1, address2, city, state, postalCode and country.
address1 string Street address.
address2 string Second line of street address, if applicable. i.e. Unit, Floor, Suite, etc.
city string City.
state string State in abbreviated format. i.e. for California send "CA".
country string ISO Standard Country Code of the country.
postalCode string ZIP/postal code.

Response

This API returns an array of objects. Each object contains the following keyword-value pairs.

Parameter Data Type Description
streetAddressLine1 string streetAddressLine1.
streetAddressLine2 string streetAddressLine2.
city string city.
state string state.
zip string zip.
countryCode string countryCode.
addressValid boolean addressValid.
id Long Product catalog Id.
productId string product id
shippingOption string shippingOption
carrier string carrier.
carrierCode string carrierCode.
productShortDescription string productShortDescription.
productLongDescription string productLongDescription.
defaultPurchaseType string defaultPurchaseType.
shippingCost BigDecimal shippingCost.
deliveryTimestamp calendar deliveryTimestamp.
default boolean default flag true or false.
promotionAppliedMessage string promotionAppliedMessage.