Payments

Payment integrations are one of the provided integrations with Formie, and are used to capture payments (one-time, or subscription) when users fill out the form.

You can create Payment integrations by going to FormieSettingsPayments. You can pick from a list of providers Formie supports, and provide details for connecting to their respective APIs. You can also create multiple Payment integrations, in case you need to connect to multiple, different providers.

Due to their sensitive nature, it's highly recommended to store API keys in your .env file. This will also make switching from development to production easier.

To use payment integrations in your form, add a Payment field to your form and select the configured integration to use.

Supported Providers

Formie integrates with the following providers:

  • Stripe (One-time and Subscription)
  • PayPal (One-time)

Is your provider not in the list above? Contact us to submit your interest, or look at the Custom Integration docs to write your own provider support.

Stripe

Follow the below steps to connect to the Stripe API.

Step 1. Create the Integration

  1. Navigate to FormieSettingsPayments.
  2. Click the New Integration button.
  3. Select Stripe as the Integration Provider.

Step 2. Connect to the Stripe API

  1. Go to your Stripe API Keys page in your Stripe dashboard.
  2. On the top-right of your screen, ensure the Test Mode lightswitch is in the off position if you wish to use Live details, or on if you wish to use Test details.
  3. On the top-right of your screen, click Developers.
  4. On the left-hand sidebar, click API Keys.
  5. Copy the Publishable Key from Stripe and paste in the Publishable Key field in Formie.
  6. Copy the Secret Key from Stripe and paste in the Secret Key field in Formie.
  7. We strongly recommend you use .env variables to store these keys.

Step 3. Test Connection

  1. Save this integration.
  2. Click on the Refresh button in the right-hand sidebar.

Step 4. Configure Webhooks (for subscriptions)

  1. In order for subscriptions to work, you must populate some settings for webhooks.
  2. In Stripe, on the top-right of your screen, click Developers.
  3. On the left-hand sidebar, click Webhooks.
  4. Click the Add an endpoint button.
  5. Copy the Redirect URI from below and paste in the Endpoint URL in Stripe.
  6. Click the Select Events button under the "Select events to listen to" heading.
  7. We recommend emitting all possible events, but the required events are:
    • customer.subscription.created
    • customer.subscription.deleted
    • customer.subscription.updated
    • invoice.created
    • invoice.payment_failed
    • invoice.payment_succeeded
    • plan.deleted
    • plan.updated
  8. Once created look for the Signing secret item and click Reveal Secret.
  9. Copy the Signing secret from Stripe and paste in the Webhook Signing Secret field in Formie.

Step 5. Field Setting

  1. Go to the form you want to enable this integration on.
  2. Add a Payment field to your form.
  3. Select Stripe for the Payment Provider.

Your form must use the Ajax (Client-side) submission method when using the Stripe payment integration in your form.

The Stripe payment integration supports both once-off payments and subscription-based payments.

PayPal

Follow the below steps to connect to the PayPal API.

Step 1. Create the Integration

  1. Navigate to FormieSettingsPayments.
  2. Click the New Integration button.
  3. Select PayPal as the Integration Provider.

Step 2. Connect to the PayPal API

  1. Go to your PayPal REST API application settings.
  2. Select either Sandbox or Live and click the Create App button.
  3. Enter a App Name and select Merchant for the App Type.
  4. Copy the Client ID from PayPal and paste in the Client ID field in Formie.
  5. Copy the Secret from PayPal and paste in the Client Secret field in Formie.

Step 3. Test Connection

  1. Save this integration.
  2. Click on the Refresh button in the right-hand sidebar.

Step 4. Field Setting

  1. Go to the form you want to enable this integration on.
  2. Add a Payment field to your form.
  3. Select PayPal for the Payment Provider.

The PayPal payment integration supports only once-off payments.

Previous ← CRM Next Webhooks →

Get started with Formie

Available for Craft 4. Get it from the plugin store.