Overview
Payment Page Dynamic Links allow you to create customized payment URLs with pre-filled information, making it easier for your customers to complete payments. These links can include customer details, product information, amounts, and even custom fields - all automatically populated when your customer clicks the link.Base URL Structure
Your payment page is accessible via a clean, branded URL:You can customize your handle in Settings → Payment Page. If you haven’t set a handle, your business name is used by default.
Language Support
Language Switcher (Interactive)
All payment pages now include a language switcher dropdown in the top-right corner, allowing customers to switch between languages with a single click. Features:- 🇬🇧 English and 🇳🇱 Dutch available
- Flag emoji indicators for easy recognition
- Preserves all URL parameters when switching (invoice numbers, product IDs, etc.)
- Automatically updates all text, buttons, and labels
- Fixed position button showing current language flag (🇬🇧 or 🇳🇱)
- Dropdown menu with both language options
- Instant language switching without losing payment context
Language URL Parameter
You can also set the language via URL parameter:| Parameter | Language | Example |
|---|---|---|
?lang=en | English (default) | https://payrequest.me/acme-corp?lang=en |
?lang=nl | Dutch | https://payrequest.me/acme-corp?lang=nl |
Query Parameter Format (Recommended)
The query parameter format provides maximum flexibility and readability. Basic Structure:Supported Parameters
| Parameter | Type | Description | Example |
|---|---|---|---|
product | integer | Product ID to display | ?product=1814 |
amount | decimal | Payment amount (EUR) | ?amount=25.50 |
method | string | Pre-select payment method | ?method=ideal |
name | string | Customer name | ?name=John%20Doe |
email | string | Customer email | ?email=john@example.com |
address | string | Street address | ?address=Main%20Street%20123 |
city | string | City name | ?city=Amsterdam |
postal | string | Postal/ZIP code | ?postal=1012AB |
notes | string | Payment notes | ?notes=Monthly%20subscription |
lang | string | Language (en/nl) | ?lang=nl |
customfield_* | string | Custom field value | ?customfield_size=large |
When a
product parameter is provided, the amount is automatically set to the product price (including setup fees) and cannot be changed by the customer.Common Use Cases
1. Product Payment Link
Direct customers to pay for a specific product:- Product details are displayed (name, description, image)
- Price is automatically set (including setup fees if applicable)
- Amount field is hidden (customer cannot change price)
- Recurring badge shown for subscription products
2. Pre-filled Customer Details
Send personalized payment links with customer information already filled in:- Faster checkout experience
- Reduced data entry errors
- Professional customer experience
3. Complete Payment Request
Create a fully pre-configured payment link:- Product information
- Customer details
- Address information
- Language preference (Dutch)
4. Custom Amount Payment
For flexible payment amounts without a specific product:- Donation requests
- Partial payments
- Flexible invoicing
- Service deposits
5. Custom Fields Integration
Pass additional information using custom fields:- Prefix:
customfield_ - Field name: Any alphanumeric name
- Example:
customfield_reference,customfield_order_number
Setup Fees Display
When linking to a product with a setup fee:- Product price: €34.50/month
- Setup fee: €100.00 (with custom name like “Borg” or “Installation”)
- Total Today: €134.50
Setup fees are automatically included in the payment amount. The customer pays both the recurring price and setup fee in the first payment.
Recurring Products & Mandates
For subscription products with recurring payments:- Payment page shows “Recurring” badge
- Customer pays first installment + setup fee
- SEPA mandate is automatically created during payment
- Future payments process automatically using the mandate
- Subscription becomes active after successful mandate creation
This only works with payment methods that support mandates (iDEAL, SEPA Direct Debit, credit card).
Read-Only Fields
Control whether customers can edit pre-filled information: Setting Location: Settings → Payment Page → Options → “Readonly dynamic fields” When enabled:- Pre-filled fields are locked (grayed out)
- Customer cannot modify name, email, or other pre-filled data
- Ideal for personalized payment requests
Payment Page Settings
Configure payment page behavior in Settings → Payment Page:Display Options
| Setting | Description | Impact on Links |
|---|---|---|
| Show customer login | Display login prompt | Customers can log in to auto-fill their saved details |
| Show order notes | Display notes field | Customers can add custom notes to payments |
| Readonly dynamic fields | Lock pre-filled fields | URL parameters cannot be edited by customer |
| Page active | Enable/disable payment page | All payment page links return 404 when disabled |
Amount Constraints
- Minimum amount: Enforce minimum payment value
- Maximum amount: Set upper limit for payments
- Allow custom amount: Let customers enter their own amount
Advanced Integration Examples
Email Campaign Links
Create personalized payment links for email campaigns:CRM Integration
Generate dynamic links from your CRM:Invoice Links
Add direct payment links to your invoices:URL Encoding
Always encode special characters in URLs:| Character | Encoded | Example |
|---|---|---|
| Space | %20 | John Doe → John%20Doe |
| @ | %40 | user@example.com → user%40example.com |
| & | %26 | Smith & Co → Smith%20%26%20Co |
| # | %23 | Apt #5 → Apt%20%23%5 |
Security & Best Practices
✅ Do’s
- URL encode all parameters to prevent formatting issues
- Use HTTPS for secure payment page access
- Enable read-only fields for personalized payment requests
- Test links before sending to customers
- Use product links for fixed-price items
- Add language parameter for international customers
❌ Don’ts
- Don’t include sensitive data like passwords or credit card numbers
- Don’t rely on URL parameters for security (use proper authentication instead)
- Don’t exceed URL length limits (keep under 2000 characters)
- Don’t hardcode customer data without proper consent
Troubleshooting
Link doesn’t work
Check:- Payment page is active (Settings → Payment Page)
- Product ID exists and belongs to your account
- URL parameters are properly encoded
- Handle is correct (case-sensitive)
Pre-filled data not showing
Causes:- Parameter names must be exact (lowercase)
- Special characters need URL encoding
- Product parameter overrides amount parameter
Customer can edit locked fields
Solution: Enable “Readonly dynamic fields” in Settings → Payment Page → OptionsWrong language displays
Fix: Add?lang=nl or ?lang=en parameter to URL. Default is English.