Skip to main content

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:
https://payrequest.me/{your-handle}
Example:
https://payrequest.me/acme-corp
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:
ParameterLanguageExample
?lang=enEnglish (default)https://payrequest.me/acme-corp?lang=en
?lang=nlDutchhttps://payrequest.me/acme-corp?lang=nl
Example:
https://payrequest.me/acme-corp?lang=nl
All payment page text, buttons, and labels will automatically translate based on the selected language. The query parameter format provides maximum flexibility and readability. Basic Structure:
https://payrequest.me/{handle}?parameter=value&parameter2=value2

Supported Parameters

ParameterTypeDescriptionExample
productintegerProduct ID to display?product=1814
amountdecimalPayment amount (EUR)?amount=25.50
methodstringPre-select payment method?method=ideal
namestringCustomer name?name=John%20Doe
emailstringCustomer email?email=john@example.com
addressstringStreet address?address=Main%20Street%20123
citystringCity name?city=Amsterdam
postalstringPostal/ZIP code?postal=1012AB
notesstringPayment notes?notes=Monthly%20subscription
langstringLanguage (en/nl)?lang=nl
customfield_*stringCustom 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

Direct customers to pay for a specific product:
https://payrequest.me/acme-corp?product=1814
What happens:
  • 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:
https://payrequest.me/acme-corp?product=1814&name=John%20Doe&email=john@example.com
Benefits:
  • 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:
https://payrequest.me/acme-corp?product=1814&name=John%20Doe&email=john@example.com&address=Main%20Street%20123&city=Amsterdam&postal=1097CR&lang=nl
Includes:
  • Product information
  • Customer details
  • Address information
  • Language preference (Dutch)

4. Custom Amount Payment

For flexible payment amounts without a specific product:
https://payrequest.me/acme-corp?amount=150.00&name=John%20Doe&email=john@example.com&method=ideal
Use cases:
  • Donation requests
  • Partial payments
  • Flexible invoicing
  • Service deposits

5. Custom Fields Integration

Pass additional information using custom fields:
https://payrequest.me/acme-corp?product=1814&customfield_productcode=PROD-2024&customfield_size=large&customfield_color=blue
Custom field format:
  • Prefix: customfield_
  • Field name: Any alphanumeric name
  • Example: customfield_reference, customfield_order_number
Display: Custom fields appear in the “Additional Information” section on the payment page and are stored with the order.

Setup Fees Display

When linking to a product with a setup fee:
https://payrequest.me/acme-corp?product=1814
Automatic display:
  • 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:
https://payrequest.me/acme-corp?product=1859
Automatic behavior:
  1. Payment page shows “Recurring” badge
  2. Customer pays first installment + setup fee
  3. SEPA mandate is automatically created during payment
  4. Future payments process automatically using the mandate
  5. 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
Example with read-only enabled:
https://payrequest.me/acme-corp?product=1814&name=John%20Doe&email=john@example.com
→ Name and email fields are visible but cannot be changed

Payment Page Settings

Configure payment page behavior in Settings → Payment Page:

Display Options

SettingDescriptionImpact on Links
Show customer loginDisplay login promptCustomers can log in to auto-fill their saved details
Show order notesDisplay notes fieldCustomers can add custom notes to payments
Readonly dynamic fieldsLock pre-filled fieldsURL parameters cannot be edited by customer
Page activeEnable/disable payment pageAll 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

Create personalized payment links for email campaigns:
<a href="https://payrequest.me/yourhandle?product=123&name={{customer_name}}&email={{customer_email}}&lang={{customer_language}}">
  Pay Now
</a>

CRM Integration

Generate dynamic links from your CRM:
const paymentLink = `https://payrequest.me/yourhandle?` +
  `product=${productId}` +
  `&name=${encodeURIComponent(customer.name)}` +
  `&email=${encodeURIComponent(customer.email)}` +
  `&customfield_reference=${orderId}` +
  `&lang=${customer.language}`;
Add direct payment links to your invoices:
https://payrequest.me/yourhandle?amount={{invoice_total}}&name={{customer_name}}&email={{customer_email}}&notes=Invoice%20{{invoice_number}}

URL Encoding

Always encode special characters in URLs:
CharacterEncodedExample
Space%20John DoeJohn%20Doe
@%40user@example.comuser%40example.com
&%26Smith & CoSmith%20%26%20Co
#%23Apt #5Apt%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

Check:
  1. Payment page is active (Settings → Payment Page)
  2. Product ID exists and belongs to your account
  3. URL parameters are properly encoded
  4. Handle is correct (case-sensitive)

Pre-filled data not showing

Causes:
  1. Parameter names must be exact (lowercase)
  2. Special characters need URL encoding
  3. Product parameter overrides amount parameter

Customer can edit locked fields

Solution: Enable “Readonly dynamic fields” in Settings → Payment Page → Options

Wrong language displays

Fix: Add ?lang=nl or ?lang=en parameter to URL. Default is English.

Examples Library

Basic Product Payment

https://payrequest.me/yourhandle?product=1814

Dutch Product Payment

https://payrequest.me/yourhandle?product=1814&lang=nl

Pre-filled Customer Data

https://payrequest.me/yourhandle?product=1814&name=John%20Doe&email=john@example.com

Custom Amount with iDEAL

https://payrequest.me/yourhandle?amount=99.50&method=ideal&name=Jane%20Smith&email=jane@example.com

Complete Address Information

https://payrequest.me/yourhandle?product=1814&name=John%20Doe&email=john@example.com&address=Main%20Street%20123&city=Amsterdam&postal=1012AB

Subscription with Custom Fields

https://payrequest.me/yourhandle?product=1859&name=Business%20Corp&email=billing@business.com&customfield_company_id=BC-2024&lang=nl

Need Help?