Didion's annual golf tournament previously used 25+ individual Gravity Forms — one per sponsorship level. This article documents the decision to consolidate into a single e-commerce-style form, the technical challenges encountered, and the resolution of a blocking PayPal webhook misconfiguration.
Client: [1]
Key Contact: Diana Henry (dhenry@didioninc.com)
Team: Isahaque Mahmud, Melissa Cusumano
Replace all individual forms with one Gravity Forms e-commerce flow that behaves like a shopping cart:
| Feature | Notes |
|---|---|
| Sponsorship level selector | Product dropdown with label + price per option |
| Dynamic cart total | Updates as selections are made |
| Quantity tracking | "X of Y remaining" per sponsorship level; "Sold Out" when exhausted |
| Unlimited quantity support | Some levels have no cap |
| PayPal checkout | Live (not sandbox) connection via Gravity Forms PayPal add-on |
| 2.9% fee pass-through | Optional: pass PayPal transaction fee to purchaser, as was done previously with Square |
Gravity Forms requires a Product field (not a standard dropdown) to associate prices with selections and feed them into a payment total. The field type should be set to Dropdown within the Product field options.
"The native Gravity Forms quantity field is for a single product, not for tracking multiple, distinct sponsorship options within a dropdown." — Isahaque Mahmud
The built-in Gravity Forms Quantity field (found under Pricing Fields) maps to a single product. It does not support per-option inventory tracking across a multi-choice product dropdown.
Two paths under evaluation:
Status: Under active research. Isahaque committed to a status update within one business day of the meeting.
Some levels have a quantity of 1, others up to 18, and some are unlimited. The implementation must handle all three cases gracefully.
The PayPal webhook registered in Gravity Forms settings was a sandbox webhook URL, not a live one. This was copied over from a sandbox testing session and never replaced, causing payment processing to fail on the live site.
Result: Webhook status now shows Active. Payment processing is unblocked.
"Maybe the roadblock was happening when I was trying to add the sandbox webhook instead." — Diana Henry
When switching from sandbox to production in Gravity Forms PayPal add-on, a full disconnect → reconnect cycle is required to replace the webhook URL. Manually editing the webhook ID in settings does not work.
| Owner | Task | Due |
|---|---|---|
| Isahaque | Research quantity tracking: evaluate Gravity Whiz vs. custom PHP | Next day |
| Melissa | Text Diana with Isahaque's update (email delivery unreliable) | Upon receiving update |
| Isahaque | Confirm live PayPal webhook is functioning end-to-end | Next day |