To add a Stripe payment form to WordPress, install Giraforms Pro, go to Giraforms > Settings > Payments and enter your Stripe API keys. Then add a Form Container block to any page, add the Stripe Payment field, configure the amount (fixed or dynamic), set up email notifications, and publish. Stripe processes payments directly — no extra gateway plugin needed. Giraforms Pro is required for the payment field.
Stripe processed over $1 trillion in payments in 2023, making it the most trusted developer payment platform globally (Stripe Annual Report, 2024). For WordPress site owners, integrating Stripe has traditionally meant installing dedicated WooCommerce or payment gateway plugins, each with its own configuration complexity. Giraforms Pro takes a simpler approach: a native Stripe Payment field that lives inside the Gutenberg block editor, working alongside your other form fields without any extra layers.
This guide covers the complete setup from scratch — from creating your Stripe account to handling your first live payment — including how to test safely before going live.
What you need before you start
Before touching any settings, make sure you have the following in place. Missing any one of these will block the setup at a later step.
- Giraforms Pro license — the Stripe Payment field is a Pro-only feature. See pricing.
- A Stripe account — free to create at stripe.com. You only pay per transaction; there's no monthly fee.
- An SSL certificate on your WordPress site — Stripe's security requirements mandate HTTPS. All modern hosting providers offer free SSL via Let's Encrypt. If your site still runs on HTTP, contact your host before setting up payments.
- WordPress 6.0 or later — earlier versions have block editor compatibility issues that may affect the payment field rendering.
Once you've confirmed all four, you're ready to start. The entire setup typically takes 15–20 minutes end to end.
Step 1 — Create a Stripe account and get your API keys
If you don't already have a Stripe account, sign up at stripe.com. The process is straightforward — email, password, business details. Once logged in, go to Developers > API keys in the left navigation. You'll see two keys listed: a Publishable key (starts with pk_) and a Secret key (starts with sk_).
Stripe provides two environments: Test mode and Live mode, each with its own set of API keys. The toggle between them is at the top right of the Stripe dashboard. Always start with test mode keys during setup. Test transactions don't charge real cards, don't move real money, and are clearly separated from live data in your Stripe dashboard. You'll switch to live keys only after you've successfully verified the complete flow.
Copy both the Publishable key and Secret key from the Test mode view. Keep the browser tab open — you'll paste these into WordPress in the next step.
Step 2 — Connect Stripe in Giraforms Settings
In your WordPress admin, navigate to Giraforms > Settings > Payments. You'll see two input fields: Stripe Publishable Key and Stripe Secret Key. Paste the keys you copied from Stripe into the respective fields and click Save Settings.
Use test mode keys during setup. Stripe provides test card numbers (e.g., 4242 4242 4242 4242) that you can use to verify transactions work correctly — without any real charges. Only switch to live keys once you've completed a successful test transaction.
After saving, Giraforms verifies the connection by making a lightweight API call to Stripe. If the keys are valid, a green confirmation badge appears. If you see an error, double-check that you copied both keys correctly and that you're using test keys (not live keys for this step).
Step 3 — Create a form and add the Stripe Payment field
Open the page where you want to collect payments in the WordPress block editor. Insert a Form Container block using the + inserter or the /giraforms slash command. If you don't have an existing payment form, create a new one inline.
Inside the Form Container, build the form fields that gather information from the buyer: a Text field for their name, an Email field (required — this is where the receipt confirmation will go), and optionally a Textarea for order notes or special instructions. Once your information fields are in place, use the block inserter again to add the Stripe Payment field. This renders a secure, Stripe-hosted card input element directly on your page. The card data never touches your WordPress server — it's sent directly to Stripe's servers, keeping your site compliant with PCI-DSS requirements.
Step 4 — Configure the payment amount
Click on the Stripe Payment field block to open its settings panel on the right side of the editor. You'll find a Pricing mode dropdown with two options:
- Fixed amount — you enter a specific price (e.g., $49.00). Every submission charges the same amount. Ideal for fixed-price services, event registrations, or donation buttons with a set value.
- Dynamic amount — the payment amount is calculated from another field in your form. Link it to a Number field (quantity × unit price, for example) or a Select/Dropdown field (each option has a predefined price). The charged amount updates in real time as the user makes selections.
Set the currency from the dropdown (USD, EUR, GBP, CAD, AUD, and many others are supported). Make sure the currency matches your Stripe account's settlement currency, or Stripe will apply a conversion fee. For fixed pricing, enter the amount without a currency symbol — just the numerical value (e.g., 49.00).
Step 5 — Configure email notifications
A payment without a confirmation email creates customer anxiety. In the Form Container block settings sidebar, open the Email Notifications panel. Create two notifications: one to yourself (or your admin email) alerting you of a new payment, and one to the customer confirming their transaction.
For the customer confirmation, use the {email} tag in the "To" field to send to whatever email address they entered in the form. In the email body, include the {stripe_amount} placeholder to show the amount charged, along with any other relevant field values. A professional confirmation email reduces support inquiries and increases buyer confidence.
Step 6 — Test the form in test mode
Publish or preview the page containing your form. Fill in the form with test data, then use Stripe's test card: 4242 4242 4242 4242 as the card number, any future date for the expiry (e.g., 12/28), and any 3-digit number for the CVC. Submit the form.
Verify three things after a successful test submission: (1) you receive the admin notification email, (2) the customer confirmation email is sent to the address you entered in the form, and (3) a test payment appears in your Stripe dashboard under Payments (make sure Test mode is toggled on in Stripe). If all three check out, your setup is correct and you're ready to go live.
Step 7 — Switch to live mode
In your Stripe dashboard, toggle from Test mode to Live mode at the top right. Navigate to Developers > API keys again and copy the live Publishable key and Secret key (these start with pk_live_ and sk_live_ respectively).
Never use live API keys in a development or staging environment. Live keys process real charges. Always complete your testing with test keys, and only paste live keys into your production WordPress site.
In WordPress, go back to Giraforms > Settings > Payments and replace the test keys with your live keys. Save settings. Your payment form is now live and will process real credit card transactions. Perform one final test with a real card (a small amount) to confirm the end-to-end live flow works as expected, then refund it from the Stripe dashboard.
Understanding Stripe fees
Stripe charges approximately 2.9% + $0.30 per successful card transaction in the United States. Rates vary by country — European cards typically attract lower rates, and international cards may add a small cross-border fee. You can find exact rates for your country in the Stripe pricing page.
Giraforms does not add any additional transaction fees on top of Stripe's rates. Your total cost per payment is: Giraforms Pro annual license (divided across your payment volume) plus Stripe's per-transaction fee. For payout timing, Stripe deposits funds to your connected bank account on a 2-business-day rolling basis in the US (7 days for new accounts, adjusting to 2 days as your account history builds). See the Stripe documentation for full details on the Giraforms payment configuration options.