Overview
Payment Gateways connect your store to payment processors, enabling you to accept credit cards, PayPal, and other payment methods. Premium Packages supports 12+ gateways covering major global and regional payment providers.
Prerequisites
- WordPress Download Manager installed
- Premium Packages add-on activated
- SSL certificate installed (required)
- Payment processor account
Available Gateways
Global Gateways
| Gateway | Cards | PayPal | Regions | Best For |
|---|---|---|---|---|
| Stripe | ✓ | – | Global | Modern checkout, subscriptions |
| PayPal | ✓ | ✓ | Global | Brand trust, buyer protection |
| Square | ✓ | – | US, CA, UK, AU, JP | US businesses, POS |
| Authorize.net | ✓ | – | US, CA, UK, EU, AU | Established merchants |
European Gateways
| Gateway | Cards | Banks | Regions | Best For |
|---|---|---|---|---|
| Mollie | ✓ | ✓ | EU | European payments, iDEAL |
| Klarna | ✓ | – | EU, US | Buy now, pay later |
Regional Gateways
| Gateway | Region | Methods |
|---|---|---|
| Razorpay | India | Cards, UPI, NetBanking |
| Instamojo | India | Cards, UPI, Wallets |
| Paystack | Africa | Cards, Bank, Mobile Money |
| Mercado Pago | Latin America | Cards, Local methods |
Alternative Gateways
| Gateway | Type | Use Case |
|---|---|---|
| Coinbase Commerce | Crypto | Bitcoin, Ethereum |
| Bank Transfer | Manual | Wire/ACH transfers |
| Cash/Cheque | Offline | Manual payment |
| Test Payment | Testing | Development only |
Accessing Gateway Settings
- Go to Downloads > Settings
- Click Payment Gateways tab
- Enable and configure gateways
Gateway Configuration
Enabling a Gateway
┌─────────────────────────────────────────────────────────────┐ │ Payment Gateways │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ☑ Stripe [Configure] │ │ Accept credit cards with Stripe │ │ │ │ ☑ PayPal [Configure] │ │ PayPal Standard and Express Checkout │ │ │ │ ☐ Square [Configure] │ │ Accept payments with Square │ │ │ │ ☐ Authorize.net [Configure] │ │ Credit card processing │ │ │ └─────────────────────────────────────────────────────────────┘
Common Settings
All gateways share these settings:
| Setting | Description |
|---|---|
| Enable | Turn gateway on/off |
| Title | Name shown at checkout |
| Description | Instructions for customers |
| Test Mode | Use sandbox/test credentials |
| Debug Mode | Log transactions for troubleshooting |
Test vs Live Mode
Mode Selection: ○ Test Mode (Sandbox) - Uses test API credentials - No real charges - For development/testing ● Live Mode (Production) - Uses live API credentials - Processes real payments - For production use
Gateway Setup Process
General Steps
- Create Account – Sign up with payment provider
- Get API Credentials – Find API keys in provider dashboard
- Enable Gateway – Turn on in WPDM settings
- Enter Credentials – Add API keys
- Configure Webhooks – Set up payment notifications
- Test – Process test transaction
- Go Live – Switch to production mode
Finding API Credentials
| Gateway | Location |
|---|---|
| Stripe | Dashboard > Developers > API keys |
| PayPal | Developer Dashboard > Apps |
| Square | Developer Dashboard > Credentials |
| Authorize.net | Account > Settings > API Credentials |
Webhook Configuration
What Are Webhooks?
Webhooks notify your site when payment events occur:
- Payment completed
- Payment failed
- Refund processed
- Subscription cancelled
Setting Up Webhooks
- Find webhook URL in gateway settings:
Webhook URL: https://yoursite.com/?wpdmpp_gateway=stripe
- Add this URL in your payment provider’s dashboard
- Select events to receive
- Save webhook configuration
Webhook Events
| Event | When Triggered |
|---|---|
payment.completed |
Payment successful |
payment.failed |
Payment declined |
refund.created |
Refund issued |
subscription.cancelled |
Subscription ended |
Multiple Gateways
Enabling Multiple
You can enable multiple gateways:
Active Gateways: ☑ Stripe (Credit Cards) ☑ PayPal (PayPal Account) ☐ Bank Transfer (Manual)
Customer Choice
At checkout, customers choose:
┌─────────────────────────────────────────┐ │ Payment Method │ ├─────────────────────────────────────────┤ │ ○ Credit Card (Stripe) │ │ Pay securely with your card │ │ │ │ ○ PayPal │ │ Pay with your PayPal account │ │ │ │ ○ Bank Transfer │ │ Manual bank transfer │ └─────────────────────────────────────────┘
Gateway Order
Drag to reorder in settings:
Gateway Order (drag to reorder): 1. Stripe 2. PayPal 3. Bank Transfer
Gateway Fees
Transaction Fees
| Gateway | Card Fee | + Fixed |
|---|---|---|
| Stripe | 2.9% | $0.30 |
| PayPal | 2.9% | $0.30 |
| Square | 2.6% | $0.10 |
| Authorize.net | 2.9% | $0.30 |
Monthly Fees
| Gateway | Monthly |
|---|---|
| Stripe | $0 |
| PayPal | $0 |
| Authorize.net | $25 |
Passing Fees to Customers
Optional: Add gateway fee to order:
☑ Add payment processing fee to order Fee: [2.9] % + [$0.30] fixed
Security Requirements
SSL Certificate
Required for all gateways.
Verify SSL:
✓ https://yoursite.com (secure) ✗ http://yoursite.com (not secure)
PCI Compliance
Premium Packages uses:
- Tokenization (card data never touches your server)
- Hosted payment forms
- Gateway-side processing
You don’t store card data, reducing PCI scope.
Testing Gateways
Test Card Numbers
Stripe:
| Card | Number |
|---|---|
| Success | 4242 4242 4242 4242 |
| Decline | 4000 0000 0000 0002 |
| 3D Secure | 4000 0025 0000 3155 |
PayPal:
- Use sandbox accounts from developer.paypal.com
General:
| Detail | Value |
|---|---|
| Expiry | Any future date |
| CVV | Any 3 digits |
| ZIP | Any valid ZIP |
Test Checklist
□ Enable test mode □ Enter test credentials □ Create test product □ Add to cart □ Complete checkout □ Verify order created □ Check gateway dashboard □ Test refund □ Disable test mode □ Enter live credentials
Troubleshooting
Payment Declined
Causes:
- Insufficient funds
- Incorrect card details
- Bank declined
- Test card in live mode
Solutions:
- Customer tries different card
- Verify card details
- Contact bank
- Check test/live mode setting
Gateway Not Appearing
Causes:
- Gateway not enabled
- Missing credentials
- Currency not supported
Solutions:
- Enable gateway in settings
- Enter API credentials
- Check supported currencies
Webhook Not Working
Causes:
- Wrong webhook URL
- Firewall blocking
- SSL issues
Solutions:
- Verify webhook URL
- Check server firewall
- Ensure valid SSL
“Invalid API Key”
Causes:
- Wrong credentials
- Test key in live mode
- Key revoked
Solutions:
- Copy credentials again
- Match test/live mode
- Generate new keys
Gateway Comparison
For US Businesses
| Need | Recommended |
|---|---|
| Simple setup | Stripe |
| Brand trust | PayPal |
| In-person too | Square |
| Enterprise | Authorize.net |
For European Businesses
| Need | Recommended |
|---|---|
| EU-focused | Mollie |
| BNPL | Klarna |
| Global reach | Stripe |
For Emerging Markets
| Region | Recommended |
|---|---|
| India | Razorpay |
| Africa | Paystack |
| Latin America | Mercado Pago |
Related Documentation
Last updated: January 2026
Applies to: WordPress Download Manager 7.x + Premium Packages