Overview
PayPal is one of the most recognized payment brands worldwide, offering customers the ability to pay with their PayPal balance, linked bank accounts, or credit cards. Its buyer protection builds trust and can increase conversion rates.
Prerequisites
- WordPress Download Manager installed
- Premium Packages add-on activated
- SSL certificate (required)
- PayPal Business account
Creating a PayPal Business Account
- Go to paypal.com/business
- Click Sign Up
- Choose Business Account
- Enter business information
- Verify email and bank account
Getting API Credentials
Step 1: Access Developer Dashboard
- Go to developer.paypal.com
- Log in with your PayPal account
- Go to Apps & Credentials
Step 2: Create App
- Click Create App
- Enter app name (e.g., “My Store”)
- Select Merchant as app type
- Click Create App
Step 3: Get Credentials
┌─────────────────────────────────────────────────────────────┐ │ App Credentials │ ├─────────────────────────────────────────────────────────────┤ │ │ │ Sandbox (Test): │ │ Client ID: AaBbCc123... │ │ Secret: EeFfGg456... [Show] │ │ │ │ Live (Production): │ │ Client ID: HhIiJj789... │ │ Secret: KkLlMm012... [Show] │ │ │ └─────────────────────────────────────────────────────────────┘
Configuring in WPDM
Step 1: Enable PayPal
- Go to Downloads > Settings > Payment Gateways
- Find PayPal
- Check Enable PayPal
Step 2: Enter Credentials
┌─────────────────────────────────────────────────────────────┐ │ PayPal Configuration │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ☑ Enable PayPal │ │ │ │ Title: │ │ [PayPal ] │ │ │ │ Description: │ │ [Pay with PayPal - safe and secure ] │ │ │ │ Mode: │ │ ○ Sandbox (Test) ● Live │ │ │ │ Live Client ID: │ │ [HhIiJj789... ] │ │ │ │ Live Secret: │ │ [KkLlMm012... ] │ │ │ │ Sandbox Client ID: │ │ [AaBbCc123... ] │ │ │ │ Sandbox Secret: │ │ [EeFfGg456... ] │ │ │ │ [Save Settings] │ └─────────────────────────────────────────────────────────────┘
Step 3: Configure Options
Payment Type: ● PayPal Checkout (Recommended) ○ PayPal Standard (Legacy) Checkout Button Style: [Gold ▼] color [Rect ▼] shape [PayPal ▼] label ☑ Enable Pay Later messaging ☑ Enable Credit Card via PayPal
Webhook Configuration
Step 1: Get Webhook URL
In WPDM settings:
Webhook URL: https://yoursite.com/?wpdmpp_gateway=paypal
Step 2: Add in PayPal
- Go to Developer Dashboard > Apps & Credentials
- Select your app
- Scroll to Webhooks
- Click Add Webhook
- Enter your webhook URL
- Select events:
– CHECKOUT.ORDER.APPROVED
– PAYMENT.CAPTURE.COMPLETED
– PAYMENT.CAPTURE.REFUNDED
Step 3: Get Webhook ID
After creating:
- Note the Webhook ID
- Enter in WPDM settings (optional, for verification)
Checkout Experience
PayPal Checkout Button
Modern checkout with PayPal button:
┌─────────────────────────────────────────┐ │ │ │ [PayPal Checkout Button] │ │ │ │ or pay with card via PayPal │ │ │ └─────────────────────────────────────────┘
Checkout Flow
1. Customer clicks PayPal button 2. PayPal popup/redirect opens 3. Customer logs into PayPal 4. Reviews and approves payment 5. Returns to your site 6. Order confirmed
Button Customization
Button Style: ├─ Color: Gold | Blue | Silver | White | Black ├─ Shape: Rect | Pill ├─ Label: PayPal | Checkout | Buy Now | Pay └─ Size: Small | Medium | Large | Responsive
Payment Methods via PayPal
PayPal Account
- PayPal balance
- Linked bank account
- Linked credit/debit card
Pay with Card (No PayPal Account)
Customers can pay with card through PayPal without creating an account:
☑ Enable Guest Checkout (Pay with Card)
Pay Later
Buy now, pay later options:
☑ Enable Pay Later ├─ Pay in 4 (US, UK, AU) ├─ Pay Monthly (credit) └─ Show Pay Later messaging on product pages
Venmo (US Only)
☑ Enable Venmo (Only available to US customers)
Currency Settings
Supported Currencies
PayPal supports 25+ currencies including:
- USD, EUR, GBP, CAD, AUD
- JPY, CHF, SEK, NOK, DKK
- And more…
Currency Configuration
Payment Currency: ● Site currency (USD) ○ Specific currency: [USD ▼] ☐ Convert to PayPal currency if different
Testing PayPal
Sandbox Accounts
- Go to Developer Dashboard
- Click Sandbox > Accounts
- Create test accounts:
– Business (seller)
– Personal (buyer)
Test Buyer Account
Use sandbox buyer credentials:
- Email: sb-buyer@personal.example.com
- Password: (from sandbox account)
Test Process
- Enable Sandbox mode in WPDM
- Enter sandbox credentials
- Create test order
- Log in with sandbox buyer
- Complete payment
- Verify order in WPDM
- Check sandbox dashboard
Sandbox vs Live
| Feature | Sandbox | Live |
|---|---|---|
| Real money | No | Yes |
| Test cards | Yes | No |
| Dashboard | sandbox.paypal.com | paypal.com |
| API endpoint | api-m.sandbox.paypal.com | api-m.paypal.com |
IPN (Instant Payment Notification)
Legacy IPN
For older integrations:
IPN URL: https://yoursite.com/?wpdmpp_paypal_ipn=1
Enabling IPN in PayPal
- Go to PayPal account settings
- Website payments > Instant payment notifications
- Enter IPN URL
- Enable IPN
Webhook vs IPN
| Feature | Webhook | IPN |
|---|---|---|
| Method | REST API | Classic |
| Reliability | Higher | Good |
| Event types | More | Limited |
| Recommendation | Use webhooks | Legacy support |
Refunds
Processing Refunds
From WPDM:
- Open order
- Click Issue Refund
- Select amount (full or partial)
- Click Process
From PayPal:
- Go to PayPal > Activity
- Find transaction
- Click Issue Refund
- WPDM updates via webhook
Refund Timeline
- PayPal balance: Immediate
- Bank account: 3-5 business days
- Credit card: 5-30 days (depends on bank)
Disputes & Claims
Handling Disputes
When buyer opens dispute:
- PayPal notifies you
- Respond in PayPal Resolution Center
- Provide evidence (screenshots, delivery proof)
- PayPal makes decision
Dispute Prevention
- Clear product descriptions
- Prompt delivery
- Good communication
- Fair refund policy
- Recognizable business name
Advanced Settings
Transaction Type
Transaction Type: ● Sale (Capture immediately) ○ Authorization (Capture later)
Sale: Payment captured immediately
Authorization: Payment authorized, captured later (up to 29 days)
PayPal Email
PayPal Email: [payments@yourcompany.com ] (Must match your PayPal account)
Invoice Prefix
Invoice Prefix: [STORE- ] (e.g., STORE-1234)
Logo URL
Logo URL: [https://yoursite.com/logo.png ] (Shown on PayPal checkout page)
Troubleshooting
“PayPal button not loading”
Causes:
- JavaScript error
- Wrong Client ID
- SSL issue
Solutions:
- Check browser console for errors
- Verify Client ID is correct
- Ensure HTTPS
“Payment not received”
Causes:
- Webhook not configured
- IPN not working
- Payment still pending
Solutions:
- Check webhook settings
- Verify webhook URL accessible
- Check PayPal activity
“Currency not supported”
Cause: Store currency not supported by PayPal
Solution:
- Use supported currency
- Or enable currency conversion
“Redirect loop”
Causes:
- Wrong return URL
- Session issues
Solutions:
- Check return URLs in settings
- Clear cookies
- Verify session handling
PayPal Fees
Standard Rates (US)
| Transaction | Fee |
|---|---|
| Domestic | 2.9% + $0.30 |
| International | 4.4% + fixed fee |
| Micropayments | 5% + $0.05 |
Reducing Fees
- Apply for merchant rate (high volume)
- Use PayPal Payments Pro
- Batch transactions
Related Documentation
Last updated: January 2026
Applies to: WordPress Download Manager 7.x + Premium Packages