How to Collect Payments Inside Forms: The Complete Guide
Collect one-time and recurring payments directly inside your forms. No checkout page, no redirects. Learn how to set up PayPal payments in DodoForm and best practices for pricing forms.
Why collect payments inside forms?
Traditional payment flows force users through a multi-step process: fill the form → redirect to checkout → pay → redirect back → confirm. Each redirect drops 15-25% of completions.
Collecting payments **inside the form** keeps the user in one context. They fill their info, see the total, and pay — all on the same page. No redirects. No confusion.
How DodoForm payment fields work
DodoForm's payment field connects directly to PayPal. Here's what happens:
1. **Add a payment field** to any form in the builder
2. **Set the amount** — fixed price, dynamic based on other fields, or user-defined
3. **Choose one-time or recurring** — weekly, monthly, or yearly subscriptions
4. **Respondent fills the form** and sees the payment step inline
5. **PayPal handles the transaction** without leaving the page
6. **Submission is recorded** with payment status, transaction ID, and amount
Setting up your first payment form
Step 1: Enable payments
Navigate to your form settings → Payments → Connect PayPal. You'll need a PayPal business account. The connection is OAuth — no API keys to copy.
Step 2: Add a payment field
Drag the "Payment" field into your form. Configure:
- **Amount type**: Fixed, dynamic (e.g., based on a "plan" dropdown), or open
- **Currency**: USD, EUR, GBP, CAD
- **Frequency**: One-time or recurring
- **Label**: What the user sees (e.g., "Registration fee", "Monthly subscription")
Step 3: Set conditional pricing
Use DodoForm's conditional logic to show different prices:
- If "Plan" equals "Basic", show $19
- If "Plan" equals "Pro", show $49
- If "Plan" equals "Enterprise", show "Contact us" (hide payment field)
Step 4: Test the flow
Use PayPal's sandbox mode to test transactions without real money. DodoForm records every test submission with a "test" flag so you can filter them out later.
Best practices for payment forms
1. Ask for money late in the form.
Collect name, email, and qualifying info first. If they abandon at the payment step, you still have their contact info for follow-up.
2. Show the total clearly.
Don't hide fees. Show the breakdown: subtotal + tax + total. Surprises at checkout kill conversions.
3. Offer both one-time and recurring.
Some users prefer to pay once. Others want the convenience of auto-renewal. Let them choose.
4. Send confirmation emails.
DodoForm triggers a confirmation email automatically after successful payment. Include the transaction ID, amount, and what happens next.
5. Use partial submissions.
Even if a user abandons at the payment step, DodoForm saves everything they entered before. You can follow up with a "complete your purchase" email.
Payment analytics
DodoForm tracks payment metrics automatically:
- **Conversion rate**: Submissions that completed payment vs. started
- **Average order value**: Mean and median transaction amounts
- **Payment failures**: Cards declined, timeouts, user-abandoned
- **Revenue by form**: Which forms generate the most revenue
Supported payment methods
|--------|----------|-----------|-----------|
Stripe support is on the roadmap. For now, PayPal covers the majority of use cases.
Security and compliance
- All transactions use PayPal's PCI-compliant infrastructure
- DodoForm never stores credit card numbers
- Webhook receipts are HMAC-signed for verification
- Payment data is encrypted at rest
Start collecting payments today
Payment fields are available on the Max plan ($49/mo) and Business plan. Connect your PayPal account, add a payment field, and start accepting payments in minutes — no checkout page needed.