---
title: "Fiserv Commerce Hub Payment"
description: "The Fiserv Commerce Hub Payment plugin connects your J2Commerce store to the Fiserv Commerce Hub platform so customers can pay by credit or debit card at..."
url: "https://docs.j2commerce.com/v6/payment-methods/payment_fiserv"
markdown_url: "https://docs.j2commerce.com/v6/payment-methods/payment_fiserv.md"
last_updated: "2026-10-23T01:50:13+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: "Fiserv Commerce Hub Payment"
    url: "https://docs.j2commerce.com/v6/payment-methods/payment_fiserv"
---

# Fiserv Commerce Hub Payment

The Fiserv Commerce Hub Payment plugin connects your J2Commerce store to the **Fiserv Commerce Hub** platform so customers can pay by credit or debit card at checkout. Card data is handled through secure hosted fields supplied by Fiserv — your server never touches raw card numbers, which qualifies your store for the simplest level of PCI security compliance (SAQ-A).

The plugin also supports saving cards for faster repeat checkout, authorize-before-capture workflows, and managing payments (capture, void, refund) directly from the J2Commerce order admin screen.

## Requirements

- Joomla 6.x
- J2Commerce 6.x
- PHP 8.3 or later
- A Fiserv Commerce Hub merchant account
- Your store must be accessible over HTTPS

## Get Your Fiserv Credentials

Before configuring the plugin you need four pieces of information from your Fiserv Commerce Hub account.

1. Log in to the Fiserv Commerce Hub portal (use the certification/sandbox portal for testing credentials).
2. Locate the following under your merchant account settings:
   - **API Key** — your Commerce Hub API key
   - **API Secret** — your Commerce Hub API secret, used to sign requests
   - **Merchant ID** — your Fiserv Merchant ID
   - **Terminal ID** — your Fiserv Terminal ID (typically `10000001`)

Keep these values ready — you will paste them into the plugin settings in Joomla.

## Purchase and Download

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

1. Go to the [J2Commerce website](https://www.j2commerce.com/extensions) and locate **Fiserv Commerce Hub Payment**.
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_fiserv.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 **Fiserv Commerce Hub**. If it shows an **X**, click it to enable it. It turns into a green checkmark when active.

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

## Configure the Plugin

Click the **Fiserv Commerce Hub** 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.

![Fiserv Commerce Hub plugin settings with Toggle Inline Help highlighted and help text shown under the Display Name field (Credit/Debit Card)](https://docs.j2commerce.com/images/docs/shared/fiserv-toggle.webp)

### Basic Settings tab

![Plugins: Fiserv Commerce Hub, Plugin tab: Display Name Credit/Debit Card, Fiserv logo as Display Image, Transaction Type Sale (Authorize + Capture), Status Enabled](https://docs.j2commerce.com/images/docs/shared/fiserv-config1.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.

**Transaction Type:** Controls whether funds are collected from the customer immediately or held for manual collection later.

- **Sale (Authorize + Capture)** — charges the customer's card as soon as the order is placed. This is the recommended setting for most stores.
- **Authorize Only** — places a hold on the funds but does not collect them. You then manually capture (settle) the payment from the order admin when you are ready to ship. Useful when you want to confirm stock before charging the customer.

### Sandbox / Test Mode

**Use Sandbox / Test Mode:** When enabled, all transactions go to the Fiserv certification environment — no real money moves.

Enable this during setup and testing. Disable it when you are ready to go live. When sandbox mode is active, a warning banner appears on the J2Commerce dashboard as a reminder.

### Live Credentials

![Fiserv live credentials: Use Sandbox / Test Mode Never, empty API Key, API Secret (hidden) and Merchant ID fields, Terminal ID 10000001](https://docs.j2commerce.com/images/docs/shared/fiserv-config-live.webp)

These fields appear when **Use Sandbox / Test Mode** is turned off.

**API Key:** Your Fiserv Commerce Hub API Key for live transactions

**API Secret:** Your Fiserv Commerce Hub API Secret for live transactions (used to sign requests)

**Merchant ID:** Your Fiserv Merchant ID for live transactions

**Terminal ID:** Your Fiserv Terminal ID for live transactions (usually `10000001`)

### Sandbox Credentials

![Fiserv sandbox credentials: Use Sandbox / Test Mode Yes, empty Sandbox API Key, API Secret (hidden) and Merchant ID fields, Sandbox Terminal ID 10000001](https://docs.j2commerce.com/images/docs/shared/fiserv-config-sandbox.webp)

These fields appear when **Use Sandbox / Test Mode** is turned on. They work exactly like the live fields but connect to the Fiserv certification environment.

**Sandbox API Key:** Your Fiserv certification API Key

**Sandbox API Secret:** Your Fiserv certification API Secret

**Sandbox Merchant ID:** Your Fiserv certification Merchant ID

**Sandbox Terminal ID:** Your Fiserv certification Terminal ID (usually `10000001`)

### Saved Cards

![Fiserv Commerce Hub plugin settings: Allow Saved Cards set to Yes and Template Style set to Bootstrap5](https://docs.j2commerce.com/images/docs/shared/fiserv-config-cc.webp)

**Allow Saved Cards:** Let logged-in customers save their card for faster checkout on future orders.

When enabled, a checkbox appears at checkout so customers can choose to save their card. On future visits, saved cards appear as a selectable option — no re-entering of details needed. Saved cards are also used for automatic subscription renewal payments if you have the Subscriptions add-on installed.

**Template Style:** Choose between **Bootstrap 5** and **UIkit** layout for the checkout card form. Match this to your site's front-end template.

### Order Statuses

![Fiserv plugin settings: Order Status Confirmed, Change Status on Refund Yes with Refunded, Change Status on Void Yes with Cancelled](https://docs.j2commerce.com/images/docs/shared/fiserv-config-status.webp)

**Order Status:** Status applied when a payment is successfully captured (Sale mode) or authorized (Authorize Only mode)

- **Authorized Order Status:** Status applied when a payment is authorized but not yet captured — **only shown when Transaction Type is set to Authorize Only**

**Change Status on Refund:** Toggle on to automatically update the order status when a refund is processed

- **Refunded Order Status:** Status to apply after a refund — only shown when Change Status on Refund is enabled

\*\*Change Status on Void:\*\*Toggle on to automatically update the order status when a payment is voided

- **Voided Order Status:** Status to apply after a void — only shown when Change Status on Void is enabled

> **Tip:** If you do not see the order status you prefer, then it needs to be created. Go to J2Commerce Setup Order Status

![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

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

Add an optional handling fee when customers pay with this method.

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

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

**Surcharge Fixed:** Fixed amount to add as a fee regardless of order size

**Surcharge Tax Class:** Tax profile to apply to the surcharge amount

Leave both **Surcharge Percent** and **Surcharge Fixed** empty to charge no surcharge.

### GeoZone Availability

![Fiserv Commerce Hub plugin settings: Geo Zone Restriction All, with empty Minimum Subtotal and Maximum Subtotal fields](https://docs.j2commerce.com/images/docs/shared/fiserv-config-geozone.webp)

**Geozone Restriction:** Limit this payment method to customers in a specific geozone. Leave blank to allow all locations.

**Minimum Order Subtotal:** Hide Fiserv as a payment option when the cart subtotal is below this amount. Leave blank for no minimum.

**Maximum Order Subtotal:** Hide Fiserv when the cart subtotal is above this amount. Leave blank for no maximum.

### Custom HTML Snippets

![Fiserv 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/fiserv-config-text.webp)

**Thank-You Article:** An optional Joomla article to display on the order confirmation page after a successful payment.

The following fields let you add custom HTML at different points in the payment flow. All are optional.

**On Selection Text:** When the customer selects Fiserv as their payment method

**Before Payment Text:** Just above the card form, before the customer enters card details

**After Payment Text:** On the confirmation page after a successful payment

**On Error Text:** When a payment attempt fails

**Order Canceled Message:** When the customer cancels or navigates away

### Dashboard Icon

![Fiserv plugin settings: Show Dashboard Icon switch set to Never and Debug Mode switch set to Never](https://docs.j2commerce.com/images/docs/shared/fiserv-debug.webp)

**Show Dashboard Icon:** Add a quick-access icon for this plugin to the J2Commerce dashboard.

**Dashboard Icon Label:** Label text for the icon. Defaults to "Fiserv Commerce Hub" if left blank. Only shown when Show Dashboard Icon is enabled.

### Debug Mode

**Debug Mode:** Records detailed API request and response data in the Joomla log.

Only enable this when diagnosing a specific problem. Disable it on live sites — debug logs can contain sensitive payment data.

## How Checkout Works for Customers

The customer adds items to the cart and proceeds to checkout.

![Checkout Payment Method step with the Credit/Debit Card option showing the Fiserv logo highlighted and selected, between Square and QuickBooks options, above Continue](https://docs.j2commerce.com/images/docs/shared/fiserv-frontend.webp)

On the payment step, the Fiserv card form loads directly on the page — card number, expiry date, and CVV fields appear inside secure fields supplied by Fiserv. Card data never touches your server.

If the customer has saved cards on file (and **Allow Saved Cards** is enabled), they see a list of saved cards and can select one or enter a new card.

If saving is allowed, a checkbox lets them save the new card for future orders.

The customer clicks **Place Order**.

On success, the customer sees the order confirmation page.

## Managing Payments from the Order Screen

After an order is paid, you can take follow-up actions directly from the J2Commerce order detail page without leaving your admin panel.

Go to **J2Commerce** -> **Sales** -> **Orders** -> click the order number to open it. The Fiserv action buttons appear in the payment section.

### Capture a Payment (Authorize Only mode)

If you set **Transaction Type** to **Authorize Only**, funds are reserved but not collected. When you are ready to capture:

1. Open the order in **J2Commerce** -> **Sales** -> **Orders**.
2. Click **Capture Payment** and confirm the prompt.
3. The funds are collected from the customer's card and the order status updates automatically.

### Void an Authorization

A void cancels an authorized payment before it has been captured. Once a payment has been captured, use **Refund** instead.

1. Open the order.
2. Click **Void Authorization** and confirm the prompt.
3. The hold on the customer's card is released — no charge is made.

> **Info:** The **Void Authorization** button only appears for orders that have been authorized but not yet captured. If the payment has already been captured, use **Refund** instead.

### Issue a Refund

You can refund a captured payment in full or in part.

1. Open the order.
2. Click **Refund Order**.
3. The full refundable amount is shown. Enter a smaller amount for a partial refund, or leave it as-is for a full refund.
4. Click **Process Refund** to confirm.

The refund is sent to the customer's original card. If **Change Status on Refund** is enabled, the order status updates automatically.

## Testing Payments

Always test in sandbox mode before going live.

1. Enable **Use Sandbox / Test Mode** in the plugin settings and enter your Fiserv certification credentials.
2. Place a test order on your storefront using a Fiserv test card number.
3. Check that the order appears in **J2Commerce** -> **Sales** -> **Orders** with the correct status.
4. Test a capture, void, or refund from the order screen to confirm each action works.
5. Check your Joomla log (**System** -> **Logs**) for any errors. Enable **Debug Mode** temporarily if needed.
6. When everything is working, disable **Use Sandbox / Test Mode** and replace the sandbox credentials with your live credentials.

> **Warning:** Remember to turn off **Use Sandbox / Test Mode** before accepting real orders. A warning banner on the J2Commerce dashboard will remind you if sandbox mode is still active.

## Troubleshooting

### The card form does not appear on the checkout page

**Cause:** The plugin is not enabled, credentials are missing, or the template style does not match your theme.

**Solution:**

1. Go to **J2Commerce** -> **Setup** -> **Payment Methods** and verify the Fiserv plugin shows a green enabled indicator.
2. Open the plugin settings and confirm the **API Key**, **API Secret**, **Merchant ID**, and **Terminal ID** fields are all filled in for the active environment (live or sandbox).
3. Verify the **Template Style** matches your site's front-end template (Bootstrap 5 or UIkit).
4. Clear the Joomla cache: **System** -> **Clear Cache** -> **Delete All**.

### A "not configured" warning appears on the J2Commerce dashboard

**Cause:** The API Key field is empty for the currently active environment.

**Solution:**

1. Go to **J2Commerce** -> **Setup** -> **Payment Methods** -> **Fiserv Commerce Hub**.
2. Fill in the **API Key** (and other credential fields) for whichever environment is active.
3. Click **Save**.

### The Capture / Void / Refund buttons do not appear on the order

**Cause:** The order was not completed through Fiserv, or the checkout was interrupted before transaction data was saved.

**Solution:**

1. Confirm the order's payment method is listed as Fiserv (check the payment section of the order detail view).
2. The action buttons only appear when transaction data is stored on the order. If checkout was interrupted, no transaction data is saved — re-test a full checkout to verify.
3. Enable **Debug Mode** and re-test to see detailed transaction data in the Joomla log.

### Card declined errors at checkout

**Cause:** The card details are incorrect, the card is not authorized for online transactions, or the bank declined the charge.

**Solution:**

1. Ask the customer to double-check their card number, expiry date, and CVV.
2. Ask them to try a different card or contact their bank.
3. In sandbox mode, verify you are using a valid Fiserv test card number.

### Orders are stuck in a pending status after payment

**Cause:** The payment completed but the order status was not updated — often a configuration mismatch.

**Solution:**

1. Open the plugin settings and confirm the **Order Status** field is set to an appropriate status (e.g., Confirmed).
2. Enable **Debug Mode**, attempt a test payment, then check **System** -> **Logs** for any processing errors.
3. Verify the Fiserv credentials are correct for the active environment.
