Level 3 Processing
Corporate Card processing is used by the government and large corporations to make business-to-government and business-to-business purchases. These transactions are typically authorized by end users presenting what are called Purchasing Cards, or ‘P’ Cards for payment. American Express cards are usually referred to as Corporate Cards.
Corporate card processing provides specific data about the purchase such as item description, quantity, unit-of-measure, price, sales tax, as well as detailed merchant and cardholder information. This data is captured by the payment processor, and passed on to the card issuer. The intent of this program is to replace the traditional paper Purchase Order process. The card issuer then provides this detail to the cardholder/purchaser in the form of a monthly statement or web-based reporting.
This payment gateway supplemental guide details the additional requirements needed to process these transactions and qualify at preferred Level III Interchange rates for Visa and MasterCard as well as comply with American Express Corporate Card requirements (CPC). This is a companion guide to the 360 One Payment Gateway Specification, and clients must certify all other basic transaction sets prior to implementation of corporate card processing as some key elements are required as part of the overall corporate card implementation.
Contents
Introduction
By sending an HTTPS POST with minimal transaction information to the payment gateway, a merchant can avoid the complex transmission protocols and message formats unique to the credit card payment industry networks.
In order to process Visa and MasterCard Level III transactions and/or American Express Level II; you must be certified for basic processing on the 360 One Payment Gateway. It is important to submit all fields in the core Payment Gateway specifications for Commercial Card for Visa, MasterCard, and American Express. These additional fields are only supported by Immediate Sale (D) and Settle (S) transaction types.
Visa and MasterCard Level III Request Fields
Request fields
Field Name | Description | Length | Format | Comments |
---|---|---|---|---|
line_item_count | Number of line item records included in the request | 3 | N | Total number of line item detail records for the transaction. Required by VI and MC |
merchant_tax_id | Merchant VAT Tax Number | 20 | AN | Required by VI |
customer_tax_id | Customer VAT Registration Number | 13 | AN | Required by VI |
summary_commodity_code | Summary Commodity Code | 4 | Required by VI | |
discount_amount | Discount Amount | 12 | N | nnnnnnnnn.nn Required by VI |
shipping_amount | Freight Amount | 12 | N | nnnnnnnnnn.nn Required by VI & MC |
duty_amount | Duty Amount | 12 | N | nnnnnnnnnn.nn Required by VI & MC |
ship_to_zip | Destination Postal/Zip Code | 10 | AN | Required by VI &MC |
ship_from_zip | Ship from Postal/Zip Code | 10 | AN | Required by VI &MC |
dest_country_code | Destination Country Code | 3 | N | http://en.wikipedia.org/wiki/ISO_3166-1_numeric. Required by VI & MC |
vat_invoice_number | Invoice Reference Number | 15 | AN | Required by VI |
order_date | Order Date | 6 | N | YYMMDD Required by VI |
vat_amount | Value Added Tax Amount | 12 | N | nnnnnnnnnn.nn Required by VI |
alt_tax_amount | MasterCard Alternate Tax Amount | 12 | N | nnnnnnnnnn.nn Required by MC |
alt_tax_amount_indicator | MasterCard Alternate Tax Indicator | 1 | Y or N | If Y indicate tax amount, if N fill tax amount with all zeros. Required by MC |
visa_line_item | Visa Line Item Detail Data | See Visa table below |
See Visa table below |
Note that subfields are separated by <|> For multiple line items, send the field name followed by the detail for each item. |
mc_line_item | MasterCard Line Item Detail Data | See MC table below |
See MC table below |
Note that subfields are separated by <|> For multiple line items, send the field name followed by the detail for each item. |
Visa Line Item Subfields
Subfields are separated by <|>. Example:
5096<|>carbon dioxide equipment<|>-sales<|>1<|>>each<|>33439.93<|>2340.79<|>7.0<|>0.00<|>33439.93<|>D
Field description | Notes |
---|---|
Item Commodity Code | Maximum 12 characters |
Item Descriptor | Maximum 35 characters |
Product Code | Maximum 12 characters |
Quantity | Maximum 12 digits |
Unit Of Measure | Maximum 12 characters |
Unit Cost | Maximum 12 digits. Example: 1.35 |
Vat Tax Amount M | Maximum 12 digits |
Vat Tax Rate | Maximum 4 digits. 7.5 = 7.5% |
Discount Per Line Item | Maximum 12 digits |
Line Item Total | Maximum 12 digits |
Debit Or Credit Indicator | D or C |
MasterCard Line Item Subfields
Subfields are separated by <|>. Example:
Signage<|>Pylon<|>1<|>ea<|>000000000000000<|>5.0<|>stat<|>1400.00<|>N<|>N<|>31064.00<|>D<|>0.00
Field description | Notes |
---|---|
Item Description | Maximum 35 characters |
Product Code | Maximum 12 characters |
Item Quantity | Maximum 12 digits |
Item Unit Of Measure | Maximum 12 characters |
Alternate Tax Identifier | Maximum 15 characters |
Tax Rate Applied | Maximum 4 digits. 5.25 = 5.25% |
Tax Type Applied | Maximum 4 characters |
Tax Amount | Maximum 12 digits |
Discount Indicator | Y or N |
Net Or Gross Indicator | N or G |
Extended Item Amount | Maximum 9 digits |
Debit Or Credit Indicator | D or C |
Discount Amount | Maximum 12 digits |
American Express Level CPC Request Fields
Request Fields
Field Name | Description | Length | Format | Comments |
---|---|---|---|---|
requester_name | Name of requester.i.e. person. | 38 | A/N upper | Optional field. This data must be sent if provided by the merchant’s customer. |
line_item_count | Sequential number beginning with 1 for each line item. | 3 | N | |
amex_line_item | Submit this name value followed by subfields |
American Express Line Item Subfields
Subfields are separated by <|>. Example:
&line_item_count=4&amex_line_item=SKILL SAW<|>4<|>205.50&amex_line_item=NAILS<|>2<|>410.50&amex_line_item=CEDAR LUMBER<|>5<|>399.99& amex_line_item=BRICKS<|>10<|>675.45
Description | Length | Format | Comments |
---|---|---|---|
Concise description of the item(s) purchased. Generic descriptions like “MERCHANDISE†should be avoided. | 40 | A/N upper | Depending on a submitter’s processing method this field may be required. Moreover, if a merchant’s customer provides Charge Description Data, these fields are required. |
This field contains the quantities that correspond to the item(s) described in the preceding field. | 3 | numeric | This field is required if data is submitted in the corresponding charge description field. |
This field contains the unit cost thatcorresponds to the item(s) described in the preceding field. | 12 | numeric | This field is required if data is submitted in the corresponding charge description field. |
Level III Error Codes
Error Code | Description | Required Action |
---|---|---|
127 | Invalid Level III Line Item Detail | Correct the data in the line item detail record and resubmit. |
128 | Invalid Level III Merchant Tax ID | Provide a valid Merchant Tax ID. |
129 | Invalid Level III Customer Tax ID | Provide a valid Customer Tax ID. |
130 | Invalid Level III Summary Commodity Code | Provide a valid Summary Commodity Code. |
131 | Invalid Level III Ship To Zip | Provide a valid destination postal code. |
132 | Invalid Level III Ship From Zip | Provide a valid source postal code. |
133 | Invalid Level III Destination Country Code | Provide a valid Destination Country Code. |
134 | Invalid Level III VAT Invoice Number | Provide a valid VAT Invoice Number. |
135 | Invalid Level III Alternate Tax Indicator | Provide a valid Alternate Tax Indicator. |
136 | Transaction type does not support Level III data | Remove the level III data OR use a valid transaction type. |
137 | Invalid Level III Discount Amount | Provide a valid Discount Amount. |
138 | Invalid Level III Duty Amount | Provide a valid Duty Amount. |
139 | Invalid Level III Order Date | Provide a valid Order Date. |
140 | Invalid Level III VAT Amount | Provide a valid VAT Amount. |
141 | Invalid Level III VAT Rate | Provide a valid VAT Rate. |
142 | Invalid Level III Alternate Tax Amount | Provide a valid Alternate Tax Amount. |
143 | Invalid Level III Line Item Count | Provide a valid Line Item Count. |
144 | Invalid Level III Card Type | Provide valid line item detail data for the card type. |
Sale (D) Code Sample
Request Params (line item detail is URL encoded)
- https://test.merchante-colutions.com/mes-api/tridentApi?profile_id=94100008043900000004&pr
ofile_key=gvQzgKXOTEoDzpzJzROrQQzoKLaEqxjf&transaction_type=D&cardholder_street_address=12
3&cardholder_zip=55555&cvv2=123&transaction_amount=1.00&card_number=4012888812348882&card_
exp_date=1111&invoice_number=209e3212d67d2b49d&ship_to_zip=99216&ship_from_zip=99212&line_
item_count=1&merchant_tax_id=123&customer_tax_id=123&summary_commodity_code=123&discount_a
mount=1.00&shipping_amount=1.00&duty_amount=1.00&dest_country_code=840&vat_invoice_number=
123&order_date=090908&vat_amount=1.00&alt_tax_amount=1.00&alt_tax_amount_indicator=Y&visa_
line_item=5096%3C%7C%3EStuff%3C%7C%3Esales%3C%7C%3E1%3C%7C%3Eeach%3C%7C%3E123.123%3C%7C%3E
1.95%3C%7C%3E7.0%3C%7C%3E0.00%3C%7C%3E66.66%3C%7C%3ED
Response
- transaction_id=8fc94e10b12130f4ab8a8ceeac40fc69&error_code=000&auth_response_text=Exact Ma
tch&avs_result=Y&cvv2_result=M&auth_code=T2067H
Settle (S) Code Sample
Request Params (line item detail is URL encoded)
- https://test.merchante-colutions.com/mes-api/tridentApi?profile_id=94100008043900000004&pr
ofile_key=gvQzgKXOTEoDzpzJzROrQQzoKLaEqxjf&transaction_type=S&transaction_amount=1.00&tran
saction_id=0dd82a4f676730c1b789c1f43279dc40&invoice_number=e19b17e690b5c053f&ship_from_zip
=99212&line_item_count=1&merchant_tax_id=123&customer_tax_id=123&summary_commodity_code=12
3&discount_amount=1.00&shipping_amount=1.00&duty_amount=1.00&dest_country_code=840&vat_inv
oice_number=123&order_date=090908&vat_amount=1.00&alt_tax_amount=1.00&alt_tax_amount_indic
ator=Y&visa_line_item=5096%3C%7C%3EStuff%3C%7C%3Esales%3C%7C%3E1%3C%7C%3Eeach%3C%7C%3E123.
123%3C%7C%3E1.95%3C%7C%3E7.0%3C%7C%3E0.00%3C%7C%3E66.66%3C%7C%3ED
Response
- transaction_id=12f3befbd035371b9b82d5920465e071&error_code=000&auth_response_text=Settle R
equest Accepted