---
title: "CCAvenue Payment"
description: "CCAvenue is India's leading payment gateway, used by hundreds of thousands of merchants."
url: "https://docs.j2commerce.com/v6/payment-methods/payment_ccavenue"
markdown_url: "https://docs.j2commerce.com/v6/payment-methods/payment_ccavenue.md"
last_updated: "2026-10-23T02:33:38+00:00"
version: "J2Commerce 6"
breadcrumbs:
  - title: "Home"
    url: "https://docs.j2commerce.com/"
  - title: "J2Commerce 6"
    url: "https://docs.j2commerce.com/v6"
  - title: "Payment Methods"
    url: "https://docs.j2commerce.com/v6/payment-methods"
  - title: "CCAvenue Payment"
    url: "https://docs.j2commerce.com/v6/payment-methods/payment_ccavenue"
---

# CCAvenue Payment

CCAvenue is India's leading payment gateway, used by hundreds of thousands of merchants. This plugin connects J2Commerce to the CCAvenue hosted payment page, where customers complete their transaction securely. After payment, CCAvenue redirects the customer back to your store and J2Commerce updates the order status automatically.

## Requirements

- PHP 8.3 or higher with the **OpenSSL extension** enabled
- Joomla 6.x
- J2Commerce 6.x
- An active CCAvenue merchant account ([ccavenue.com](https://www.ccavenue.com))

## Purchase and Download

This plugin is a separate add-on available from the [CC Avenue](https://www.j2commerce.com/extensions/payment-plugins/cc-avenue). It is not included with the core J2Commerce 6 component.

1. Go to the [J2Commerce website](https://www.j2commerce.com/extensions) and locate **CCAvenue**.
2. Add it to your cart and complete checkout.
3. Go to **My Downloads** under your account profile and find the plugin.
4. Click **Available Versions** -> **View Files** -> **Download Now** to download the ZIP file.

## Install the App

Install using the standard Joomla installer.

In the Joomla admin, go to **System** -> **Install** -> **Extensions**.

Upload the `payment_ccavenue.zip` package file. The plugin installs and enables automatically.

![Joomla System Dashboard with System in the sidebar and the Install Extensions link highlighted to open the extension installer](https://docs.j2commerce.com/images/docs/shared/install.webp)

## Enable the App

Once installed, verify the app is enabled. There are two ways to reach it.

**Option A:** Click the **J2Commerce** icon at the top right corner -> **Apps**.

**Option B:** Go to **Components** on the left sidebar -> **J2Commerce** -> **Apps**.

![Joomla admin navigation to J2Commerce Apps: Components, J2Commerce, Apps in the sidebar and Apps in the J2Commerce menu highlighted, above the list of apps](https://docs.j2commerce.com/images/docs/shared/gift-wrap-apps.webp)

Search for **CCAvenue**. If it shows an **X**, click it to enable it. It turns into a green checkmark when active.

![Joomla Payment Methods list searched for "ccavenue", with the search box and the CCAvenue Payment row's green enabled checkmark highlighted](https://docs.j2commerce.com/images/docs/shared/ccavenue-enable1.webp)

## Configure the Plugin

Click the **CCAvenue** title to open its settings.

> **Tip:** **Helpful tip:** Click the **Toggle Inline Help** button in the toolbar and the app will show a description below each field as you configure it.

![CCAvenue plugin settings with the Toggle Inline Help button highlighted and help text shown under the Display Name field (CCAvenue)](https://docs.j2commerce.com/images/docs/shared/ccavenue-toggle1.webp)

### Display

![CCAvenue plugin settings top: Display Name set to CCAvenue and an empty Display Image selector with Select button, under the payment_ccavenue heading](https://docs.j2commerce.com/images/docs/shared/ccavenue-config1-1.webp)

**Display Name:** The label shown to customers on the checkout page. The default is "Credit/Debit Card" — change this to anything that makes sense for your store.

**Display Image:** An optional logo or card-brand image to show beside the payment method name on the checkout page.

### Credentials

Obtain your credentials from the CCAvenue Merchant Portal ([merchant.ccavenue.com](https://merchant.ccavenue.com)).

**Sandbox vs Live Mode:** The plugin supports a full sandbox environment using the CCAvenue test gateway at `test.ccavenue.com`. Use sandbox mode to test the complete payment flow before going live — no real money is charged. Toggle between test and live environments. Separate credentials are required for each.

When **Sandbox** is enabled, the sandbox credential fields appear. When it is off, the live credential fields appear.

### Live Credentials (shown when Sandbox is off)

![CCAvenue live credentials: Sandbox / Test Mode set to No, with empty Merchant ID, Working Key and Access Code fields (values hidden)](https://docs.j2commerce.com/images/docs/shared/ccavenue-config2-1.webp)

**Merchant ID:** CCAvenue merchant portal → Profile → Merchant Details

**Working Key:** CCAvenue merchant portal → Settings → Generate Working Key

**Access Code:** CCAvenue merchant portal → Settings → API Keys

### Sandbox Credentials (shown when Sandbox is on)

![CCAvenue sandbox credentials: Sandbox / Test Mode set to Yes, with empty Sandbox Merchant ID, Sandbox Working Key and Sandbox Access Code fields](https://docs.j2commerce.com/images/docs/shared/ccavenue-config3-1.webp)

The same three fields appear prefixed with **Sandbox** and accept your test account credentials. Your test account credentials are separate from your live credentials.

> **Info:** Keep your **Working Key** confidential. It is used to encrypt all payment data. Never share it or expose it in any public file.

## Transaction Currency

![CCAvenue plugin settings: Transaction Currency drop-down open, INR - Indian Rupee selected, with USD, EUR, GBP, AED, SGD, CAD, AUD and HKD listed](https://docs.j2commerce.com/images/docs/shared/ccavenue-config4-2.webp)

CCAvenue supports Multi-Currency Processing (MCP). Select the currency you want to send to CCAvenue:

- **INR — Indian Rupee**
- **USD — US Dollar**
- **EUR — Euro**
- **GBP — British Pound**
- **AED — UAE Dirham**
- **SGD — Singapore Dollar**
- **CAD — Canadian Dollar**
- **AUD — Australian Dollar**
- **HKD — Hong Kong Dollar**

> **Info:** CCAvenue MCP support depends on your merchant account type and the currencies enabled in your CCAvenue portal. Contact CCAvenue support to enable additional currencies.

## Payment Page Language

![CCAvenue plugin settings: Payment Page Language drop-down open, English selected, with Hindi, Marathi, Tamil, Telugu, Kannada, Gujarati, Bengali and Punjabi listed](https://docs.j2commerce.com/images/docs/shared/ccavenue-config4-3.webp)

Select the UI language shown to customers on the CCAvenue hosted payment page:

| Code | Language |
| --- | --- |
| EN | English |
| HI | Hindi |
| MR | Marathi |
| TA | Tamil |
| TE | Telugu |
| KN | Kannada |
| GU | Gujarati |
| BN | Bengali |
| PA | Punjabi |

**Button Text:** Label shown on the payment submit button. Leave empty to use the store default.

### Template Style

![CCAvenue plugin settings: Template Style drop-down set to Default](https://docs.j2commerce.com/images/docs/shared/ccavenue-config5-1.webp)

**Template Style:** Choose a visual style for the checkout card form. Options depend on which layout plugins you have enabled (Bootstrap 5 or UIkit). Leave blank to use the default layout.

## Order Status Configuration

![CCAvenue plugin settings: Successful Payment Status set to Confirmed and Failed Payment Status set to Failed](https://docs.j2commerce.com/images/docs/shared/ccavenue-config6.webp)

**Successful Payment Status:** Status applied when CCAvenue reports the payment as successful

**Failed Payment Status:** Status applied when the payment fails or the customer cancels

> **Info:** NOTE: If the status you want isn't listed in the dropdown menu, you can create a new one by going to **J2Commerce -> Setup -> Order Statuses**

![J2Commerce Order Statuses list with the J2Commerce menu open at the right, highlighting Setup and its Order Statuses item](https://docs.j2commerce.com/images/docs/shared/shipstation-order-status2-1.webp)

## Surcharge (Optional)

![CCAvenue plugin settings: empty Surcharge Name, Percent and Fixed fields, Surcharge Tax Class set to Not Taxable](https://docs.j2commerce.com/images/docs/shared/ccavenue-config7.webp)

Add a processing fee to orders paid via CCAvenue. Leave all three fields blank to apply no surcharge.

**Surcharge Name:** Label shown to the customer (e.g., "Payment processing fee")

**Surcharge Percent:** Percentage of the order total added as a fee (e.g., `2.5` for 2.5%)

**Surcharge Fixed:** Fixed amount added to the order (e.g., `10.00`)

**Surcharge Tax Class:** Tax profile applied to the surcharge amount, if applicable

Percent and fixed surcharges are added together when both are set.

## Availability Restrictions (Optional)

![CCAvenue plugin settings: Geo Zone Restriction set to All, with empty Minimum Subtotal and Maximum Subtotal fields](https://docs.j2commerce.com/images/docs/shared/ccavenue-config8.webp)

### Geozone Restriction

Restrict CCAvenue to customers in a specific geozone. When set, the payment method is hidden for customers whose shipping address falls outside that geozone. Leave blank to make CCAvenue available worldwide.

### Minimum and Maximum Subtotal

**Min Subtotal:** Hide CCAvenue when the order subtotal is below this amount

**Max Subtotal:** Hide CCAvenue when the order subtotal is above this amount

Leave either field blank to apply no limit in that direction.

## Additional Configuration

![CCAvenue plugin settings: Thank You Article selector plus empty On Selection, Before Payment, After Payment, On Error and Order Cancelled Message text fields](https://docs.j2commerce.com/images/docs/shared/ccavenue-config9.webp)

**Thank-You Article:** Joomla article displayed to the customer after a successful payment

**On Selection Text:** HTML shown when the customer selects CCAvenue at checkout

**Before Payment Text:** HTML shown on the pre-payment confirmation screen

**After Payment Text:** HTML shown after a successful payment

**On Error Text:** HTML shown when the payment fails

**On Cancel Text:** HTML shown when the customer cancels the payment

### Debug Mode & Dashboard Icon

![CCAvenue plugin settings: Show Dashboard Icon set to Yes, Icon Label field empty, Debug Mode set to No](https://docs.j2commerce.com/images/docs/shared/ccavenue-config10.webp)

**Show Dashboard Icon:** When enabled, this plugin adds an icon tile to the J2Commerce dashboard and the J2Commerce quick icons module.

**Icon Label:** Override the default label shown on the icon tile. Leave empty to use the plugin default.

**Debug Mode:** When enabled, detailed logs are written to `administrator/logs/payment_ccavenue.php`. Disable in production.

Use debug mode during initial setup and sandbox testing to trace the full payment flow, including the encrypted request sent to CCAvenue and the decrypted callback response.

## How the Payment Flow Works

1. The customer reaches the **Checkout** page and selects CCAvenue as the payment method.
2. J2Commerce assembles the order details, encrypts them using AES-128-CBC, and presents a **pre-payment screen** with a button to proceed.
3. The customer is redirected to the **CCAvenue hosted payment page**, where they complete the transaction (card, UPI, net banking, wallet, etc.).
4. CCAvenue sends an encrypted callback to your store's **com_ajax** endpoint.
5. J2Commerce decrypts the response, verifies the order, and updates the order status to **Confirmed** (on success) or **Failed** (on failure or cancellation).
6. The customer is redirected to the appropriate page on your store.

The entire payment and callback process is encrypted end-to-end using the AES-128-CBC algorithm with your CCAvenue Working Key.

## Setting Up Your CCAvenue Account

### Redirect URL (Callback URL)

CCAvenue requires you to configure the URL it should post the payment result to. In your CCAvenue merchant portal, set the **Redirect URL** to:

```
https://yourdomain.com/index.php?option=com_ajax&plugin=payment_ccavenue&group=j2commerce&format=raw
```

Replace `yourdomain.com` with your actual domain name.

### Enable HTTPS

CCAvenue requires your redirect URL to use HTTPS. Ensure your store has a valid SSL certificate installed before going live.

## Troubleshooting

### "OpenSSL extension is not available on this server"

**Cause:** The PHP OpenSSL extension is disabled on your hosting server.

**Solution:** Contact your hosting provider and ask them to enable the `openssl` PHP extension. This is a standard extension available on virtually all modern hosting plans.

### Orders stuck in "Pending" status

**Cause:** The callback from CCAvenue did not reach your store, or the callback URL is incorrect.

**Solution:**

1. Verify the Redirect URL in your CCAvenue merchant portal matches your store URL exactly.
2. Ensure your store is accessible over HTTPS.
3. Enable **Debug Mode** and check `administrator/logs/payment_ccavenue.php` for callback details.

### "Signature verification failed"

**Cause:** The decrypted response did not pass integrity verification. This can be caused by an incorrect Working Key or response tampering.

**Solution:**

1. Confirm the Working Key in the plugin matches exactly what is shown in your CCAvenue portal.
2. Regenerate the Working Key in CCAvenue and update the plugin settings.
3. Check for any proxy or CDN that may be modifying the POST body.

### Payment succeeds at CCAvenue but order stays "Pending"

**Cause:** The CCAvenue callback is being blocked by a firewall, security plugin, or WAF.

**Solution:** Whitelist the CCAvenue gateway IP addresses in your firewall. Contact CCAvenue support for the current list of gateway IPs.

### Sandbox credentials not working

**Cause:** Test credentials must be obtained from the CCAvenue sandbox environment separately from live credentials.

**Solution:** Log in to the CCAvenue test portal and copy your sandbox Merchant ID, Working Key, and Access Code into the **Sandbox** fields in the plugin settings (visible when Sandbox Mode is on).
