PayPal offers several ways to create payment links: PayPal.me for quick personal payments, and PayPal Buttons for business transactions. Here's how to use each.
Key Takeaways
- 1PayPal.me links are simple: paypal.me/username/amount
- 2PayPal Buttons use the webscr URL with parameters
- 3Both work without a website—share anywhere
- 4PayPal.me is best for informal payments; Buttons for business
- 5Always test links before sharing with customers
PayPal.me Links
PayPal.me links are the fastest way to start accepting payments. You claim a username once, and then you have a permanent link you can share anywhere. Perfect for freelancers, small businesses, and personal payments.
PayPal.me is the simplest way to request payments. Create your link at paypal.me:
https://paypal.me/YourUsernamehttps://paypal.me/YourUsername/25https://paypal.me/YourUsername/49.99USDAdding the amount to your URL saves customers a step during checkout. They can still change the amount if needed, making it a suggestion rather than a requirement.
PayPal.me Format
The table below shows the different ways you can structure your PayPal.me link depending on how much control you want over the payment amount.
| Format | Example | Result |
|---|---|---|
| Username only | paypal.me/username | Payer enters amount |
| With amount | paypal.me/username/50 | Suggests $50 (editable) |
| Amount + currency | paypal.me/username/50EUR | Suggests €50 |
Getting Your PayPal.me Link
Go to paypal.me and claim your username. Once set up, your link is paypal.me/YourChosenName.
PayPal Button URLs
When you need more control than PayPal.me offers, button URLs let you specify product names, fixed amounts, and redirect URLs. This approach works better for e-commerce, service invoicing, and any scenario where you need payment tracking.
For more control over payment details, use the PayPal webscr URL:
https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=seller@example.com&item_name=Product%20Name&amount=29.99¤cy_code=USDThis URL tells PayPal exactly what the customer is buying, for how much, and where to send the money. The item name appears in the customer's PayPal receipt and your transaction history.
Button URL Parameters
Understanding these parameters helps you customize the checkout experience. The table shows which parameters are required and what each one controls.
| Parameter | Required | Description |
|---|---|---|
cmd | Yes | _xclick for Buy Now, _donations for donations |
business | Yes | Your PayPal email or Merchant ID |
item_name | No | Product or payment description |
amount | No | Payment amount (omit to let payer decide) |
currency_code | No | USD, EUR, GBP, etc. |
return | No | URL to redirect after payment |
cancel_return | No | URL if payment cancelled |
no_note | No | 1 to hide note field |
no_shipping | No | 1 to hide shipping address |
The return and cancel_return parameters are essential for user experience. They ensure customers return to your site after completing or abandoning payment.
Ready-to-Use Examples
These examples cover the most common payment scenarios. Copy and modify them for your specific use case, replacing the email and product details with your own information.
Sell a Product
https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=your@email.com&item_name=Premium%20Widget&amount=49.99¤cy_code=USD&return=https://yoursite.com/thank-you<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=your@email.com&item_name=Premium%20Widget&amount=49.99¤cy_code=USD"
class="paypal-button">
Buy Now - $49.99
</a>This HTML creates a clickable button that takes customers directly to PayPal checkout with your product pre-selected. Style the link however you want since it is just an anchor tag.
Accept Donations
https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=charity@example.com&item_name=Support%20Our%20Cause¤cy_code=USD<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=charity@example.com&item_name=Support%20Our%20Cause¤cy_code=USD">
❤️ Donate via PayPal
</a>The _donations command type lets the payer choose their donation amount. This is required for nonprofits and recommended for any flexible-amount payment.
Service Payment
https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=freelancer@example.com&item_name=Consulting%20Session%20-%201%20Hour&amount=150.00¤cy_code=USD&no_shipping=1Adding no_shipping=1 skips the address collection step, which makes sense for digital products and services. This reduces friction and speeds up checkout.
Building Links Dynamically
When you need to generate payment links programmatically, such as for invoicing systems or e-commerce integrations, this JavaScript function handles all the URL construction for you.
function createPayPalLink(options) {
const {
email,
itemName,
amount,
currency = 'USD',
returnUrl,
cancelUrl,
isDonation = false
} = options;
const url = new URL('https://www.paypal.com/cgi-bin/webscr');
url.searchParams.set('cmd', isDonation ? '_donations' : '_xclick');
url.searchParams.set('business', email);
if (itemName) url.searchParams.set('item_name', itemName);
if (amount) url.searchParams.set('amount', amount);
url.searchParams.set('currency_code', currency);
if (returnUrl) url.searchParams.set('return', returnUrl);
if (cancelUrl) url.searchParams.set('cancel_return', cancelUrl);
return url.toString();
}
// Usage
const buyLink = createPayPalLink({
email: 'seller@example.com',
itemName: 'Digital Course',
amount: '99.00',
returnUrl: 'https://mysite.com/success'
});
const donateLink = createPayPalLink({
email: 'nonprofit@example.com',
itemName: 'Monthly Donation',
isDonation: true
});This function properly encodes all parameters and handles optional fields gracefully. Use it in your server-side code to generate payment links on the fly.
PayPal.me vs Button URLs
Choosing between PayPal.me and button URLs depends on your use case. The comparison below helps you decide which approach fits your needs.
| Feature | PayPal.me | Button URL |
|---|---|---|
| Setup | Claim username once | Build URL each time |
| Customization | Amount only | Full control |
| Item details | No | Yes |
| Return URLs | No | Yes |
| Best for | Friends, informal | Business, e-commerce |
In general, use PayPal.me for quick, informal payments and button URLs when you need tracking, fixed amounts, or integration with your business systems.
Best Practices
Following these practices ensures reliable payment processing and helps you avoid common issues that frustrate customers and complicate your accounting.
Use HTTPS for return URLs
PayPal requires secure return URLs for production.
Test in PayPal Sandbox
Use sandbox.paypal.com for testing before going live.
Don't rely on return URL for fulfillment
Users may close the browser. Use PayPal IPN or webhooks for reliable payment confirmation.
With your payment links configured correctly, you are ready to start accepting payments. The FAQ below covers additional questions that come up as you use PayPal for business.
Try the URL Builder
Use our PayPal Checkout template to build payment URLs interactively.