Skip to main content
Transactions is the Studio hub for every recorded payment on your Flex Forms workspace. Open it from the left rail (under Contacts). It is available on all plans once you connect Stripe and collect at least one successful charge on a published form. Preview mode never writes transactions.

What you see

Each row is one ledger entry with: The list uses cursor pagination and respects search / form filters — same lean pattern as Contacts.

Row actions (⋯)


Actions in the drawer

From View details you can also refund, open Stripe, or jump to submissions. Status / provider / mode chips appear at the top of the drawer. Export CSV still lives in the toolbar (respects filters) and requires exportTransactions when Spatie permissions are enabled. The download is a direct streamed file (not loaded into the Studio page), so large ledgers stay responsive. Choose CSV or Excel (.xlsx) in the export dialog. Refunds require the refundTransactions ability when you use Spatie / Shield (see Studio permissions).

How a row gets created

  1. Connect Integrations → Stripe (test or live keys).
  2. Add a Stripe Payment block in Studio and Publish the form.
  3. A respondent pays on fill / embed.
  4. Flex Forms verifies the PaymentIntent (amount, currency, form, mode) and writes the ledger.
  5. Optional Stripe webhooks keep statuses in sync (payment_intent.*, charge.refunded).
Full setup: Stripe Integration.
Draft / Preview never confirms Stripe or creates Transactions — even if the thank-you screen appears. Publish first for real money and ledger rows.

Empty state

If the hub is empty:
  • Stripe is not connected or not Ready
  • No published form has a Payment block yet
  • You only tested in Preview
  • Filters hide existing rows
Connect Stripe, publish a payment form, and submit a test-mode payment with a Stripe test card.
Last modified on September 7, 2026