# Stripe integration

> Connect Happyforms with Stripe.

Source: /integrations/stripe-integration

> For the complete documentation index, see [llms.txt](/llms.txt).

# Stripe integration

1. Head over to **Forms** → **Integrations** screen.
2. Paste both publishable and secret keys to respective fields in the **Stripe** widget.
3. Click **Save Changes**.

## Webhooks

Webhooks notify Happyforms of successful payments even when your users close their checkout form before completion, or the charge is delayed because of disputes or bank regulations. Here’s how to configure webhooks:

1. Click **Add endpoint** in your Stripe dashboard’s **Developer** → **Webhooks** screen.
2. Copy and paste the **Webhook endpoint URL** from your **Forms** → **Integrations** screen Stripe widget into Stripe’s **Endpoint URL** field.
3. Click **Select events**, then select **payment\_intent.succeeded** under **Payment Intent**.
4. Click **Add endpoint**.
5. In the **Developer** → **Webhooks** screen, click on your newly created webhook, then click **Reveal** under **Signing secret**.
6. Copy and paste the signing secret into your **Forms** → **Integrations** screen Stripe widget **Webhook endpoint secret key** field.
7. Click **Save Changes**.

That’s really all it takes! To start accepting credit card payments through Happyforms now, just add the **Payment** field to your form.

## Test mode

Don’t feel like going live with payments yet? No problem! That’s what Stripe integration’s test mode is for. After adding your test keys, just set **Mode** to **Test** and click **Save Changes**. And done! You can now use any of the test cards available here to double-check that your form is collecting payments flawlessly.\
When you’re ready to publish your form to the public, make sure **Mode** is set to **Live** to make payments live.
