How Checkout Works
Learn how to use checkout to collect HSA/FSA payments on your website.
Flex provides a hosted checkout page that allows businesses to accept HSA/FSA as a payment method. Flex takes care of ensuring your customer's remain compliant with the IRS.
Flex Checkout supports payments for both one-time purchases and subscriptions.
Checkout lifecycle
- When customers are ready to complete their purchase, your application creates a new Checkout Session.
- The Checkout Session provides a URL that redirects customers to a Flex-hosted payment page.
- Customers enter their payment details and intake form if applicaple on the payment page and complete the transaction.
- After the transaction, a webhook fulfills the order using the checkout.session.completed event.
Checkout Session
The Checkout Session is a programmatic representation of what your customers see on the payment form. After creating a Checkout Session, redirect your customers to the Session’s URL to complete the purchase. When customers complete their purchase, you can fulfill their orders by configuring webhooks on Checkout Session events. This code snippet from the quickstart guide is an example of how to create a Checkout Session in your application.
curl --request \
POST \
--url \
https://api.withflex.com/v1/checkout/sessions \
--header 'authorization: Bearer fsk_test_YzNiYjdhNWItN2FkOS00ZTMyLWE5MmQtZTdhNzMzYzE2NTIy' \
\
--header 'content-type: application/json' \
\
--data '{"checkout_session": {"line_items": [{"price": "fprice_01HT5GKN33F6E31WE2RF1GYYKH","quantity": 1}],"success_url": "https://withflex.com","mode": "payment","cancel_url": "https://withflex.com/cancel",}}' \
Checkout Session HSA FSA Eligibility Types
Depending on the products or services being purchased a checkout session could fall under one of the following:
- Not Eligible - None of the items being purchased are HSA/FSA eligible.
- Auto Substantiation - The items being purchased are on the Eligible Product List or Private Label List.
- Letter of Medical Necessity - The item being purchased may become eligible via a letter of medical necessity.
- Split Cart - Some of the items are HSA/FSA eligible and the remaining items are not. A customer will be prompted for both their HSA/FSA card and a credit card.
Flex will determine the type of cheeckout for you based off of the price id's that are passed into the payload when creating a checkout session.
One-time and recurring payments
Allow customers to make one-time payments or subscribe to a product or service by setting the mode parameter in a Checkout Session.
Mode | Purchase Type |
---|---|
Payment | One-time purchases |
Subscription | Recurring purchases and recurring purchases with one-time purchases |
Complete a transaction
Fulfill orders when a customer completes their purchase by running webhooks after the checkout.session.completed event sends a notification.
Webhooks are HTTP calls that run when an event occurs. For example, if a customer doesn’t make a purchase and their cart expires, you can set
a webhook on the checkout.session.expired
event and return items to your inventory or you can send them a cart abandonment email.