Custom Checkout
How Gleantap's custom checkout forms process payments and sync data across supported CRM and payment integrations — Mindbody, Stripe, with MarianaTek and ABC coming soon.
Gleantap's custom checkout forms let you sell memberships, class packs, and products directly from a Gleantap-hosted page — with the purchase captured on the contact's profile and, where applicable, synced back to your CRM.
This page covers what's supported, what happens between Gleantap and each payment/CRM integration during a checkout, and how to troubleshoot when something goes wrong.
For creating checkout forms in general, see Creating a Form.
Supported integrations
Mindbody
✅ Live
Products, class packs, and memberships sold + synced back to Mindbody as native sales
Stripe
✅ Live
Products/prices from your Stripe account, charged via Stripe, purchase logged in Gleantap
MarianaTek
Coming soon
—
ABC
Coming soon
—
Which integration is right for you depends on the CRM you already use for your business:
Fitness studios with Mindbody → use the Mindbody integration so sales stay native to your CRM.
Businesses without a fitness CRM, or wanting to run purchases through their own Stripe → use the Stripe integration.
MarianaTek or ABC customers — hold tight; these integrations are being built. Contact support@gleantap.com to be notified when they're ready.
What a custom checkout form is
A custom checkout form is a Gleantap-hosted form that combines:
Client info fields — name, email, phone, and any integration-required fields
Product selection — one or more products fetched from your connected system
Payment capture — credit card fields, processed at checkout
When a customer completes the form, Gleantap:
Creates or updates their contact record in Gleantap
Processes the payment through the appropriate rail (Mindbody, Stripe)
Syncs the purchase back to your CRM (where applicable)
Records the completed purchase on the contact's profile
Mindbody integration
For businesses using Mindbody, Gleantap syncs the entire sale into Mindbody so your CRM stays authoritative.
What syncs
Gleantap calls Mindbody's public API to complete the sale, using one of two endpoints depending on what's being purchased:
Membership contract
/public/v6/sale/purchasecontract
Product, class pack, or retail item
/public/v6/sale/checkoutshoppingcart
Both endpoints receive:
ClientID — the Mindbody client the purchase is for
LocationID — which of your Mindbody locations owns the sale
Payment info — credit card details, tokenized
Items — the products or contract being purchased
The end result: the purchase appears in Mindbody's Sales/Reports the same as if the client had bought it at the front desk. Their credit card, purchase history, and any resulting membership status reflect natively in Mindbody.
Client matching
If the person is already a Mindbody client — matched by email or phone during checkout, their existing ClientID is used and the sale attaches to their profile.
If they're new — Gleantap creates a new client in Mindbody first (using the info they entered on the checkout form), then processes the sale against the new ClientID.
Required fields — Mindbody sites vary in what they require on a client record. Gleantap fetches RequiredClientFields from your Mindbody site during form rendering to ensure the checkout collects everything needed. If Mindbody rejects a sale for missing required data, the customer sees an error on the checkout page.
Credit card handling (Mindbody)
Cards are captured in a secure iframe (PCI compliant — the card number doesn't touch Gleantap's servers).
Cards are tokenized by the payment processor.
The charge is processed by Mindbody's connected payment processor (whichever gateway your Mindbody site uses).
If Mindbody is configured to store cards for members, the card is saved on the client's Mindbody profile — same as any Mindbody-processed sale.
Gleantap doesn't hold or store the card number. Everything payment-related lives in Mindbody (or its payment processor).
Stripe integration
For businesses that want to charge directly through their own Stripe account.
How it works
Products live in your Stripe Dashboard. Create the products and prices you want to sell in Stripe directly.
Gleantap syncs your Stripe products. Once you've connected your Stripe account under Settings → Integrations, Gleantap pulls your product list and prices.
Products appear in a dropdown on the checkout form. Pick which products to offer on this form.
Customer completes the form. Name, email, phone, product selection, and credit card.
Charge processes through your Stripe account. The transaction hits your Stripe Dashboard as a normal payment.
Purchase is logged on the contact profile in Gleantap. The Activities tab shows a purchase event; the Purchase History tab records the sale.
What syncs where
Charge / transaction
Your Stripe account (record of truth for financial data)
Contact record
Created/updated in Gleantap
Purchase log
Logged on the contact's Activities and Purchase History in Gleantap
Card on file
Saved in Stripe if the customer is a repeat buyer or on a recurring plan
When to use Stripe checkout
You don't have a fitness CRM like Mindbody or you're okay running purchases outside it.
You already use Stripe for other business revenue and want a single place to track sales.
You need one-off product sales (e.g., merchandise, event tickets) without CRM overhead.
You want the flexibility of Stripe's product catalog (subscriptions, one-time, tiered pricing).
MarianaTek and ABC — coming soon
Native custom checkout integrations for MarianaTek and ABC are being built. When they're ready, purchases made through Gleantap forms will sync back into MarianaTek or ABC the same way Mindbody works today.
If you use MarianaTek or ABC and want to be notified when checkout support ships, email support@gleantap.com.
Until then:
MarianaTek customers — Gleantap's existing integration handles contact and visit sync; new sales still originate in MarianaTek directly.
ABC customers — same pattern; use ABC for the sale, Gleantap for engagement.
What appears in Gleantap after any checkout
Regardless of which integration processes the payment:
The contact's Purchase History tab in Gleantap shows the sale.
The contact's Activities timeline logs the checkout submission and successful purchase.
If the form triggers a flow or campaign, that automation fires (see Trigger Flows or Campaigns).
For Mindbody-synced sales, subsequent syncs from Mindbody continue to update the Purchase History and Membership tabs. For Stripe, the initial purchase log persists but doesn't refresh from Stripe unless you edit the contact.
Common scenarios
"A customer completed my checkout form but I don't see the sale in Mindbody"
Walk through:
Was the Gleantap → Mindbody API call successful? Check the contact's Activities tab for error events and the form submission for the API response.
Are you looking at the right Mindbody location? Sales attach to a specific LocationID. Verify.
Was a client record created? If the customer was new to Mindbody, client creation happens first. If that failed (missing required field, etc.), the sale wasn't attempted.
Contact support with the contact's email and approximate checkout time. We can trace the API call in our logs.
"My Stripe checkout worked but I don't see the product I created in Stripe"
Products sync from Stripe to Gleantap on a schedule. If you just created the product in Stripe, wait a few minutes and refresh the form's product picker. If it still doesn't appear:
Confirm the Stripe integration is connected. Settings → Integrations.
Confirm the product is active in Stripe (not archived) and has at least one price.
Reach out to support if the product still doesn't sync.
"The customer got an error at checkout — 'invalid product' or similar"
Products on the checkout form are fetched live from the connected system. If a product was deleted, deactivated, or made unavailable between form render and submit, the sale can fail. Refresh the product list on the form and try again.
"Will the credit card be saved on the client's profile?"
Mindbody — depends on your Mindbody configuration. If Mindbody saves cards on file (typical for membership recurring), yes.
Stripe — the card is saved in Stripe if the transaction is on a recurring subscription or you explicitly configure card storage.
"Can I use custom checkout for a business without Mindbody or Stripe?"
Not today. Custom checkout requires one of the supported payment integrations. For pure lead capture without payment, use a regular form — see Creating a Form.
"Can I customize the checkout page's appearance?"
Yes — checkout forms follow the same customization model as other forms. See Customizing Design for CSS, tracking codes (GA, Meta Pixel), and JavaScript hooks.
"Which integration should I pick if I have both Mindbody and Stripe?"
If the sale should live in Mindbody (memberships, classes, retail tracked in Mindbody reporting) → Mindbody integration.
If the sale is outside Mindbody's tracking (event tickets, merch, one-off offers) → Stripe integration.
You can have both integrations connected simultaneously; each form picks one.
Related pages
Creating a Form — building the underlying form
Customizing Design — styling, tracking codes, custom scripts
Push Data to Mindbody — the broader Mindbody integration
Trigger Flows or Campaigns — automation on form submission
Managing Contacts — post-checkout contact management
Was this helpful?