| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 4314 |
| Technical Name |
payment_paypal_integration |
| License | AGPL-3 |
| Website | https://muchconsulting.com |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 4314 |
| Technical Name |
payment_paypal_integration |
| License | AGPL-3 |
| Website | https://muchconsulting.com |
| Versions | 17.0 18.0 19.0 |
# PayPal Integration
This acts as acquirer for PayPal business to use PayPal to receive payments.
Table of Contents
- Features
- Configuration
- Usage
- Dependencies
- Limitations, Issues & Bugs
- Development
- Tests
---
## Features
- Integration Signup Process to connect odoo to your PayPal account
---
## Configuration
### Setup credentials to connect Odoo to Paypal
On the partner side which is Much. PayPal MerchantID, Client ID, Client Secret and BN_CODE is needed to use the PayPal Signup Process to connect Odoo to PayPal.
To setup this details in Odoo. 1. Go to Invoicing > Configuration > Settings > PayPal Partner Integration 2. Add the credentials recieve from Much partner here.
### Connect Odoo to Paypal using Paypal Integrated Signup Process.
- Go to Invoicing > Configuration > Payment Providers
- Click on PayPal Business Integration to open the record.
- Click on Connect to PayPal. (make sure credentials from partner is already setup)
---
## Usage
---
## Dependencies
### Odoo modules dependencies
---
## Limitations, Issues & Bugs
- ### Paypal Partner.js issue.
- https://caniuse.com/?search=postMessage only supported browser
- testing on firefox version 133.0 partner.js fails to hook the onboarded callback.
---
## Development
To use the Integration Signup, when testing for engineer you will need a public url connected to your local odoo environment and odoo base url set to this public URL
---
## Tests
The module includes unit tests for:
- Authentication: Tests for the PaypalClient authentication, token generation, and credential storage logic are located in tests/test_authentication.py.
- API Client: Tests for the PaypalClient request methods, error handling, and retry logic are located in tests/test_client.py.
- Orders: Tests for PayPal order creation, capture, and status handling are located in tests/test_order.py.
- Refunds: Tests for PayPal refund processing logic are located in tests/test_refund.py.
- Secret Manager: Tests for the PaypalSecretManager credential fetching and caching are located in tests/test_secret_manager.py.
- Request Logger: Tests for the HttpRequestLogger context manager are located in tests/test_request_logger.py.
- PayPal Log: Tests for the PayPal API log model are located in tests/test_paypal_log.py.
- Google Pay: Tests for Google Pay constants, inline form values, source values, and payment sources are located in tests/test_google_pay.py.
- Apple Pay: Tests for Apple Pay constants, payment source values, notification handling, domain verification files, and SDK URL generation are located in tests/test_apple_pay.py.
- Onboarding: Tests for the PayPal onboarding flow are located in tests/test_onboarding.py.
- Onboarding Wizard: Tests for the onboarding wizard model are located in tests/test_onboarding_wizard.py.
- Partner Referral: Tests for partner referral URL generation are located in tests/test_partner_referral.py.
- Payment Provider: Tests for the payment provider model logic are located in tests/test_payment_provider.py.
- Payment Transaction: Tests for payment transaction processing are located in tests/test_payment_transaction.py.
- Controllers: Tests for the integration HTTP controllers are located in tests/test_controllers.py.
- Portal: Tests for the portal controllers are located in tests/test_portal.py.
- Views: Tests for ir.ui.view customizations are located in tests/test_ir_ui_view.py.
- Company: Tests for res.company overrides are located in tests/test_res_company.py.
- Utilities: Tests for utility functions are located in tests/test_utils.py.
Please log in to comment on this module