Payment Links Not Pre-Filling
If your payment form fields aren’t being pre-filled when a customer clicks a generated payment link, follow the steps below to diagnose and fix the issue. This is one of the most common support questions and is almost always caused by a configuration mismatch.
Step 1: Verify a Payment Page Is Selected
The most basic requirement is that a payment page must be selected in the plugin settings. Without this, the plugin has no base URL to build links from.
- Go to Payment Links > Settings.
- Check the Payment Page dropdown. It should show the title of your payment/checkout page.
- If it shows “Select a page” or is empty, select your payment page and click Save Changes.
If you’re unsure which page to select, navigate to the page on your site that contains your payment form and note its title.
Step 2: Check Parameter Names Match Your Form
This is the most common cause of pre-fill failures. The parameter names configured in the plugin must exactly match the query parameter names your form plugin expects.
- Go to Payment Links > Settings > Form Field Mapping.
- Review each parameter name (First Name, Last Name, Email, Amount).
- Compare these with your form plugin’s documentation for URL pre-population.
Common mismatches to check:
| Field | You might have | Your form might expect |
|---|---|---|
| First Name | fname |
first_name or first-name |
| Last Name | lname |
last_name or last-name |
email |
user_email or email_address |
|
| Amount | amount |
price or total or payment_amount |
Tip: Parameter names are case-sensitive. Email is not the same as email.
Step 3: Confirm Your Form Reads URL Parameters
Not all form plugins automatically read query parameters from the URL. Your form plugin must support “URL pre-population” or “query string parameters” for this to work.
Forms that support URL pre-population:
- Gravity Forms — Enable “Allow field to be populated dynamically” in each field’s Advanced settings and set the parameter name.
- WPForms — Supports Smart Tags and URL parameter pre-fill. Requires specific configuration per field.
- Formidable Forms — Supports URL parameter population via field settings.
- Ninja Forms — Requires the “Populate Fields” extension or custom JavaScript.
- Contact Form 7 — Does not natively support URL pre-population. Requires custom JavaScript or an add-on.
Check your specific form plugin’s documentation for setup instructions.
Step 4: Test the URL Manually
Generate a test payment link and inspect it directly:
- Fill in test data on the generator page and click Generate Link (not Send).
- Copy the generated URL from the output area.
- Paste it into a new browser tab (or an incognito window to avoid caching).
- Check the URL bar to confirm the parameters are present and properly formatted. You should see something like:
https://yoursite.com/payment/?first_name=John&last_name=Doe&email=john@example.com&amount=99.99 - If the parameters are in the URL but the form isn’t pre-filling, the issue is with your form configuration, not the plugin.
Step 5: Check for URL Conflicts
If your payment page URL already contains a query string (a ? character), the plugin must append parameters with & instead of ?. The plugin handles this automatically, but verify in the generated output:
- Correct:
https://yoursite.com/payment/?page_id=5&first_name=John&... - Incorrect:
https://yoursite.com/payment/?page_id=5?first_name=John&...(double question mark)
If you see a double question mark, please report this as a bug.
Step 6: Check for Special Character Issues
Special characters in names or email addresses can cause URL encoding issues:
- Names with apostrophes: O’Brien becomes
O%27Brienin the URL. - Names with accents: Rene becomes
Ren%C3%A9. - Email addresses with plus signs: user+tag@example.com becomes
user%2Btag%40example.com.
Most form plugins handle URL-decoded values correctly, but if you see garbled text in the form fields, the issue may be with how the form plugin processes encoded characters.
Still Not Working?
If none of the above steps resolve the issue:
- Open your browser’s Developer Tools (F12) and check the Console tab for JavaScript errors.
- Check the Network tab to see if the payment page is redirecting (which can strip query parameters).
- Try a different browser to rule out extensions that might modify URLs.
- Contact support with: your generated URL, your form plugin name and version, and screenshots of your Form Field Mapping settings.
