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.Dynamic links are perfect for email campaigns, invoices, customer portals, and any situation where you want to streamline the payment process.
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
Add language parameters to display your payment page in different languages: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
Enable “Readonly dynamic fields” in Settings → Payment Page to prevent customers from editing pre-filled information.
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
When using
?product=
links, amount constraints are ignored as the product price is fixed.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 |
Most programming languages have built-in URL encoding functions (
encodeURIComponent
in JavaScript, urlencode
in PHP, urllib.parse.quote
in Python).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.