[Skip to main content](#vessel-content)

☰ Documentation

#  CoinGate payment plugin

Details    Written by: Administrator    Category: [Payment plugins](/support/documentation/hikashop/payment-plugins)     Published: 09 November 2026     Hits: 6

## Installation

- 1) Open a merchant account at coingate.com. To be paid in euros, dollars or pounds, CoinGate has to verify your business first (its "KYB" check); until then you can only keep the coins.
- 2) In your CoinGate dashboard, Integrations, API Management, create an API app. Leave its IP whitelist empty. Its callback format can be JSON or form: the plugin reads both.
- 3) Copy the app's **Auth Token**: it is the only key the plugin needs.
- Nothing else to set on CoinGate: the plugin sends the address of your shop with each order, so there is no notification URL to paste in the dashboard.
- To test first, do the same on sandbox.coingate.com, CoinGate's separate test site with its own account and token.

- 4) Download the CoinGate plugin from our website, install it on your Joomla or WordPress website and enable it.
- 5) Go to HikaShop &gt; System &gt; Payment methods, click New and choose CoinGate.
- 6) Paste the auth token, choose the settlement currency, publish the method and save. Saving checks the token with CoinGate and tells you at once if it is wrong.

## Configuration

![The CoinGate settings in the HikaShop payment method](/images/doc/plugins/coingate/coingate_settings.png)

- **Auth token**: the token of your CoinGate API app. A token made on coingate.com takes real payments; one made on sandbox.coingate.com only works with Use Sandbox set to Yes. If you paste a token of the wrong site, saving says which site it belongs to.
- **Use Sandbox**: Yes to test on sandbox.coingate.com, where an invoice is paid or refused with a "Mark as Paid" or "Mark as Invalid" button instead of real coins. Set it back to No, with your live token, to take real payments.
- **Callback URL**: shown for information, nothing to type. It is the address of your shop that CoinGate calls when an order is paid, expires or is refunded. It must answer without a redirection, as CoinGate does not follow them: if your site redirects http to https, or to another domain, make sure the address shown is the final one.
- **Settlement currency**: what CoinGate pays you.
- *Order currency* (recommended): the currency of the order when CoinGate pays out in it (EUR, USD, GBP), the fallback currency below for the others.
- *EUR*, *USD* or *GBP*: always that currency, whatever the currency of the order.
- *Keep the coin paid*, or one coin (BTC, ETH, LTC, BCH, USDC, EURC, USDT): you receive crypto. The price risk and its tax treatment are then yours.
- **Fallback settlement currency**: with Order currency, what you are paid in for an order in a currency CoinGate does not pay out in. A shop selling in złoty or Swiss francs gets invoices in PLN or CHF and is paid in the fallback currency (EUR by default).
- **Send the customer's details to CoinGate**: Yes sends the name, email, country and company of the billing address with the order, so CoinGate's Travel Rule form is filled in for the customer. With No, the customer types it all on the invoice. Mention this sharing in your privacy policy.
- **Birth date field**: CoinGate's form also asks a private customer's date of birth, and HikaShop has no such field of its own. If your checkout asks for it with a custom field (a date picker or text field of the address or of the user), choose it here and it is sent too. Leave None otherwise: the customer types it on the invoice.
- **Debug**: Yes writes every exchange with CoinGate in the payment log of HikaShop (its file is set in System &gt; Configuration, Main, Files, Payment log file). Useful when something goes wrong; leave it off otherwise.
- **Confirming status**: the status of an order once the customer has sent the coins and the network is confirming the transaction, usually a few minutes. Pending by default.
- **Invalid status**: the status of an order whose invoice expired (after 20 minutes without payment), was cancelled by the customer, or whose payment the network or CoinGate's checks refused. Cancelled by default.
- **Verified status**: the status of a paid order, the one that sends the confirmation email to the customer. Confirmed by default.
- **Refunded status**: the status an order moves to when CoinGate tells it was fully refunded. Moving an order to this status yourself does not refund it on CoinGate: refund it from your CoinGate dashboard (Sales, Orders) and the order follows.
- In the generic settings, the **Currency** restriction can limit the method to some currencies. Without it, the method shows for every currency CoinGate prices in (about 40, from EUR, USD and GBP to PLN, CHF, CAD, AUD, JPY and more).

## Testing

- Make an account on sandbox.coingate.com, an API app there, paste its token and set Use Sandbox to Yes.
- Place an order with the CoinGate method, choose a coin on the invoice, fill in the billing form with a real-looking email (CoinGate refuses test domains such as example.test), then click "Mark as Paid" or "Mark as Invalid" under the payment address.
- Your test site must be reachable from the internet for CoinGate's callbacks; on a local site, coming back to the shop from the invoice updates the order too.
