Stripe extension and Level III Data

When placing a charge, there are three “levels” of data that merchants can send to payment processors such as Stripe:

  • Level I: The charge date and the charge amount.
  • Level II: The sales tax amount and a customer code.
  • Level III: Order line items and the shipping address.

However, Stripe will only accept Level III data if all of the following are true:

  • The merchant is based in the U.S.
  • The card being charged is a Visa or a Mastercard.
  • There are no physical products in the order.
  • The customer billing details are all present.

Our Stripe extension automatically sends data for Levels I and II. However, the way our extension works prevents us from knowing ahead of time whether Stripe will accept the Level III data or not.

Therefore, what our extension does is first attempt to send the charge through with the Level III data attached. If the charge fails, our extension automatically removes the Level III data and retries the charge. If that happens, the extension will not attempt to send Level III data again for 3 months.

For more details on how Stripe handles Level III data, please see their documentation. (Note that you must be logged into a Stripe account capable of using Level III data to see that link.)

If you wish to customize the Level III data our plugin sends to Stripe, you can use the wc_stripe_payment_request_level3_data filter.

NOTE: We are unable to provide support for custom code under our Support Policy. If you need to customize a snippet further or extend its functionality, we highly recommend Codeable or a Certified WooExpert.

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.