Why PayPal + Odoo?
PayPal is accepted in 200+ countries with 400M+ active accounts. For international businesses, PayPal provides a trusted payment option alongside card payments. Odoo includes a native PayPal payment provider — configuration takes 10 minutes.
Setup Steps
1. PayPal Business Account
- Sign up at paypal.com/business
- Verify your business account
- Go to Developer Dashboard (developer.paypal.com)
- Create a REST API app → get Client ID and Secret
2. Configure in Odoo
- Invoicing → Configuration → Payment Providers
- Select PayPal
- Enter PayPal Email (your business PayPal email)
- Enter Client ID and Client Secret (from REST API app)
- Set State: Test Mode (for sandbox testing)
3. Webhook Configuration
# In PayPal Developer Dashboard:
# My Apps → select your app → Webhooks
# Add webhook URL: https://your-odoo.com/payment/paypal/webhook
# Events to subscribe:
# PAYMENT.CAPTURE.COMPLETED
# PAYMENT.CAPTURE.DENIED
# PAYMENT.CAPTURE.REFUNDED4. Test with Sandbox
# PayPal Sandbox test accounts:
# Developer Dashboard → Sandbox → Accounts
# Use sandbox buyer account to test payments
# Sandbox URL: sandbox.paypal.com (auto-used in test mode)PayPal Payment Flow
- Customer clicks "Pay" on Odoo invoice/checkout
- Redirected to PayPal payment page
- Customer logs in to PayPal (or pays with card via PayPal)
- Customer approves payment
- Redirected back to Odoo with confirmation
- PayPal webhook confirms payment → Odoo marks invoice as paid
Features
Multi-Currency
PayPal supports 25+ currencies. Odoo sends the invoice currency to PayPal. PayPal handles the conversion if the buyer pays in a different currency.
Recurring Payments
PayPal subscriptions can be used with Odoo Subscriptions for recurring billing. Configuration requires PayPal subscription plan setup.
Refunds
Process refunds from Odoo: create a credit note, and Odoo sends a refund request to PayPal via API.
Troubleshooting
| Issue | Cause | Fix |
|---|---|---|
| Payment not confirmed in Odoo | Webhook not configured or blocked | Verify webhook URL in PayPal Dashboard and check Odoo logs |
| "PayPal account not verified" | Business account not fully verified | Complete PayPal business verification |
| Currency mismatch | Invoice currency not enabled in PayPal | Enable the currency in PayPal account settings |
| Test payments not working | Using live credentials in test mode | Use sandbox credentials for test mode |
| Customer cannot pay | PayPal blocks certain countries | Check PayPal's supported countries list |
PayPal vs Stripe
| Aspect | PayPal | Stripe |
|---|---|---|
| Global reach | 200+ countries | 46 countries |
| User base | 400M+ accounts | Card payments (any card) |
| Fees | 2.9% + $0.30 | 2.9% + $0.30 |
| Payout speed | 1-3 business days | 2 business days |
| Best for | International B2C | Card payments, SaaS |
Recommendation: offer both PayPal and Stripe to maximize customer payment options.
DeployMonkey + PayPal
Deploy Odoo with eCommerce on DeployMonkey, configure PayPal in 10 minutes, and start accepting international payments. The AI agent helps troubleshoot payment issues and optimize checkout conversion.