Skip to main content

How to Accept Payments on Your Form with Stripe

Connect your Stripe account to any Uplup form to charge for access, sell products, collect registration fees, or accept donations. Payments are processed securely by Stripe, money goes directly to your Stripe account, and Uplup never touches the funds (or sees raw card data).

  • One-time or subscription payments tied to a form submission
  • Discount codes (optional, configurable per Payment Page)
  • Full or partial refunds from your form’s Payments tab
  • Dispute tracking with status badges (Disputed, Dispute Won, Dispute Lost)
  • Test-mode payments are clearly marked so you can preview the flow before going live

Plan requirement

Stripe payments require Pro plan or higher. Free and Starter plans do not include the Payment Page; upgrade in your account settings to enable it.


Step 1 — Connect your Stripe account

Stripe is connected at the brand (workspace) level — one shared Stripe account per brand. You can connect from either the brand Integrations page or directly from a Payment Page’s settings.

  1. Open your Uplup dashboard and click Integrations in the sidebar.
  2. Open the Payment tab and find the Stripe card.
  3. Click Connect. A popup window opens Stripe’s authorization page.
  4. Sign in to your existing Stripe account (or create a new one — Stripe will walk you through onboarding).
  5. After authorizing, the popup closes automatically and the Stripe card shows Connected with your Stripe account ID.

If you operate multiple brands inside Uplup (agencies often do), each brand can connect a different Stripe account.


Step 2 — Add a Payment Page to your form

  1. Open the form builder for the form you want to monetize.
  2. Click the dropdown arrow next to + Add Page and choose Payment Page. (Payment Pages are available in forms only, not quizzes.)
  3. Configure product name, description, optional product image or video, price, and currency. Supported currencies are USD, EUR, and GBP.
  4. Choose Payment type: One-time or Subscription.
  5. Optionally toggle: collect cardholder name, collect email, collect billing address, send a Stripe receipt after purchase.
  6. Place the Payment Page where it fits in your flow (typically just before the finish page), then save and publish.

How payments are processed

When a respondent reaches the Payment Page, Uplup creates a Stripe PaymentIntent on the back end and renders Stripe’s secure card form (an iframe served by Stripe — Uplup never sees raw card data). When the respondent confirms their card, Stripe processes the charge and notifies Uplup. Only after the payment confirms does the form submission record get created and the form advances to the finish page.

This payment-first flow means you’ll never see a submission without a corresponding successful payment.


Refunds and disputes

  • Refunds: Open the form, go to the Payments tab (visible whenever the form has a Payment Page), click a payment, then Refund. You can issue a full or partial refund — partially refunded payments show a “Partial Refund” badge.
  • Disputes: If a customer disputes a charge with their card issuer, the payment shows a Disputed badge in your Payments tab, and lifecycle status updates to Dispute Won or Dispute Lost once resolved. Submit evidence directly in your Stripe Dashboard — each Payments-tab row links straight to the matching Stripe payment.

Test mode

If you connect Stripe while it’s set to test mode, Uplup will process test-mode payments. Test payments accept Stripe’s test cards (e.g., 4242 4242 4242 4242 for success, 4000 0000 0000 0002 for a decline) and never move real money. The Payments tab clearly marks test-mode payments with a “test mode” indicator so you can distinguish them from live ones, and the Stripe link on each row points to the matching record in Stripe’s test dashboard.


Troubleshooting

  • “Form owner has not connected Stripe”: The brand owning the form needs to connect Stripe in Integrations → Payment → Stripe. If you connected previously, verify the Stripe card still shows Connected (Stripe sometimes deauthorizes accounts whose onboarding is incomplete).
  • Connection popup doesn’t close: Disable popup blockers and try again. The popup closes automatically when the OAuth flow finishes.
  • Payment shows as Pending or Processing: Wait up to 30 seconds — Stripe can take a moment to confirm. If it’s still pending after a minute, open the payment in your Stripe Dashboard (the link is on each Payments-tab row) to see the actual status.
  • Payment Page option is greyed out or hidden: Payment Pages require Pro+ and are forms-only. If you’re on a quiz, the option won’t appear; if you’re on Free or Starter, you’ll be prompted to upgrade.