Odoo

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

  1. Copy the ep-odoo folder to your Odoo custom addons directory.
  2. Restart your Odoo server.
  3. Go to Apps menu and click "Update Apps List".
  4. Remove the "Apps" filter from the search bar.
  5. Search for "Ecom Payments" or "Payment Provider: Ecom Payments".
  6. Click the "Install" button.

Configuration

Step 1: Configure Payment Provider

  1. Navigate to Website > Configuration > Payment Providers or Settings > Payment Providers.
  2. Open the Ecom Payment provider.
  3. 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
  1. 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

  1. Install the Website and eCommerce modules if not already installed.
  2. Create a test product.
  3. Add the product to cart and proceed to checkout.
  4. Select Ecom Payment as the payment method.
  5. 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

  1. Verify webhook URL is correctly registered in Ecom dashboard.
  2. Check that your webhook secret matches in both Ecom dashboard and Odoo configuration.
  3. Review Odoo logs for webhook signature validation errors.

Cannot see payment provider in checkout

  1. Ensure the payment provider state is set to "Test Mode" or "Enabled".
  2. Verify all required credentials are filled in.
  3. 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.