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
- In Joomla, go to System -> Install -> Extensions.
- Upload the Finix plugin package.
- Go to System -> Manage -> Plugins and enable Finix.
- 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
- Keep Use Sandbox (Test Mode) set to Yes.
- Enter the sandbox credentials.
- Place a test order.
- Set Use Sandbox (Test Mode) to No and enter the production credentials.
Webhooks
- Copy the Webhook Endpoint URL.
- In Finix, create a webhook with that URL.
- 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
- Go to System -> Manage -> Extensions.
- Search for Finix and select the plugin.
- Click Uninstall.