Skip to main content
Products and prices are core resources for a Flex integration. Products define what your business offers, whether that’s goods or services. Prices define how much and how often to charge for products. Flex revolves around what you’re selling and determining the checkout experience based off of the products eligibility.

What is a product?

Products describe the specific goods or services you offer to your customers.
  • If you’re an e-commerce store selling orthopedic goods, one of your products might be an orthopedic shoe. In Flex, you can create a separate product for each size and color combination.
  • If you’re a Service app, you might have a subscription with basic and premium pricing tiers. In this case, both basic and premium are separate products because they typically offer unique attributes or features.
Each product has a unique ID and an eligibility status. By default unless additional information is provided a newly created product will be not_eligible. When you create a product in Flex, you have to provide a name. You can optionally add other attributes to a product to determine it’s eligibility.

HSA/FSA eligibility for a product

A product can fall under one of the following eligibility types:
  • Not Eligible - The product is not HSA/FSA eligible.
  • Auto Substantiation - The product is HSA/FSA eligible because it’s on the Flex Eligible Catalogue.
  • Private Label - The product is HSA/FSA eligible because it has been added to Flex’s Private Label List. To qualify, a product must share substantially the same active ingredient, form, and function as a national brand–equivalent item in the Flex Eligible Catalogue.
  • Vision - The product is HSA/FSA eligible because it’s a prescription for vision.
  • Prescription - The product is HSA/FSA eligible because it s a prescription.
  • Letter of Medical Necessity - The product may be eligible with a letter of medical necessity.

What is a price?

Price objects are the numerical amount to pay. You don’t need to create new prices for each purchase. If you sell a product for one price, create a single price. Prices can either be one-time or recurring. Subscriptions use recurring prices to charge the customer at an interval, such as “once a month.” If you sell the same service at several different subscription intervals, it’s best to create multiple recurring prices for the same product. A product can have multiple prices, so specify which price to use when creating Checkout Sessions or Payment Links.

Working with products and prices

Create a product

To create a product you can do so using the Product API or the Flex Dashboard. If your product is already on the eligible product list provide a GTIN as part of the payload along with auto_substantiation as the hsa_fsa_eligibility type requested. If the Flex team determined your product may be eligible with a Letter of Medical Necessity, specify the visit_type they provided. Set letter_of_medical_necessity as the hsa_fsa_eligibility type requested. If the Flex team determined your product is eligible on the private label list, specify the reference_gtin they provided. Set private_label as the hsa_fsa_eligibility type requested. if your product is a vision prescription or prescription product, specify the corresponding hsa_fsa_eligibility type.

Create a price

To create a price you can do so using the Price API or the Flex Dashboard. If each transaction needs a different amount (for example, a customer-selected option), create the product but not a price beforehand. Instead, you can use the price_data parameter when creating Checkout Sessions to set the particular price.

Manage existing products and prices

You can update product details through the Dashboard or API. For example, you might change the description of a product to use on the Checkout page. To submit products to the Flex Eligible Catalogue, reach out to your account manager or email compliance@withflex.com. Once the products are reviewed and approved, eligibility will automatically populate when adding products. In general, you can’t delete products or prices, you can only archive them. To change the price of a product, create a new price for the new amount, then archive the existing price by setting active to false. Don’t change the unit_amount on the existing price. Create a new price instead, so the old one stays an immutable record of past transactions.