...
Level I | Basic transaction data like card number, expiration date, CVV and transaction amount that is required for standard business-to-consumer (B2C) transactions and provides standard interchange rates. |
Level II | More detailed transaction data, like a sales tax and order number, is required for B2B transactions and provides can provide lower interchange rates. |
Level III | Comprehensive transaction information data like line item details and shipping , is required for high-value (large ticket) B2B transactions and provides can qualify for the lowest interchange rates. |
Major card brands Visa & MasterCard each have specific requirements that merchants must adhere to to offer them the best interchange rates. American Express and Discover do not accept direct Level II or Level III data submissions for lower interchange rates at this time.
Info |
---|
Referrers and Merchants can receive up to 40-100 basis points of reduced fees on their qualifying business and commercial card transactions. |
Tip |
---|
Tip: While not a requirement, it is recommended to submit the previous level of interchange data when submitting the following level. Example: When submitting Level III data, all Level I and Level II data requirements are already met to ensure the most visibility for Level III interchange rates. |
...
Customer Zip Code | The billing zip code on file with the customer’s credit card company. |
Customer Billing Address | The full billing address on file with the customer’s credit card company. |
Credit Card Number | The 15 (AMEX) or 16-digit credit card number shown on the customer’s card. |
Card Expiration Date | The 4-digit, MMYY-format expiration date shown on the customer’s card. |
Card CVV | The 3 or 4-digit security code shown on the customer’s card. |
...
Expand |
---|
title | Visa - Level II Data Requirements |
---|
|
Level II data must include all Level I data requirements in addition to the requirements listed below. Sales Tax and Order Information - Sales tax information for each transaction including: Customer Code | The unique identifier assigned to customers or entities within the Merchant’s records. | Merchant Zip Code | The zip code where the Merchant’s business is located. | Merchant TIN | The tax identification number issued to the Merchant by their governmental tax agencySales Tax Amount | The total amount of sales tax applied to the transaction. Note |
---|
Warning: The tax amount must be between 0.1% - 22% of the payment total to qualify. This is submitted using either a Sale or a Capture transaction type. |
| Sales Tax Indicator | Specify whether sales tax is included in the transaction amount or not | Order Number | A unique identifier used by the merchant to locate the specific transaction information. Note: “Order Number” and , “Invoice Number”, and “Customer Code” are interchangeable terms for Level II and Level III data submissions. |
Merchant Information - Details about the Merchant selling the product or service items including: Note |
---|
Warning: This field cannot be blank, null, or all zeros and must contain a relevant value. |
|
|
Expand |
---|
title | Visa - Level III Data Requirements |
---|
|
Level III data must include all Level II data requirements in addition to the requirements listed below. Order (Line) Item Details - Must provide detailed information for each item listed in a transaction including: Description | A detailed Item | Name or title of the item. | Description | A detailed description of the product or service sold. | Commodity Code | Standardized We recommend using the standardized numerical 7-digit NIGP commodity code used to classify products for customs. Attached is a partial list of available 7-digit codes. Note |
---|
Warning: This field cannot be blank, null, or all zeros or spaces and must contain a relevant value. |
| Product Code | A unique identifier used by the Merchant business to identify the specific product. Note |
---|
Warning: This field cannot be blank, null, or all zeros or spaces and must contain a relevant value. |
| Item Price | The price per item unit. | Item Discount | Monetary reductions applied to the product or service price for the line item. Note: This value can be '0' if there is no applicable item discount. | Quantity | The number of units sold. | Unit of Measure | A standardized unit used to quantify the quantity of the product or service. Info |
---|
Examples: each, kilogram, pound, month. |
| Item Total | Total transaction line item cost, calculated with quantity, unit price, discounts, tax, and shipping. |
Discount, Shipping & Duty - Must provide shipping, duty, and tax information (if applicable) including: In addition to the interchange data requirements above, the Visa card network has specific additional requirements to qualify: The transaction must be compliant with the Visa Custom Payment Shipping Amount | The cost associated with transporting products from Merchant to customer. Note: This value can be '0' if there is no applicable shipping amount. | Duty Amount | The monetary value of customs duties or taxes related to product import and export. Note: This value can be '0' if there is no applicable duty amount. | Order Discount | Monetary reductions applied to the transaction total. |
|
Expand |
---|
title | Visa - Additional Qualification Requirements |
---|
|
Note: This value can be '0' if there is no applicable order discount. | Tax | Note: The tax amount can be zero (or the tax field can be omitted entirely). If the Merchant sends a tax amount greater than $0.00, it needs to be between 0.1% & 22% of the transaction amount. |
|
Expand |
---|
title | Visa - Additional Qualification Requirements |
---|
|
In addition to the interchange data requirements above, the Visa card network has specific additional requirements to qualify: The transaction must be compliant with the Visa Custom Payment Service (CPS). A ‘capture’ request must follow the ‘authorization’ request: Transaction must be authorized online and cannot be a cardholder-activated terminal (CAT) location.The transaction must always include a non-zero tax amount Business Card type transactions must always include an Address Verification System (AVS) reference.
|
Expand |
---|
title | Visa - Large Ticket Requirements |
---|
|
title | Large Ticket transactions refer to transactions with a larger total dollar amount. Your interchange rate may change based on the transaction amount to offer better pricing from Visa’s large ticket program for high-dollar-value transactions. In addition to the data requirements above, the Visa card network has specific additional requirements to qualify for Large Ticket interchange pricing: |
---|
Expand |
---|
|
Expand |
---|
title | Visa - Prohibited Merchant Business Types (MCCs) |
---|
|
Note |
---|
Warning: Any of the following Merchant Commercial Code (MCC) types are disqualified from Level II or Level III data submission for interchange rate improvements. |
Non-Compliant MCCs | Description of Merchant Business Type |
---|
3000–39993000–3299 | Airlines/ | 3501-3999 | Car Rental Companies/Hotels | 4112 | Passenger Railways | 4411 | Steamship and Cruise Lines | 4511 | Airlines and Air Carriers | 4722 | Travel Agencies and Tour Operators | 5812 | Eating Places and Restaurants | 5814 | Fast Food Restaurants | 5962 | Direct Marketing – Travel Related Arrangements Services (High Risk) | 5966 | Direct Marketing – Outbound Telemarketing Merchant (High Risk) | 5967 | Direct Marketing – Inbound Teleservices Merchant (High Risk) | 7011 | Lodging – Hotels, Motels, and Resorts | 7512 | Automobile Rental Agency | 7513 | Truck & Utility Trailer Rentals | 7519 | Motor Home and Recreational Vehicle Rentals |
|
...
MasterCard
Read more information about MasterCard requirements below:
...
Expand |
---|
title | MasterCard - Level II Data Requirements |
---|
|
title | MasterCard Level II data must include all Level I data requirements in addition to the requirements listed below. Sales Tax Information - Sales tax information for each transaction including: Sales Tax Amount | The total amount of sales tax applied to the transaction. Note |
---|
Warning: The tax amount must be between 0.1% - 30% of the payment total to qualify. This is submitted using either a Sale or a Capture transaction type. |
| Sales Tax Indicator | Specify whether sales tax is included in the transaction amount or not | Order Number | A unique identifier used by the merchant to locate the specific transaction information. Note: “Order Number” and , “Invoice Number”, and “Customer Code” are interchangeable terms for Level II and Level III data submissions. |
Merchant Information - Details about the Merchant selling the product or service items including: |
---|
Customer Code | The unique identifier assigned to customers or entities within the Merchant’s records. |
Merchant TIN | The tax identification number issued to the Merchant by their governmental tax agency. |
Expand |
---|
Note |
---|
Warning: This field cannot be blank, null, or all zeros and must contain a relevant value. |
|
|
Expand |
---|
title | MasterCard - Level III Data Requirements |
---|
|
Level III data must include all Level II data requirements in addition to the requirements listed below. Line Item Details - Must provide detailed information for each item listed in a transaction including: | Discount Amount | Monetary reductions applied to the transaction total.Discount Per Line Item | Monetary reductions applied to the product or service price for the line Name or title of the item. |
Item Description | A detailed description of the product or service sold. Note |
---|
Warning: This field cannot be blank, null, or all zeros or spaces and must contain a relevant value. |
|
Line Item Total | Total transaction line item cost, calculated with quantity, unit price, discounts, tax, and shipping. |
Product Code | A unique identifier used by the Merchant business to identify the specific product. | Quantity | The number Note |
---|
Warning: This field cannot be blank, null, or all zeros or spaces and must contain a relevant value. |
|
Quantity | The number of units sold. |
Unit of Measure | A standardized unit used to quantify the quantity of the product or service. |
Note: When submitting a Level III transaction, the tax amount must be a percent between 0.1% & 30% of the transaction; it cannot be zero unless tax exempt status is enabled by the Facilitator.
Note |
---|
Warning: The following card types are ineligible for Level III interchange with MasterCard: |
...
Expand |
---|
title | MasterCard - Large Ticket Requirements |
---|
|
Large Ticket transactions refer to transactions with a larger total dollar amount. Your interchange rate may change based on the transaction amount to offer better pricing from MasterCard’s large ticket program for high-dollar-value transactions. In addition to the data requirements above, the MasterCard network has specific additional requirements to qualify for Large Ticket interchange pricing: Clearing must follow authorization within 2 business days (no more than 1 day between auth and capture). The transaction amount must meet ticket thresholds: $7,255+
Note |
---|
Warning: The following card types are ineligible for MasterCard’s large ticket program: MAP - Mastercard Commercial Payments Account MAQ - Mastercard Prepaid Commercial Payments Account MEF - Mastercard Electronic Payment Account
|
|
Expand |
---|
title | MasterCard - Prohibited Merchant Business Types (MCCs) |
---|
|
Note |
---|
Warning: Any of the following Merchant Commercial Code (MCC) types are disqualified from Level II or Level III data submission for interchange rate improvements. |
MasterCard Non-Compliant MCCs List: Non-Compliant MCCs | Description of Merchant Business Type |
---|
3000–3999/ | 3501-3999 | Car Rental Companies/Hotels | 4112 | Passenger Railways | 4411 | Steamship and Cruise Lines |
4468 | Marinas, Marine Service and Supplies | 4511 | Airlines and Air Carriers | 4722 | Travel Agencies and Tour Operators |
5499 | Misc Food Stores - Speciality Markets and Convenience | 5541 | Gas/Service Stations with/without Ancillary Services | 5542 | Automated Fuel Dispensers | 5812 | 5812 | Eating Places and Restaurants | 5814 | Fast Food Restaurants | 5962 | Direct Marketing – Travel Related Arrangements Services (High Risk) | 5966 | Direct Marketing – Outbound Telemarketing Merchant (High Risk) | 5967 | Direct Marketing – Inbound Teleservices Merchant (High Risk) |
5983 | Fuel Dealers - Fuel, Oil, Wood, Coal, Lique | 7011 | Lodging – Hotels, Motels, and Resorts | 7512 | Automobile Rental Agency | 7513 | Truck & Utility Trailer Rentals | 7519 | Motor Home and Recreational Vehicle Rentals |
|
...
American Express & Discover
...
Expand |
---|
title | Submit Level II data using the Payrix API. |
---|
|
To submit Level II transaction data using the /txns Payrix API endpoint, send the following request: Code Block |
---|
POST https://test-api.payrix.com/txns |
Code Block |
---|
| {
"merchant":"{yourMerchantID}",
"payment":{
"number":"{customerCardNumber}",
"cvv":"{customerCardCVV}"
}
"expiration":"MMYY",
"type":2,
"order":"INVOICE#1",
"total":7799,
"tax":100,
} |
Note |
---|
Warning: Tax rate must be set according to status and regulation: If you are a tax-exempt entity, you may enter 0 in the tax field. See the steps below to enable tax-exempt status. If you are not a tax-exempt entity, you must adhere to Visa, Mastercard, and local government sales tax rates and regulations to receive lower Level II interchange rates.
|
Required Parameters | Type | Description | Valid Values / Format |
---|
merchant
| string | The identifier of the Merchant associated with this Transaction. | | payment
| object | The payment method associated with this Transaction, including the card details. | | | number
| number | For credit payment method, the card number of the credit card associated with this Transaction. For the eCheck payment method, the bank account number is associated with this Transaction. | | cvv
| integer | The Card Verification Value (CVV) number of the credit card associated with this Transaction. | This field is expressed as a 3-digit integer. | expiration
| number | The expiration date of the credit card associated with this Transaction. | This field is stored as a text string in 'MMYY' format, where 'MM' is the number of a month and 'YY' is the last two digits of a year. For example, '0623' for June 2023. | type
| integer | The type of Transaction. | 1 - Credit Card Only: Sale Transaction. Processes a sale and charges the customer.
2 - Credit Card Only: Auth Transaction. Authorizes and holds the requested total on the credit card.
3 - Credit Card Only: Capture Transaction. Finalizes a prior Auth Transaction and charges the customer.
4 - Credit Card Only: Reverse Authorization. Reverses a prior Auth or Sale Transaction and releases the credit hold.
5 - Credit Card Only: Refund Transaction. Refunds a prior Capture or Sale Transaction (total may be specified for a partial refund).
7 - eCheck Only: eCheck Sale Transaction. Sale Transaction for eCheck payment.
8 - eCheck Only: eCheck Refund Transaction. Refund Transaction for prior eCheck Sale Transaction.
11 - eCheck Only: eCheck Redeposit Transaction. Attempt to redeposit a prior failed eCheck Sale Transaction.
12 - eCheck Only: eCheck Account Verification Transaction. Attempt to verify eCheck payment details.
| total
| number | The total amount of this Transaction. | This field is specified as an integer in cents. | tax
| integer | The total sum of this Transaction’s tax amount. | This field is specified as an integer in cents. |
|
...
Expand |
---|
title | Submit Level III data using the Payrix API. |
---|
|
To submit Level III transaction data using the /txns Payrix API endpoint, send the following request: Code Block |
---|
POST https://test-api.payrix.com/txns |
Code Block |
---|
| {
"merchant":"{yourMerchantID}",
"payment":{
"number":"{customerCardNumber}",
"cvv":"{customerCardCVV}"
}
"expiration":"MMYY",
"type":2,
"order":"INVOICE#1",
"total":7799,
"tax":100,
"items":[
{
"item":"Line Item #1",
"description":"Line Item Description"
"quantity":1,
"price":7799,
"um":"EACH",
"commodityCode":"1111999",
"total":5799,
"discount":-2000,
"productCode":"UPC12345"
},
]
} |
Note: Descriptions for Level II data shown here are available in the Submit Level II data using the Payrix API section above. Required Parameters | Type | Description | Valid Values / Format |
---|
items
| array of objects | The item or list of items associated with the transaction/order. | | | item
| string | The line item name. | | description
| string | The line item description. | Max length: 500 characters | quantity
| integer | The total number of units for the line item. | | price
| number | The individual line item price. | | um
| string | The line item units of measure. Example: “pounds”, “days”, “hours”. | Max length: 100 characters | commodityCode
| string | The commodity code for this Item. | Max length:12 characters | total
| integer | The total price for the line item. | This field is specified as an integer in cents | discount
| integer | The discount for the line item. | This field is specified as an integer in cents. | productCode
| string | The product code for this Item such as UPC, catalog number, or inventory number. | |
|
...
Expand |
---|
title | Submit Level II data using PayFields. |
---|
|
Step 1: Under your <script> tag containing PayFields.fields add the following to add new Tax and Order fields to the PayFields Code Block |
---|
<script>
PayFields.fields = [
{type: "number", element: "#number"},
{type: "cvv", element: "#cvv"},
{type: "name", element: "#name"},
{type: "address", element: "#address"},
{type: "expiration", element: "#expiration"}
{type: "tax", element: "#tax"}
{type: "order", element: "#order"}
];
</script> |
Step 2: Under a new <script> tag, add the API Key, Merchant ID, and Transaction Amount: Code Block |
---|
| <script>
PayFields.config.apiKey = "ab123c4def5g6hijkl7890m12345no6p";
PayFields.config.merchant = "t1_mer_123ab4c567defg8h90123i45";
PayFields.config.amount = {Transaction Amount};
<!---- continued by Step 3 ----> |
Step 343: Under the same <script> tag as Step 2, add the Order Field, Tax Field, and Billing Address: Code Block |
---|
| <!---- preceeded by Step 2 ---->
PayFields.config.order = {order number};
PayFields.config.tax = {tax number};
PayFields.config.billingAddress = {
address: '123 Madison Street',
city: 'New York',
state: 'NY',
zip: '12345',
email: '',
phone: '5555555555',
address2: 'Suite 555',
company: 'Essential Co',
country: 'USA'
};
PayFields.config.invoiceResult = {Invoice Object}
</script> |
Result: Example HTML File Code Block |
---|
|
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="https://test-api.payrix.com/payFieldsScript"></script>
<title>PayFields Test</title>
</head>
<body>
<input type="button" id="submit" value="Pay"></input>
Step 4: Add each new applicable field to your HTML file using the following <div>
format:
Code Block |
---|
<div>
<label for="tax">Tax:</label>
<!-- Div for Buttontax neededfield foriframe PayFrame --> <script>
PayFields.button = {element:<div id="#submittax", value: "Pay"};
</script>
<script>class="form-row"> PayFields.fields
= [ </div> {type: "number", element: "#number"},
{type: "cvv", element: "#cvv"},
{type: "name", element: "#name"},
{type: "address", element: "#address"},
{type: "expiration", element: "#expiration"},
{type: "tax", element: "#tax"},
{type: "order
</div> |
Result: Example HTML File
Code Block |
---|
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="https://test-api.payrix.com/payFieldsScript"></script>
<title>PayFields Test</title>
</head>
<body>
<input type="button" id="submit" value="Pay"></input>
<!-- Button needed for PayFrame -->
<script>
PayFields.button = {element: "#submit", value: "Pay"};
</script>
<script>
PayFields.fields = [
{type: "number", element: "#order#number"},
]; </script>
<script>
PayFields.config.apiKey = "ab123c4def5g6hijkl7890m12345no6p";
PayFields.config.merchant = "t1_mer_123ab4c567defg8h90123i45";
PayFields.config.amount = 500;
PayFields.config.order = {orderNumber};
PayFields.config.tax = {taxNumber};
PayFields.config.billingAddress = {
address: '123 Madison Street' {type: "cvv", element: "#cvv"},
{type: "name", element: "#name"},
{type: "address", element: "#address"},
{type: "expiration", element: "#expiration"},
{type: "tax", element: "#tax"},
city{type: 'New York'"order", stateelement: 'NY'"#order"},
];
</script>
zip: '12345',<script>
PayFields.config.apiKey = email: '',
phone: '5555555555',
address2: 'Suite 555',"ab123c4def5g6hijkl7890m12345no6p";
PayFields.config.merchant = "t1_mer_123ab4c567defg8h90123i45";
PayFields.config.amount = 500;
PayFields.config.order = {orderNumber};
PayFields.config.tax = {taxNumber};
PayFields.config.billingAddress = {
companyaddress: 'Essential123 Madison CoStreet',
countrycity: 'USANew York',
state: 'NY',
zip: '12345',
email: '',
phone: '5555555555',
address2: 'Suite 555',
company: 'Essential Co',
country: 'USA'
};
PayFields.config.invoiceResult = {invoiceObject}
</script>
</body>
</html> |
Expand |
---|
title | Submit Level III data using PayFields. |
---|
|
Step 1: Complete Steps 1-3 above. Step 2: Under your <script> tag containing PayFields.fields add the following to include Discount, Shipping, Duty, and Item [details] Objects fields in your PayField: Code Block |
---|
| <script>
PayFields.fields = [
{type: "discount", element: "#discount"},
{type: "shipping", element: "#shipping"},
{type: "duty", element: "#duty"},
{type: "items", element: "#items"}
];
</script> |
Step 3: Under your <script> tag containing PayFields.config add the following: Code Block |
---|
<script>
PayFields.config.discount = {discount number};
PayFields.config.shipping = {shipping number};
PayFields.config.duty = {duty number};
PayFields.config.items = {items Object}
</script>}
];
</script> |
Step 3: Under your <script> tag containing PayFields.config add the following: Code Block |
---|
<script>
PayFields.config.discount = {discount number};
PayFields.config.shipping = {shipping number};
PayFields.config.duty = {duty number};
PayFields.config.items = {items Object}
</script> |
Step 4: Add each new applicable field to your HTML file using the following <div> format: Code Block |
---|
<div>
<label for="tax">Tax:</label>
<!-- Div for tax field iframe -->
<div id="tax" class="form-row">
</div>
</div> |
Result: Example HTML File Code Block |
---|
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="https://test-api.payrix.com/payFieldsScript"></script>
<title>PayFields Test</title>
</head>
<body>
<input type="button" id="submit" value="Pay"></input>
<!-- Button needed for PayFrame -->
<script>
PayFields.button = {element: "#submit", value: "Pay"};
</script>
<script>
PayFields.fields = [
{type: "number", element: "#number"},
{type: "cvv", element: "#cvv"},
{type: "name", element: "#name"},
{type: "address", element: "#address"},
{type: "expiration", element: "#expiration"},
{type: "tax", element: "#tax"},
{type: "order", element: "#order"},
{type: "discount", element: "#discount"},
{type: "shipping", element: "#shipping"},
{type: "duty", element: "#duty"},
{type: "items", element: "#items"}
];
</script>
<script>
PayFields.config.apiKey = "ab123c4def5g6hijkl7890m12345no6p";
PayFields.config.merchant = "t1_mer_123ab4c567defg8h90123i45";
PayFields.config.amount = 500;
PayFields.config.order = {orderNumber};
PayFields.config.tax = {taxRatePercent};
PayFields.config.dicountdiscount = {discountNumber};
PayFields.config.shipping = {shippingNumber};
PayFields.config.duty = {duty number};
PayFields.config.items = {items Object};
PayFields.config.billingAddress = {
address: '123 Madison Street',
city: 'New York',
state: 'NY',
zip: '12345',
email: '',
phone: '5555555555',
address2: 'Suite 555',
company: 'Essential Co',
country: 'USA'
};
PayFields.config.invoiceResult = {invoiceObject}
</script>
</body>
</html> |
|
...