---
title: "Finix"
description: "The Finix plugin adds a card payment method to J2Commerce checkout. Customers enter card details in an embedded Finix form, and logged-in customers can save a card for later orders. It is for store…"
url: "https://docs.j2commerce.com/v6/payment-methods/payment_finix-2"
markdown_url: "https://docs.j2commerce.com/v6/payment-methods/payment_finix-2.md"
last_updated: "2026-11-14T13:50:43+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: "Finix"
    url: "https://docs.j2commerce.com/v6/payment-methods/payment_finix-2"
---

# Finix

The Finix plugin adds a card payment method to J2Commerce checkout. Customers enter card details in an embedded Finix form, and logged-in customers can save a card for later orders.

It is for store owners with a Finix account who want to capture, void and refund payments from the order screen.

## Requirements

- Joomla 6.0.0 or later.
- J2Commerce installed and enabled.
- A Finix account with an API key, Application ID and Merchant ID.
- A publicly reachable site URL if you want to receive Finix webhooks.

---

## Installation

1. In Joomla, go to **System** -> **Install** -> **Extensions**.
2. Upload the Finix plugin package.
3. Go to **System** -> **Manage** -> **Plugins** and enable **Finix**.
4. Open the plugin and enter your credentials.

---

## Settings

Credential fields change with **Use Sandbox (Test Mode)**: production fields show when it is set to No, sandbox fields when it is set to Yes.

| Setting | What It Does | Default | Options |
| --- | --- | --- | --- |
| Display Name | Name customers see for this payment method at checkout. | Credit / Debit Card | Text |
| Display Image | Image shown next to the payment method. | Empty | Media file |
| Capture Method | Automatic charges the card at once. Manual authorizes the card and you capture the payment later from the order. | Automatic | Automatic, Manual (Authorize Only) |
| Use Sandbox (Test Mode) | Sends requests to Finix sandbox. No real payments are processed. | Yes | Yes, No |
| API Key Username, API Key Password, Application ID, Merchant ID | Production credentials from Finix. | Empty | Text |
| Webhook Username, Webhook Password, Webhook Signing Key | Credentials Finix uses to authenticate webhook requests, and the key that verifies webhook payloads. | Empty | Text |
| Sandbox API Key Username, Sandbox API Key Password, Sandbox Application ID, Sandbox Merchant ID | Sandbox credentials from Finix. | Empty | Text |
| Sandbox Webhook Username, Sandbox Webhook Password, Sandbox Webhook Signing Key | The same webhook values for sandbox. | Empty | Text |
| Webhook Endpoint URL | Read-only URL to enter in Finix. It has a Copy button. | Generated | Not editable |
| Allow Saved Cards | Lets logged-in customers save a card with Finix for faster checkout. | Yes | Yes, No |
| Subtemplate | Layout set used for the checkout forms. | Empty | Available subtemplates |
| Order Status | Status given to an order after a successful payment. | Status with ID 1 | Order statuses |
| Authorized Order Status | Status given when a payment is authorized. Shown only with manual capture. Use a status that does not fulfill the order. | Status with ID 4 | Order statuses |
| Change Order Status on Refund | Changes the order status when a refund is processed. | No | Yes, No |
| Refund Order Status | Status given after a refund. Shown when the previous setting is Yes. | Empty | Order statuses |
| Change Order Status on Void | Changes the order status when an authorization is voided. | No | Yes, No |
| Void Order Status | Status given after a void. Shown when the previous setting is Yes. | Empty | Order statuses |
| Surcharge Name, Surcharge Percent, Surcharge Fixed, Surcharge Tax Class | Adds a surcharge to orders paid with this method. | Empty | Text, number, tax profile |
| Geozone Restriction | Limits the method to a geozone. | Empty | Geozones |
| Minimum Subtotal, Maximum Subtotal | Order subtotal range where the method is offered. | Empty, -1 | Number |
| Thanks Message | Article shown after payment. | Empty | Joomla article |
| On Selection, On Before Payment, On After Payment, On Error Payment, On Cancel Payment | Custom text shown at each stage of checkout. | Empty | Text |
| Show Dashboard Icon, Dashboard Icon Label, Dashboard Icon Class | Adds a dashboard shortcut for this plugin. Label and class show when the icon is on. | No; class fa-solid fa-credit-card | Yes, No; text |
| Debug Mode | Writes detailed logs to `administrator/logs/payment_finix.php`. Turn it off in production. | No | Yes, No |

---

## Managing Payments

On an order paid with Finix, the order screen shows a Payment Balance box (Order Total, Amount Paid, Refunded, Net Paid, Balance Due). With manual capture, use **Capture Payment** or **Void Authorization**.

Use **Refund** for a full or partial refund. Use **Charge Saved Card** to charge a card the customer saved.

---

## Common Setups

### Testing Before Going Live

1. Keep **Use Sandbox (Test Mode)** set to Yes.
2. Enter the sandbox credentials.
3. Place a test order.
4. Set **Use Sandbox (Test Mode)** to No and enter the production credentials.

### Webhooks

1. Copy the **Webhook Endpoint URL**.
2. In Finix, create a webhook with that URL.
3. Enter the same username, password and signing key in the plugin.

---

## Troubleshooting

- **"J2Commerce component is not installed or not enabled."** Install and enable J2Commerce, then install the plugin again.
- **"Finix payment plugin is missing API credentials."** Fill in the credentials that match the current sandbox setting.
- **"Webhooks cannot be received on a local development URL."** Use a publicly accessible server.
- **Subscription renewal skipped.** The customer needs a saved Finix card, created by an earlier embedded Finix checkout.

---

## Uninstalling

1. Go to **System** -> **Manage** -> **Extensions**.
2. Search for Finix and select the plugin.
3. Click **Uninstall**.
