Stripe Integration
Formulr integrates with Stripe to allow you to collect payments directly in your forms.
Use Cases
- Paid registrations: Events, training, subscriptions
- Orders: Products, services
- Accepted quotes: Payment after validation
- Donations: Fundraising
Configuration
Stripe integration is native in Formulr. You don't need to create your own Stripe account, everything is managed by Formulr.
Enable Payments
- Settings > Payments
- Enable the feature
- Select the environment:
- Test: For development (fictitious payments)
- Production: For real payments
- Save
Add Payment to Form
Payment Module
- In the campaign editor, add the Payment module
- Configure options:
| Option | Description |
|---|---|
| Amount | Fixed or calculated |
| Currency | EUR, USD, GBP... |
| Description | Displayed label |
| Payment methods | Card, SEPA, etc. |
Fixed Amount
For a single price:
Amount: 49.00 €
Description: Training registrationVariable Amount
For an amount based on responses:
Amount: {{ responses.quantity.value[0] * 25 }}
Description: {{ responses.quantity.value[0] }} items at 25€Free Amount
Let the user choose:
Type: Free amount
Minimum: 5 €
Suggestion: 20 €
Maximum: 500 €Payment Methods
Credit Card
Accepts:
- Visa
- Mastercard
- American Express
- French bank cards
SEPA Direct Debit
For recurring or deferred payments:
- User enters their IBAN
- A SEPA mandate is created
- The debit is processed
Apple Pay / Google Pay
One-click payment on mobile:
- Enable in Stripe settings
- Buttons appear automatically
Payment Process
Standard Flow
- User fills out the form
- At payment step, they enter their information
- Stripe secures the transaction (3D Secure if necessary)
- Payment is confirmed
- Response is saved
Deferred Payment
To pay after validation:
- Form is submitted without payment
- You validate the request
- A payment link is sent
- User pays
- Status is updated
Installment Payment
With Stripe:
- 3x or 4x without fees (depending on your plan)
- Configuration in Stripe Dashboard
- Automatically offered if enabled
Payment Tracking
In Formulr
Each response displays:
| Information | Description |
|---|---|
| Status | Pending, Paid, Failed, Refunded |
| Amount | Sum paid |
| Date | Payment date |
| Reference | Stripe transaction ID |
In Stripe
Find all details:
- Stripe Dashboard > Payments
- Search by reference or email
- View complete history
Receipts and Invoices
Automatic Receipt
Stripe automatically sends a receipt to the payer's email.
Custom Invoice
Generate an invoice from Formulr:
- Create a PDF invoice template
- Include payment variables:
liquid
Invoice no. {{ payment.reference }}
Date: {{ payment.date | date: "%m/%d/%Y" }}
{{ payment.description }}
Amount: {{ payment.amount }} {{ payment.currency }}
Paid by card on {{ payment.date | date: "%m/%d/%Y" }}Workflows with Payment
Payment Notification
[Payment received]
↓
[Send confirmation email]
[Notify team]Conditional Processing
[Payment received]
↓
[If amount > 1000]
→ [Assign to VIP]
→ [Generate premium invoice]
[Else]
→ [Standard processing]Failed Payment
[Payment failed]
↓
[Send alternative payment link]
[Notify support]Refunds
From Formulr
- Open the relevant response
- Payment tab
- Click Refund
- Choose: Total or Partial
- Confirm
From Stripe
Refunds made in Stripe are automatically synchronized.
Test Environment
Test Cards
Use these numbers in test mode:
| Number | Result |
|---|---|
4242 4242 4242 4242 | Successful payment |
4000 0000 0000 0002 | Declined payment |
4000 0000 0000 3220 | 3D Secure required |
Dates and Codes
- Date: Any future date
- CVC: Any 3 digits
- Postal code: Any 5 digits
Security
PCI DSS
- Formulr never stores card data
- Everything goes through Stripe's secure servers
- Automatic PCI DSS compliance
3D Secure
- Automatically enabled according to the bank
- Reduces fraud and disputes
- Transfers liability to the bank
Webhooks
Formulr uses Stripe webhooks for:
- Real-time payment confirmation
- Management of pending payments (SEPA, etc.)
- Refund notifications
Pricing
Payment fees are included in your Formulr subscription. See our pricing page for more details.
Troubleshooting
Common Errors
| Error | Cause | Solution |
|---|---|---|
| "Card declined" | Card declined | Request another card from customer |
| "Insufficient funds" | Insufficient provision | Customer must fund account |
| "3D Secure failed" | Authentication failed | Retry or another card |
Check Configuration
- Settings > Payments
- Verify environment is correctly selected
- Test with test card in Test mode
Next Steps
- Workflows - Automate after payment
- PDF Templates - Custom invoices
- Notifications - Confirmation emails