Skip to content
Payfim - Secure. Simple. Yours.
HikaShop · v3.0.0

HikaShop Crypto Payment Plugin for Joomla

Let HikaShop customers pay in Bitcoin, USDT, Ethereum, Litecoin and more, with every coin sent to wallets you own. The plugin plugs into HikaShop's payment methods, order statuses and order history, so crypto orders behave like every other order in your Joomla shop.

  • Lifetime license, 0% fees
  • Pays straight to your wallet
  • 16 coins incl. USDT TRC20/ERC20
  • Illustrated PDF guide

Compatibility: HikaShop 4.3 - 5.x · Joomla 3.10 / 4 / 5 · PHP 7.4 - 8.4

HikaShop checkout payment step showing Pay with Crypto by Payfim

Everything you need to accept crypto on HikaShop

Native payment plugin

Installs from Joomla Extensions > Install.

Status mapping

Paid, underpaid and expired mapped to your HikaShop statuses.

Order history

Every crypto event is written to the order history.

Write-only API key

With a one-click Test connection.

Duplicate-safe

Repeated notifications never re-confirm an order.

A crypto payment method that follows HikaShop's rules

HikaShop gives you fine control over when a payment method appears: zones, currencies, price ranges and more. A crypto option that ignores those rules quickly becomes a support headache. The Payfim plugin is a native hikashoppayment plugin, so it appears in System → Payment methods next to your other methods and respects the restrictions you set there.

That makes a few setups easy that are awkward with hosted processors:

  • Crypto above a minimum cart value only - set a price range restriction so small orders keep using cards.
  • Crypto for selected zones - show the method only where it makes sense for your business.
  • More than one crypto method - the plugin can be added several times, each with its own name, restrictions and gateway connection.

Behind the method sits your own self-hosted Payfim Gateway. Payfim charges no transaction fees, needs no merchant account, and never touches the coins: they go straight to the receiving addresses you entered in the gateway.

From Finish to confirmed: the order flow

  1. The customer selects Pay with Crypto and clicks Finish. HikaShop creates the order with the status created, and the order history gets an entry with the Payfim invoice number.
  2. The plugin creates the invoice on your gateway, server to server, from the stored order total and currency, then redirects the customer to your branded checkout.
  3. The customer picks a coin, scans the QR code and pays. Quotes lock the exchange rate for 30 minutes by default.
  4. Once the transaction has the confirmations you set per coin, the gateway sends a signed webhook. The plugin re-reads the invoice from the gateway, checks it belongs to this order and payment method, and moves the order to confirmed.
  5. HikaShop sends its normal status e-mail, and the order history shows the coin, the amount received and the transaction hash.

When the customer returns from the gateway, the plugin checks the invoice again before showing HikaShop's thank-you page, so the page reflects the real payment state. If a customer later opens the order in their account and clicks Pay now on an order whose payment has already arrived, the plugin shows a notice instead of issuing a second invoice.

Status mapping and the underpaid case

The plugin settings let you choose four HikaShop statuses. The defaults use statuses every HikaShop installation has:

Payfim stateDefault HikaShop status
Awaiting paymentcreated
Paid and confirmedconfirmed
Underpaidcreated, with a history note
Expired or cancelledcancelled (only while still awaiting payment)

HikaShop has no "on hold" status out of the box. If you create your own review status, select it for underpaid orders so they are easy to filter. An underpaid invoice is never treated as paid; the history reads, for example, Only 0.0016 of 0.0021 BTC received, and you decide whether to request the rest or refund. Our article on crypto underpayments and refunds explains the usual approaches.

Security details for Joomla administrators

Each webhook is checked against an HMAC-SHA256 signature made with that payment method's API key and must be fresh (within five minutes). The plugin then asks your gateway for the invoice rather than trusting the message body, and it compares the invoice amount and currency with the current order total. Processing takes a per-order lock, so duplicate or simultaneous notifications change the order once.

The API key field is write-only: after saving it stays blank with the hint Saved - leave empty to keep the current key. The Test connection button runs through HikaShop's own plugin trigger and additionally checks the Joomla form token and core.manage permission. Gateway errors go to administrator/logs/payfim-hikashop.php; customers only see a short "temporarily unavailable" message. If the method is published but not configured, the plugin blocks the order instead of creating one that cannot be paid.

What your customers see after clicking Finish

The crypto checkout runs on your own domain, for example pay.yourstore.com, in your colors, with light and dark modes. It speaks English, Spanish, French, German, Portuguese and Turkish, so it suits the multilingual shops Joomla is often chosen for.

The customer sees the exact amount, a QR code and copy buttons. Each open invoice gets a unique amount, a tiny extra fraction of at most a few cents, so the gateway can tell payments apart even when they go to the same address. XRP payments get their own destination tag instead. The page updates on its own from "waiting" to "confirming" to "completed", and if the customer pays after the quote has expired, the gateway still detects the transaction so you can sort it out instead of losing track of it.

Requirements

HikaShop4.3 - 5.x (tested end to end on HikaShop 4.3)
Joomla3.10, 4 or 5 (installation verified on Joomla 5)
PHP7.4 - 8.4
GatewayPayfim Gateway 3.0+ on HTTPS (included in your download)
HostingMySQL/MariaDB, cURL; shared hosting is fine

Running VirtueMart on another Joomla site? The VirtueMart crypto payment plugin uses the same gateway, so one gateway can serve both shops.

Why self-hosted suits a Joomla shop

Joomla merchants tend to prefer software they install and own over services they rent, and Payfim follows the same idea. You pay a one-time license per domain, the gateway runs on your hosting, and a payfim.com outage never blocks your checkout: the license check has a 72-hour grace period and is signed with Ed25519. For a side-by-side look at the trade-offs, read self-hosted vs hosted crypto payment gateways.

Twelve months of updates are included with the license, renewal after that is optional, and if the plugin does not work on your shop and support cannot fix it, the 14-day refund policy applies.

How to install the HikaShop crypto payment plugin

  1. Install your Payfim gateway. Put the gateway on your hosting (for example pay.yourstore.com), run its installer and add your wallet addresses. Details: Install the Payfim gateway.
  2. Upload the plugin. In Joomla go to System → Install → Extensions (Joomla 3: Extensions → Manage → Install) and upload plg_hikashoppayment_payfim.zip. Joomla enables it automatically.
  3. Add the payment method. Open Components → HikaShop → System → Payment methods, click New and choose Hikashop Payfim Crypto Payments Plugin. Name and description are pre-filled; set Published to Yes.
  4. Connect your gateway. Under Specific configuration paste the Gateway URL and the API key from the gateway's Integrations page, click Test connection, check the status mapping and click Save & Close.
  5. Run a test order. Buy a low-priced item, pay it, and confirm the order reaches confirmed with the transaction hash in its history. See the HikaShop setup guide for screenshots.

Screenshots

Payfim settings in HikaShop with a successful connection test
Payfim settings in HikaShop with a successful connection test
Pay with Crypto in the HikaShop checkout
Pay with Crypto in the HikaShop checkout
HikaShop order history after a confirmed crypto payment
HikaShop order history after a confirmed crypto payment

HikaShop crypto payments FAQ

Is HikaShop 5 supported?

Yes. The plugin supports HikaShop 4.3 through 5.x. It relies on the payment plugin API (hikashopPaymentPlugin, plugin configuration and order saving) that HikaShop 5 keeps.

Why is Pay with Crypto not showing at checkout?

Check that the method is Published and that its restrictions - zone, currency, price range - match the cart you are testing with.

Does the customer get an e-mail when the payment confirms?

Yes. The order moves to your paid status and HikaShop sends its standard status e-mail to the customer.

Can I add more than one crypto payment method?

Yes. The plugin supports multiple instances, each with its own name, restrictions and gateway settings.

What if the customer closes the crypto page before paying?

If they simply close the page, the order stays in the awaiting status until the quote expires, and a payment sent before then is still picked up by the gateway. If they click the cancel link on the payment page, HikaShop's standard cancel-order handling applies.

Are my wallets' private keys needed?

No. The gateway only needs public receiving addresses. Monero is the one special case: it uses a private view key or your own wallet RPC, never the spend key.

Is there a monthly fee?

No. You buy a lifetime license with 12 months of updates, and yearly update renewal is optional. See pricing.

Related integrations