What a registration form with payment does, and what you need before you start

A registration form with payment is a single web page or document that collects two things at once: information about who the person is (name, email, address) and payment details (card number, bank account, or payment method). Instead of asking someone to fill out a form and then sending them to a separate checkout page, you combine both steps.

Before you build one, you need three things in place: a way to collect payment securely (called a payment processor), a place to store the information people enter (a database or spreadsheet service), and a way to build the form itself (a form builder, website platform, or custom code). You also need to decide whether you want the form to live on your own website, on a third-party platform like Typeform or Wufoo, or embedded in an email or document.

The complexity depends on what you're collecting and how much money moves through it. A straightforward form for a $15 workshop is straightforward. A form that handles hundreds of registrations with different price tiers, discount codes, and refund requests is more involved.

Key Takeaways

  • A registration form with payment combines contact information and payment details on one page, reducing the steps a person has to take.
  • You need a payment processor (Stripe, PayPal, Square), a form builder or website platform, and a way to store the data people enter.
  • Form builders like Typeform, Wufoo, and Gravity Forms can handle both registration and payment without requiring you to write code.
  • Payment information must be encrypted and stored according to PCI DSS standards, which most payment processors handle for you automatically.
  • Test the form with real payment details (or test card numbers provided by your processor) before making it live to the public.

Choosing between a form builder, website platform, or custom code

The easiest route for most people is a form builder — a service that lets you drag fields onto a page without writing code. Typeform, Wufoo, JotForm, and Gravity Forms all have payment features built in. You pick a template, add your fields, connect a payment processor, and publish. These services handle the security and data storage for you. The trade-off is that you pay a monthly fee (usually $20 to $100 depending on the number of responses and features), and the form lives on their domain unless you upgrade.

If you already have a website built on WordPress, Shopify, Squarespace, or Wix, those platforms have built-in form and payment tools. WordPress sites can use Gravity Forms or WPForms. Shopify and Wix have native checkout flows. Squarespace has a form block that connects to Stripe. This route keeps everything under one roof and is often cheaper if you're already paying for the platform.

Custom code — building the form yourself using HTML, JavaScript, and a payment API — gives you the most control but requires technical skill or hiring a developer. You would write the form code, integrate a payment processor's API (Stripe and PayPal both provide detailed documentation), and set up your own database to store responses. This is the right choice only if you need something the existing tools cannot do, or if you're building a high-volume system where the monthly fees would exceed the cost of development.

How to connect a payment processor to your form

A payment processor is the service that actually handles the money. The three most common are Stripe, PayPal, and Square. Each one provides an API or integration that you plug into your form builder or website.

If you're using a form builder like Typeform or Wufoo, you usually just log into your payment processor account, generate an API key (a long string of characters that proves you own the account), and paste it into the form builder's settings. The form builder then handles the rest — it sends the payment details securely to the processor, waits for approval, and stores a record that the payment went through.

Stripe is the most developer-friendly and works with almost every form builder and website platform. PayPal is the most recognizable to customers and requires fewer setup steps. Square is strong if you're also taking in-person payments and want one dashboard for everything.

All three charge a fee per transaction — usually 2.2% to 3% plus $0.30 per payment, though rates vary by country and payment method. They all handle the encryption and security standards (PCI DSS compliance) automatically, so you don't have to worry about storing card numbers yourself.

What fields to include and how to organize them

Keep the form as short as possible. Every field you add increases the chance someone will abandon it halfway through. At minimum, collect: first name, last name, email address, and payment method. Beyond that, it depends on what you're registering people for.

For a workshop or event, add the date or time slot they're choosing, and any dietary restrictions or accessibility needs. For a membership or subscription, add the membership tier they're selecting. For a donation, add an optional message or dedication. For a course, add their intended start date or learning goals if it matters to you.

Organize the form in a logical order: contact information first, then event or product details, then payment. Use section breaks or page breaks if the form is long — form builders let you split a form across multiple screens, which makes it feel less overwhelming. Put required fields at the top and optional fields at the bottom.

Use dropdown menus for options with a fixed list (membership tiers, event dates, country). Use text fields for open-ended answers. Use checkboxes for multiple selections and radio buttons for a single choice. Avoid free-text fields unless you really need them — they slow people down and create data you have to clean up later.

Security and data storage requirements

Payment information is regulated. You cannot store credit card numbers on your own server or in a spreadsheet. The payment processor stores the card details in their encrypted vault, and you receive only a token — a reference number that lets you charge the card again later without storing the actual number.

Your form builder or website platform should be PCI DSS compliant, which means it meets the Payment Card Industry Data Security Standard. This is a set of rules about how payment data can be handled. Stripe, PayPal, Square, Typeform, Wufoo, Gravity Forms, Shopify, and Wix are all PCI compliant. If you're building custom code, you need to make sure your code is compliant too — which usually means using a payment processor's hosted payment form (a form they provide that you embed in your page) rather than collecting card details yourself.

The other information people enter — name, email, address, phone number — can be stored in your database or spreadsheet. Use a service with encryption and regular backups, like Google Forms (which stores responses in Google Sheets), Typeform, or a proper database service. Do not store passwords or sensitive information like Social Security numbers unless you have a specific reason and the right security in place.

Testing before you go live

Every payment processor provides test card numbers that let you run transactions without charging real money. Stripe's test card is 4242 4242 4242 4242. PayPal has a sandbox environment. Square has test mode. Use these to test your form end-to-end: fill it out, submit it, confirm the payment goes through, and check that the data appears in your database or spreadsheet.

Test with different browsers (Chrome, Safari, Firefox) and on mobile phones, because people will use all of them. Test what happens if someone enters an invalid card number, or if the payment times out. Test that confirmation emails go out correctly and that you receive a notification when a payment comes in.

Once you're confident it works, switch from test mode to live mode. This is usually a toggle in your payment processor's dashboard. At that point, real payments will start going through, so make sure you're ready to fulfill whatever you're selling — send the course link, add them to the event list, process the membership, or deposit the donation.

Common problems and how to fix them

The form looks broken on mobile phones. Most form builders are responsive by default, but check your preview on an actual phone. If fields are too wide or buttons are hard to tap, adjust the form width or button size in the builder's settings. Test on both iPhone and Android.

Payments are being declined even though the card is valid. This usually means your payment processor's fraud detection flagged the transaction. Check your processor's dashboard for declined transactions and the reason code. Common causes are mismatched billing address, card not activated for online purchases, or the processor's fraud rules being too strict. You can usually adjust fraud settings in your processor's dashboard.

Confirmation emails aren't going out. Check that you've entered the correct email address in your form builder's notification settings. Check the spam folder. If emails are still missing, some payment processors have a delay before they send notifications — usually a few minutes. If it's been hours, contact your form builder's support.

You're not receiving the data people enter. Confirm that your form is connected to the right database or spreadsheet. In Typeform, check that responses are being sent to the right destination. In Gravity Forms, check that the form is connected to the right post type or database. In Google Forms, responses should appear automatically in the linked Google Sheet.

Frequently Asked Questions

Do I need a business license or tax ID to collect payment through a form?

That depends on what you're selling and where you live. If you're collecting donations, most places don't require a license. If you're selling a product or service, you may need a business license and may owe sales tax or income tax. Check with your local tax authority or a tax professional. Your payment processor will send you a 1099 form at the end of the year if you earn over a certain amount.

Can I use a form builder's payment feature if I don't have a business bank account?

Most payment processors require a bank account in your name to deposit the money. Some allow personal accounts, but business accounts are more reliable. If you don't have a bank account yet, open one before you launch the form. It usually takes a few days.

What happens if someone disputes a charge after paying through my form?

The payment processor handles the dispute process. The customer contacts their bank or card company, and the processor investigates. You can provide evidence (the registration form they filled out, confirmation emails, delivery records) to support your case. Most processors give you 7 to 10 days to respond. If you lose the dispute, the money is refunded to the customer and you're charged a dispute fee (usually $15 to $25).

Can I offer a discount code or coupon through the form?

Yes. Most form builders and payment processors support discount codes. In your form builder, add a field for a coupon code, then set up rules that reduce the total price if a specific code is entered. Stripe and PayPal both support coupon codes in their dashboards. Test the code before making the form live to make sure the discount applies correctly.

How long does it take for money to show up in my bank account?

Most payment processors deposit money within 1 to 3 business days. Stripe and PayPal typically deposit on the next business day. Square can deposit the same day. Check your processor's dashboard to see the deposit schedule. Your bank may take an additional day to process the deposit.