---
title: PayPal Webhook Configuration — Gravity Forms Live vs Sandbox
type: article
created: '2026-04-05'
updated: '2026-04-05'
source_docs:
- raw/2026-01-22-didion-meet-116503456.md
tags:
- paypal
- gravity-forms
- webhook
- wordpress
- integrations
- debugging
layer: 2
client_source: null
industry_context: null
transferable: true
---

# PayPal Webhook Configuration — Gravity Forms Live vs Sandbox

## Overview

A common misconfiguration when setting up PayPal with Gravity Forms is registering a **sandbox webhook URL** in a live PayPal account (or vice versa). The webhook appears to be configured, but payment notifications silently fail because the endpoint environment doesn't match the account mode.

The fix is straightforward but non-obvious: you cannot simply update the webhook URL in place. You must **disconnect and reconnect** the PayPal add-on from within Gravity Forms settings, which forces the correct live webhook to be registered.

## The Problem

When a developer or site owner sets up the PayPal integration in Gravity Forms while PayPal is in sandbox mode, the webhook URL generated is scoped to the sandbox environment. If the site later goes live — or if the PayPal account was always live — the sandbox webhook URL is never called, and Gravity Forms never receives payment confirmation events.

Symptoms include:
- Form submissions completing on the PayPal side but not updating entry status in Gravity Forms
- Payment status remaining "pending" indefinitely
- No webhook delivery errors visible (the webhook simply isn't being hit)

## The Fix

1. Navigate to **Forms → Settings → PayPal** in the WordPress admin
2. Click **Disconnect PayPal** (this removes the stale sandbox webhook registration)
3. Click **Connect with PayPal** and authenticate against the **live** PayPal account
4. Gravity Forms will register a new, correctly scoped live webhook automatically
5. Verify the webhook shows as **Active** in the PayPal add-on settings

> **Note:** This must be done from the global Gravity Forms settings panel, not from within an individual form's feed configuration.

## Why Reconnecting Works

The Gravity Forms PayPal add-on manages webhook registration automatically during the OAuth connection flow. Attempting to manually edit the webhook ID stored in the plugin settings does not propagate the change to PayPal's side — the registration is tied to the OAuth session established at connection time. A full disconnect/reconnect is the only reliable way to replace the webhook endpoint.

## Client Example

Encountered during a [[clients/didion/_index|Didion]] working session while rebuilding their golf tournament sponsorship form. The PayPal webhook had been configured in sandbox mode, blocking live payment processing. Disconnecting and reconnecting in Gravity Forms settings resolved the issue immediately — the webhook status updated to Active within the same session.

See also: [[meetings/2026-04-05-didion-golf-sponsorship-form-paypal-webhook|Meeting Notes — Didion Golf Sponsorship Form & PayPal Webhook]]

## Related

- [[knowledge/integrations/gravity-forms-ecommerce-sponsorship-form|Gravity Forms E-Commerce Sponsorship Form Design]]
- [[knowledge/integrations/gravity-forms-quantity-tracking|Gravity Forms Multi-Option Quantity Tracking]]
- [[clients/didion/_index|Didion Client Overview]]