Overview
Nexi XPay Greece for VirtueMart connects a VirtueMart checkout to the Nexi XPay Greece Hosted Payment Page. Payment details are entered on the Nexi-hosted page, while the plugin creates the payment request, redirects the customer, verifies the authoritative result with Nexi and updates the VirtueMart order.
This documentation applies to version 1.0.0.
Joomla 4 or Joomla 5 · VirtueMart 4.6.8 · PHP 7.4 or later · Nexi XPay Greece merchant account · Public HTTPS website
The plugin supports the Nexi XPay Greece Hosted Payment Page for:
- card payments;
- card installments based on configurable order-total tiers;
- IRIS, when enabled on the merchant terminal;
- Apple Pay, when enabled by Nexi and available on the customer’s device and browser;
- Google Pay, when enabled by Nexi and available on the customer’s device and browser;
- terminal-default accounting or explicit/manual capture;
- capture and full or partial refunds when Nexi exposes the corresponding action for the verified operation.
The plugin does not decide which alternative payment methods are enabled for a merchant. Availability on the Hosted Payment Page depends on the Nexi contract, terminal configuration, environment, customer device and browser.
Requirements
Before installation, confirm the following:
- Joomla 4 or Joomla 5 is installed and working.
- VirtueMart is installed, configured and enabled. Tested with version 4.6.8.
- PHP 7.4 or later is available.
- The production shop uses a public HTTPS URL with a valid certificate.
- The merchant has an active Nexi XPay Greece agreement and the correct API key for the selected TEST or LIVE environment.
- IRIS, Apple Pay, Google Pay, installments and explicit accounting are enabled in the merchant’s Nexi agreement or terminal where those features are required.
- The shop’s checkout, terms, privacy and cancellation/refund information meet the merchant agreement and applicable legal requirements.
Joomla 6 and Nexi products or contracts outside XPay Greece are not supported by version 1.0.0.
Installation
- Back up the Joomla files and database.
- Sign in to the Joomla administrator area.
- Open System → Install → Extensions.
- Upload the versioned installable ZIP supplied by 2o2code. Do not extract the ZIP before uploading it through the Joomla installer.
- Confirm that Joomla reports a successful installation.
- Open System → Manage → Plugins.
- Search for Nexi XPay Greece for VirtueMart.
- Confirm that the plugin is enabled.
- Activate the installation-wide software license before attempting a new Nexi payment.
- Create and configure a VirtueMart payment method as described below.
Installing an update over an existing version preserves the plugin configuration and existing Nexi payment records. Always use Joomla’s installer or update system; do not replace plugin files manually.
License activation and protected updates
License management is installation-wide. The license is configured once in the Joomla plugin settings and is not duplicated inside individual VirtueMart payment methods.
Activate the license
To activate the license:
- Open System → Manage → Plugins.
- Open Nexi XPay Greece for VirtueMart.
- In License and updates, enter the software license key.
- Select Activate license.
- Confirm that the status becomes Active.
- Confirm that Protected updates becomes Connected. A temporary “Token ready; update site pending” status means the license is active but Joomla has not yet completed the update-site connection.
License behavior
- Initial activation on the website is required before new Nexi payments can start.
- If the subscription expires, an already activated installation keeps processing payments. Updates and support end, and the license cannot be used for a new activation.
- If the license is deactivated locally, disconnected from the customer account or authoritatively revoked, new Nexi payments stop on that installation.
- Customer returns, notifications, Nexi verification, reconciliation, capture and refunds for transactions that already exist remain available regardless of the current license state.
- A temporary Freemius, DNS or network problem preserves the last successfully verified local entitlement. A transient outage does not deactivate an already verified installation.
- Protected downloads require a current update entitlement and fail closed when that entitlement cannot be confirmed.
Never include a software license key or Joomla Download Key in screenshots, logs, support tickets or public documentation.
