> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tesouro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Levels 2 and 3

> Send Level 2 and Level 3 transaction data to qualify for lower interchange rates on B2B and government card transactions.

<Columns cols={2}>
  <div>
    **What is it?** Payment transactions made with a card are categorized into Level 1, Level 2, and Level 3 based on the specific data required during processing. Levels 2 and 3 data impact interchange fees and are primarily used for business-to-business (B2B) and government transactions, but can be sent on any transaction, even those that won't qualify for the level 2 and 3 interchange rates.

    <br />

    <br />

    **Level 1**
    The most basic level. It's seen on most consumer transactions, and carries the highest processing costs. Transactions qualifying for level 1 include basic payment data like card number, card security code, amount, transaction date, acceptor, and merchant category code (MCC).

    <br />

    <br />

    **Level 2**
    Suitable for corporate card transactions, level 2 offers lower interchange fees than Level 1 because it requires additional transaction details to reduce risk. Depending on the card brand, level 2 data includes taxes, customer details, and ship to information, in addition to the level 1 information.

    <br />

    <br />

    **Level 3**
    The most detailed level and suitable for B2B and government transactions, level 3 allows you to qualify for several different B2B interchange categories. Level 3 includes all level 2 fields, plus extensive line item details like product code, commodity code, unit amounts and quantities, duties, shipping amounts, and more.

    <Info>
      In summary, providing more information on a transaction can increase its "level" and help businesses save on processing fees by providing more transparency to card networks. You can send level 2 and level 3 data on any transaction, even if it doesn't qualify for the level 2 or level 3 interchange rate.
    </Info>

    <Tip type="when to use">
      **When to Use**

      <ul>
        <li>You want to qualify for lower interchange rates on eligible transactions.</li>
        <li>You have detailed transaction information available (tax amounts, line items, etc.).</li>
      </ul>
    </Tip>

    <Callout icon="clapperboard-play" color="#6938EF" type="scenario">
      **Scenario**

      A business purchases ten custom items from Maple Street Coffee, one of Clearpath Payment's acceptors, for \$2,000. To qualify for lower interchange rates, Clearpath Payments includes Level 3 data on Maple Street Coffee's behalf — tax information, shipping details, and a line item for each product.
    </Callout>

    ### Restrictions

    Level 2 is supported by Visa, Mastercard, and American Express. Level 3 is supported by Visa and Mastercard.

    The following MCC codes are restricted from Level 2 and 3 processing:

    * **3000-3299, 4511** - Airlines (Visa/Mastercard)
    * **3351-3500, 7512** - Car Rentals / Auto Rental (Visa/Mastercard)
    * **7519** - Car Rentals (Mastercard)
    * **4411** - Cruise Lines (Visa)
    * **4112** - Passenger Railways (Visa/Mastercard)
    * **5962, 5966, 5967** - High Risk Direct Marketing (Visa)
    * **3501-4010, 7011** - Hotel (Visa/Mastercard)
    * **5812** - Restaurants (Visa/Mastercard)
    * **5814** - Fast Food Restaurants (Visa)
    * **4722** - Travel Agents (Visa)
    * **7513** - Truck and Utility Trailer Rentals (Visa/Mastercard)
    * **8398** - Organizations, Charitable and Social Service (Level 3 restriction: Mastercard not eligible)
    * **4468** - Marine Service & Supplies (Level 3 restriction: Fleet Mastercards not eligible)
    * **5541** - Service Stations (Level 3 restriction: Fleet Mastercards not eligible)
    * **5542** - Automated Fuel Dispensers (Level 3 restriction: Fleet Mastercards not eligible)
    * **5499** - Misc. Food, Convenience, & Specialty Markets (Level 3 restriction: Fleet Mastercards not eligible)
    * **5983** - Fuel Dealers (Level 3 restriction: Fleet Mastercards not eligible)

    ### Implementation

    #### Level 2

    To qualify for level 2, you must provide the following information on the authorization and capture:

    ```json lines expandable theme={null}
    {
      "transactionAmountDetails": {
      "totalTaxAmount": "",
      "localTaxAmount": "",
      "nationalTaxAmount": ""
    },
      "orderDetails": {
      "customerDetails": {
      "reference": "",
      "firstName": "",
      "lastName": "",
      "email": "",
      "phoneNumber": ""
    },
      "shipToAddress": {
      "address1": "",
      "state": "",
      "postalCode": "",
      "countryCode": ""
    }
    }
    }
    ```

    #### Level 3

    To qualify for level 3, you must provide everything for level 2 as well as the following:

    ```json lines expandable theme={null}
    {
      "transactionAmountDetails": {
      "DiscountAmount": "",
      "ShippingAmount": "",
      "DutyAmount": ""
    },
      "lineItems": [
    {
      "productSku":"8675310",
      "commodityCode": "12",
      "productCode": "24",
      "description": "LineItem1",
      "unitQuantity": "1",
      "unitOfMeasure": "feet",
      "unitPrice": "11",
      "discount": { "amount": "1" },
      "lineItemAmount": "10"
    },
    {
      "productSku":"8675311",
      "commodityCode": "10",
      "productCode": "20",
      "description": "LineItem2",
      "unitQuantity": "2",
      "unitOfMeasure": "feet",
      "unitPrice": "6",
      "discount": { "amount": "2" },
      "lineItemAmount": "10"
    }
    ]
    }
    ```
  </div>

  <div>
    <CodeGroup>
      ```graphql Operation lines expandable theme={null}
      mutation AuthorizeCITWithLevel2($input: AuthorizeCustomerInitiatedTransactionInput!) {
        authorizeCustomerInitiatedTransaction(
          authorizeCustomerInitiatedTransactionInput: $input
        ) {
          authorizationResponse {
            status: __typename
            cardDetails {
              paymentBrand
              last4
            }
            tokenDetails {
              token
            }
            transactionId
            paymentId
          }
          errors {
            ... on Error {
              message
              __typename
            }
          }
        }
      }
      ```

      ```json Variables lines expandable theme={null}
      {
        "input": {
          "acceptorId": "05a39b14-f29f-443b-a107-da3e3e8969fb",
          "transactionReference": "68448abe-735b-4ee3-af14-d0f50a091c9b",
          "paymentMethodDetails": {
            "cardWithPanDetails": {
              "expirationMonth": "09",
              "expirationYear": "2051",
              "accountNumber": "5188690009946204",
              "paymentEntryMode": "PAYMENT_METHOD_ON_FILE",
              "paymentChannel": "ECOMM",
              "securityCode": {
                "omissionReason": "VERIFICATION_NOT_REQUESTED"
              }
            }
          },
          "transactionAmountDetails": {
            "totalAmount": 100.99,
            "localTaxAmount": "1.99",
            "nationalTaxAmount": "2.99",
            "currency": "USD"
          },
          "orderDetails": {
            "customerDetails": {
              "reference": "ABC12345",
              "firstName": "Michael",
              "lastName": "Scott",
              "email": "mscott@office.com",
              "phoneNumber": "6178675309"
            },
            "shipToAddress": {
              "address1": "702 N Washington Ave",
              "city": "Scranton",
              "state": "PA",
              "postalCode": "18509",
              "countryCode": "USA"
            }
          }
        }
      }
      ```
    </CodeGroup>

    <CodeGroup>
      ```graphql Operation lines expandable theme={null}
      mutation AuthorizeCITWithLevel3($input: AuthorizeCustomerInitiatedTransactionInput!) {
        authorizeCustomerInitiatedTransaction(
          authorizeCustomerInitiatedTransactionInput: $input
        ) {
          authorizationResponse {
            status: __typename
            cardDetails {
              paymentBrand
              last4
            }
            tokenDetails {
              token
            }
            transactionId
            paymentId
          }
          errors {
            ... on Error {
              message
              __typename
            }
          }
        }
      }
      ```

      ```json Variables lines expandable theme={null}
      {
        "input": {
          "acceptorId": "05a39b14-f29f-443b-a107-da3e3e8969fb",
          "transactionReference": "68448abe-735b-4ee3-af14-d0f50a091c9b",
          "paymentMethodDetails": {
            "cardWithPanDetails": {
              "expirationMonth": "09",
              "expirationYear": "2051",
              "accountNumber": "5188690009946204",
              "paymentEntryMode": "PAYMENT_METHOD_ON_FILE",
              "paymentChannel": "ECOMM",
              "securityCode": {
                "omissionReason": "VERIFICATION_NOT_REQUESTED"
              }
            }
          },
          "transactionAmountDetails": {
            "totalAmount": 100.99,
            "DiscountAmount": "1.00",
            "ShippingAmount": "2.00",
            "DutyAmount": "0.99",
            "currency": "USD"
          },
          "lineItems": [
            {
              "productSku": "8675310",
              "commodityCode": "12",
              "productCode": "24",
              "description": "LineItem1",
              "unitQuantity": "1",
              "unitOfMeasure": "feet",
              "unitPrice": "11",
              "discount": {
                "amount": "1"
              },
              "lineItemAmount": "10"
            },
            {
              "productSku": "8675311",
              "commodityCode": "10",
              "productCode": "20",
              "description": "LineItem2",
              "unitQuantity": "2",
              "unitOfMeasure": "feet",
              "unitPrice": "6",
              "discount": {
                "amount": "2"
              },
              "lineItemAmount": "10"
            }
          ]
        }
      }
      ```
    </CodeGroup>

    ```json Response lines expandable theme={null}
    {
      "data": {
        "authorizeCustomerInitiatedTransaction": {
          "authorizationResponse": {
            "status": "AuthorizationApproval",
            "networkApprovalCode": "808907",
            "authorizationAmountDetails": {
              "approvedAmount": 36,
              "requestedAmount": 36,
              "currency": "USD"
            },
            "cardDetails": {
              "paymentBrand": "VISA",
              "last4": "0005"
            },
            "tokenDetails": {
              "token": "ae1d0699-a5f3-4548-aaa8-068b57564118"
            },
            "transactionId": "c0b554b8-7819-11ee-acb0-7445f363cd81",
            "paymentId": "c0b554b8-7819-11ee-acb0-7445f363cd81",
            "systemTraceAuditNumber": "808040",
            "networkResponseDetails": {
              "processorResponseCode": "A0000",
              "networkResponseCode": "00"
            },
            "avsResponseDetails": {
              "networkCode": null
            }
          },
          "errors": null
        }
      }
    }
    ```
  </div>
</Columns>
