Payment Settings
Payment Settings configure online payment for the entire FormBuilder module. Both PayPal and Stripe are supported.
How Does This Relate to Form Settings?
This page holds the global payment parameters (API keys, currency, Webhooks) for the whole module. Individual forms consume these settings through the Product, Quantity, Total, and Shipping elements.
Module Binding
Before configuring payment methods, bind the DNNGo FormBuilder Payment module. All payment flows redirect to the page that hosts this module to complete checkout.
Binding Steps
- Create a dedicated page in DNN (e.g., named Checkout)
- Add the DNNGo FormBuilder Payment module to that page
- Return to Payment Settings, open the Module Binding drop-down, and select the module you just added (shown as
Page Name / Module Name, e.g.,Checkout / DNNGo FormBuilder Payment)
Prerequisite
Bind the module first — otherwise payment submissions cannot redirect to a checkout page. When not bound, the drop-down shows Not bound.
General
Currency
The currency code used for all payments (required). For example: USD, EUR, HKD, CNY.
Currency Codes
Use standard ISO 4217 currency codes. Common codes:
USD— US DollarEUR— EuroGBP— British PoundHKD— Hong Kong DollarCNY— Chinese YuanJPY— Japanese Yen
PayPal
PayPal payment integration.
Enabled
Turn on to activate PayPal as a payment method.
Client ID
Your PayPal application's Client ID.
Client Secret
Your PayPal application's Client Secret.
Get Your PayPal Client ID and Client Secret
- Go to the PayPal Developer Dashboard and log in with your PayPal merchant account
- Open Apps & Credentials
- Choose the environment: Live (production) or Sandbox (test)
- Click Create App, enter an app name, and link your merchant account
- On the app details page, copy the Client ID and Client Secret
- Paste them into the corresponding fields in FormBuilder
📖 Official docs: Get Started with PayPal REST APIs
Mode
Choose the PayPal runtime environment:
- Live: Production (real transactions)
- Sandbox: Test environment
Use Sandbox for testing
Develop and test in Sandbox mode first. Switch to Live only when everything is working correctly.
Funding Sources
Select the PayPal payment methods to enable. Options:
| Payment Method | Description |
|---|---|
| PayPal | PayPal balance payment |
| Debit/Credit Card | Debit/Credit card |
| Pay Later | Pay later (installments) |
| PayPal Credit | PayPal Credit payment |
| Venmo | Venmo digital wallet |
| SEPA | Single Euro Payments Area |
| Bancontact | Belgian bank card |
| EPS | Austrian online payment |
| giropay | German online bank transfer |
| iDEAL | Dutch online payment |
| Przelewy24 | Polish online payment |
| SOFORT | European instant bank transfer |
| Mercado Pago | Latin American online payment |
| MyBank | Italian bank transfer |
Which Payment Methods Should I Enable?
Pick methods based on your target market:
- Global audience: PayPal + Debit/Credit Card
- Europe: add SEPA, giropay, iDEAL, SOFORT
- US: add Venmo, Pay Later
Webhook URL
The system-generated PayPal Webhook callback URL. Register this URL in your PayPal application to receive payment status notifications.
Register the Webhook in PayPal
- Copy the Webhook URL from FormBuilder's Payment Settings
- Open the app details page in the PayPal Developer Dashboard
- Scroll to Webhooks and click Add Webhook
- Paste the Webhook URL into the Webhook URL field
- Under Event types, check:
PAYMENT.CAPTURE.COMPLETED— Payment completedPAYMENT.CAPTURE.DENIED— Payment deniedPAYMENT.CAPTURE.REFUNDED— Payment refunded
- Click Save
📖 Official docs: PayPal Webhooks
Stripe
Stripe payment integration.
Enabled
Turn on to activate Stripe as a payment method.
Publishable Key
Your Stripe Publishable Key (public key).
Secret Key
Your Stripe Secret Key (private key).
Get Your Stripe API Keys
- Go to the Stripe Dashboard and log in
- For testing, switch to Test mode in the top-left corner
- Open Developers → API keys
- Copy the Publishable key and paste it into FormBuilder's Publishable Key field
- Click Reveal test key (or live key) to show the Secret key, then copy it into the Secret Key field
📖 Official docs: Stripe API Keys
Webhook Secret
The Stripe Webhook Signing Secret, used to verify that incoming Webhook notifications are genuinely from Stripe.
Webhook URL
The system-generated Stripe Webhook callback URL. Register this endpoint in your Stripe Dashboard.
Create the Webhook Endpoint in Stripe
- Copy the Webhook URL from FormBuilder's Payment Settings
- Open the Stripe Dashboard
- Go to Developers → Webhooks
- Click Add endpoint
- Paste the Webhook URL into Endpoint URL
- Under Events to send, add:
payment_intent.succeeded— Payment successfulpayment_intent.payment_failed— Payment failedcharge.refunded— Refunded
- Click Add endpoint
- On the endpoint details page, click Reveal to view the Signing secret
- Copy the Signing secret into FormBuilder's Webhook Secret field
📖 Official docs: Stripe Webhooks
API Version
The API version of the Stripe Webhook endpoint. The structure of the event data Stripe returns differs between versions, so this must match the endpoint.
Find the Correct Version
- Log in to the Stripe Dashboard
- Go to Developers → Webhooks and open the endpoint you created
- Note the API version shown in the details (e.g.,
2024-06-20) - Enter the same version here
Keep it in sync with the endpoint created in Create the Webhook Endpoint in Stripe — a mismatch can cause event-data parsing failures.
Usage Flow
- Create a checkout page, add the DNNGo FormBuilder Payment module, and bind it under Module Binding
- Set the Currency and configure PayPal or Stripe API keys
- Add Product, Quantity, Total, and Shipping elements to your form
- On submission, FormBuilder creates an order and redirects the user to the bound checkout page
- After payment, send a confirmation email using the Payment Notification template in Notifications
Next Steps
- Product — The core e-commerce element
- Total — Auto-calculates the order total
- Notifications — Payment notification email templates