Products and prices
How Product and Prices Work

How products and prices work

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 are 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 is on the SIGIS Eligible Product List (opens in a new tab).
  • Private Label - The product is HSA/FSA eligible because it has been added to Flex's Private Label List. In order to be on the private label a product must have substantially the same active ingredient, form, and function, to a national brand-equivalent item that is included in the SIGIS Eligible Product File
  • Vision - The product is HSA/FSA eligible because it is 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 through 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’re selling a product for one price, you only need to create one 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.

Because a product can have multiple prices associated with it, you’ll need to 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 via the partner dashboard.

If your product is already on the eligible product list provide a GTIN (opens in a new tab) as part of the payload along with auto_substantiation as the hsa_fsa_eligibility type requested.

If you've worked with the Flex team to determine your product may be eligible via a Letter of Medical Necessity, specify the visit_type that was provided to you along with letter_of_medical_necessity as the hsa_fsa_eligibility type requested.

If you've worked with the Flex team to determine your product is eligible on the private label list, specify the reference_gtin that was provided to you along with private_label as the hsa_fsa_eligibility type requested.

if your product is a vision prescription or prescription product, please specify the corresponding hsa_fsa_eligibility type.

Create a price

To create a price you can do so using the Price API or via the partner dashboard.

If you need to charge an amount of money that’s different for each transaction (for example, based off of a user selected option), you can create the product, but not create 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. If you have gone through the submission process with SIGIS and your product is now on the Eligible Product List you can update the GTIN of your product to updates it's eligibility.

If you’re no longer selling a product, you can archive both it and the price through the Dashboard by clicking the Archive button, or through the API by setting active to false. We store the archived product and price information indefinitely to maintain records of past transactions.

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. Instead of changing the unit_amount on the existing price, you need to create a new price to make sure that we keep the existing price as an immutable record of past transactions.