Source Files
You can download the latest extension version here.
Ecom Payments - Odoo Payment Gateway
This module integrates Ecom Payments as a payment provider in Odoo 18.0, enabling merchants to accept online payments through KNET, Credit Card, and Apple Pay.
Requirements
- Odoo 18.0
- Python 3.10+
- Active Ecom Payments merchant account
- SSL certificate (required for webhook callbacks)
Installation
- Copy the
ep-odoofolder to your Odoo custom addons directory. - Restart your Odoo server.
- Go to Apps menu and click "Update Apps List".
- Remove the "Apps" filter from the search bar.
- Search for "Ecom Payments" or "Payment Provider: Ecom Payments".
- Click the "Install" button.
Configuration
Step 1: Configure Payment Provider
- Navigate to Website > Configuration > Payment Providers or Settings > Payment Providers.
- Open the Ecom Payment provider.
- Fill in your credentials:
For Testing (Test Mode):
- Test API Key: Your Ecom sandbox API key (e.g., pktest...)
- Test MID: Your Ecom sandbox merchant ID
- Test Webhook Secret: Your Ecom sandbox webhook secret
- Set State to Test Mode
For Production (Live):
- Production API Key: Your Ecom live API key
- Production MID: Your Ecom live merchant ID
- Production Webhook Secret: Your Ecom live webhook secret
- Set State to Enabled
- Click Save.
Step 2: Configure Webhook
Register your webhook URL in the Ecom Payments dashboard:
https://your-domain.com/payment/ecom/webhook
The webhook handles the following events:
- TRANSACTION_STATUS_CHANGED
- REFUND_STATUS_CHANGED
- PAYOUT_RELEASED
Step 3: Test the Integration
- Install the Website and eCommerce modules if not already installed.
- Create a test product.
- Add the product to cart and proceed to checkout.
- Select Ecom Payment as the payment method.
- Complete the transaction and verify the payment status updates correctly.
Supported Payment Methods
The module automatically creates the following payment methods:
- Ecom KNET: Kuwait NET payment system
- Ecom Apple Pay: Apple Pay integration
- Ecom Credit Card: International credit and debit cards
Currency Support
Currently, the module supports KWD (Kuwaiti Dinar) only. Transactions in other currencies will be rejected with a validation error.
API Endpoints
The module exposes the following endpoints:
/payment/ecom/return- Success callback from Ecom/payment/ecom/error- Error callback from Ecom/payment/ecom/webhook- Webhook handler for payment notifications
Troubleshooting
Payment transactions not updating
- Verify webhook URL is correctly registered in Ecom dashboard.
- Check that your webhook secret matches in both Ecom dashboard and Odoo configuration.
- Review Odoo logs for webhook signature validation errors.
Cannot see payment provider in checkout
- Ensure the payment provider state is set to "Test Mode" or "Enabled".
- Verify all required credentials are filled in.
- Check that the Website module is installed and configured.
Currency validation errors
Ensure your product prices and sale orders are in KWD currency. Other currencies are not currently supported.