Back

VibeFox GoPay for PrestaShop — Help

Requirements

PrestaShop: 8.0 to 9.x.

PHP: 8.0 or later. The module refuses to install on older PHP versions.

Currency: GoPay accepts CZK, EUR, PLN, USD, GBP, HUF, RON and BGN. With another cart currency the payment method is hidden at checkout.

GoPay account: you need the GoID, Client ID and Client Secret of your GoPay merchant account. They are in the integration settings of the account. The sandbox (test) account has its own credentials. Nothing has to be set up in the GoPay account for notifications, but your shop must be reachable from the internet.

VibeFox license key: bought on vibefox.net. One key works on one domain.

Installation

1. In the back office go to Modules > Module Manager and click Upload a module. Choose the module ZIP file.

2. When the upload finishes, click Configure, or find VibeFox GoPay Gateway in the module list later and click Configure.

3. Paste your VibeFox license key into License key in the license block at the top of the Configure page and click Activate (see License key).

4. Enter the sandbox GoID, Client ID and Client Secret, keep Test Mode on, turn on Enable/Disable and click Save.

5. Place a test order. When everything works, enter the production credentials and turn off Test Mode.

On install the module creates the order status GoPay payment on hold. PrestaShop offers a new payment module for all currencies, countries and customer groups. You can limit them in Payment > Preferences.

Configuration

All settings are on the module page: Modules > Module Manager > VibeFox GoPay Gateway > Configure. Each section has its own Save button, which saves the whole page. Above the fields the page shows Sandbox mode — test payments only or Production mode — real payments. It warns you when the GoID, Client ID or Client Secret of the current mode is missing, and when GoPay does not accept the default currency of the shop. In both cases GoPay is not offered at checkout. When you save, the cached GoPay access tokens are cleared, so new credentials are used at once.

GoPay

Enable/Disable: Enable GoPay payment gateway turns the payment method on or off. Default: off.

Title: the payment method title displayed at checkout. It is also the payment method name stored in the order. Default: GoPay. Required: an empty title is not saved.

Description: the payment method description displayed at checkout. Default: Pay securely via GoPay - cards, wallets, bank transfers.

API credentials

GoID, Client ID and Client Secret are shown in your GoPay merchant account (integration settings). The sandbox (test) account has its own credentials. The API documentation is at doc.gopay.com.

Test Mode: sends payments to gw.sandbox.gopay.com with the sandbox credentials. No real money is charged. Turn it off to accept real payments with the production credentials. Default: on.

Sandbox GoID: the GoID of your GoPay sandbox (test) account.

Sandbox Client ID: the OAuth Client ID of the sandbox account.

Sandbox Client Secret: the OAuth Client Secret of the sandbox account.

Production GoID: your GoPay merchant ID (GoID).

Production Client ID: the OAuth Client ID from GoPay.

Production Client Secret: the OAuth Client Secret from GoPay.

A GoID contains digits only, for example 8123456789. If you enter something else, the page shows an error and the previous value is kept.

Saved client secrets are never shown again. The field stays empty and shows Saved — leave empty to keep it. Type a new value only to change it.

Clear saved client secrets: tick it and click Save to remove both saved client secrets. An empty field keeps the saved value.

Payment

Payment Page Language: the language of the GoPay payment page. Default: Automatic (site language, then billing country). Automatic uses the language of the customer's cart; if GoPay does not have it, the billing country decides, and English is used otherwise. You can also fix one of 19 languages: Czech, English, Slovak, German, Polish, Hungarian, Romanian, Bulgarian, Croatian, Slovenian, Estonian, Latvian, Lithuanian, French, Italian, Spanish, Portuguese, Ukrainian or Russian.

Order Status After Payment: the order status set when the payment is confirmed.

Payment accepted (WooCommerce "Processing"): the standard PrestaShop status for paid orders (default).
Delivered (WooCommerce "Completed"): every paid order becomes Delivered.

Payments that do not match the order, payments after a cancellation and pre-authorized payments always go to GoPay payment on hold.

Payment notifications

The notification tells your shop that a payment has been made. The Notification URL is shown in this section and is sent to GoPay with every payment, so nothing has to be set up in the GoPay account. With friendly URLs it looks like https://your-shop/module/wcp_gopay_gateway/webhook, possibly with a language code such as /en/. It must be reachable from the internet: no password protection or firewall in front of it. It works while the shop is in maintenance mode and is not blocked by the country restriction of your shop.

GoPay notifications carry only the payment ID and no signature. Every notification is verified by asking the GoPay API for the payment state, with the credentials of the mode the payment was made in, and the payment must be one the module created for a cart of your shop. When the state cannot be read from GoPay, your shop answers with an error and GoPay repeats the notification. Without notifications, an order is created only when the customer comes back to the shop after paying.

Advanced

Logging: writes GoPay events to logs/gopay_p_debug.log.php in the module folder. The file cannot be opened from the web. Errors and warnings are always logged. Credentials, tokens, card data and the customer's e-mail and name are never logged. Default: off.

Log: shows the size and the latest entries of the log. Click Clear log to empty it.

Delete Data on Uninstall: when on, uninstalling the module removes the module settings, the cached GoPay access tokens and the log. Orders, their GoPay payment data and the order status GoPay payment on hold always stay. Default: off.

Checkout

At the payment step the customer chooses the payment method (by default GoPay) and confirms. The module creates a GoPay payment for the cart total in the cart currency, with the products, shipping and gift wrapping, and sends the customer to the GoPay payment page. There GoPay offers the payment methods enabled on your GoPay account, such as payment cards, bank transfers and wallets. The customer's billing name, e-mail, phone and address are passed to GoPay; empty fields are not sent. The payment shows at GoPay as Order PS- and the cart number. No order exists yet at this point.

After paying, the customer returns to your shop. The order is marked paid only after GoPay confirms it: by the notification or by a request to the GoPay API when the customer returns. A notification and a return arriving at the same moment are handled one after the other, so only one order is created. The customer then sees the standard order confirmation page. If the order went to GoPay payment on hold, the page adds Your payment is being reviewed. We will contact you if anything else is needed.

If GoPay has not confirmed the payment yet when the customer comes back (for example, a bank transfer is on its way, or GoPay cannot be reached), a Payment confirmation page shows GoPay has not confirmed your payment yet. Your order will be created automatically as soon as the payment is confirmed — please do not pay again. with a Check again button.

If the payment was not completed, was cancelled or has expired, the customer is back at checkout with The GoPay payment was not completed. You can try again or choose another payment method. or The GoPay payment was cancelled or has expired. You can try again or choose another payment method. The cart is kept, and a new attempt creates a new GoPay payment. A cart that already has an order is never charged again.

If GoPay cannot start the payment, the customer stays at checkout with a short message, for example GoPay could not accept the payment details. Please check your billing details (e-mail, phone, address) or choose another payment method. or GoPay is temporarily unavailable. Please try again in a moment or choose another payment method. The technical reason is written to the log.

The customer chooses the payment method on the GoPay page; it cannot be chosen in PrestaShop. The module has no subscriptions or recurring payments, no saved cards, no embedded payment form and no capture or void of pre-authorizations from PrestaShop.

Orders and refunds

Order statuses

No order yet: the customer was sent to GoPay and has not paid, or GoPay has not confirmed the payment yet. Only the cart exists.

Payment accepted or Delivered: the payment was confirmed. The status follows Order Status After Payment. The payment is recorded with the GoPay payment ID as the transaction ID, and a note shows the payment ID and the payment instrument.

GoPay payment on hold: GoPay confirmed the payment, but the amount, currency or order number differs from the cart (for example, the cart was changed after the payment started); or the payment arrived after the order had been cancelled; or the payment is only pre-authorized and the money is not captured yet. The note explains it. A pre-authorized payment has to be captured in GoPay; the order then moves to the paid status when GoPay reports the payment as paid.

Refunded: the GoPay payment of the order was fully refunded, through the module or in the GoPay account.

If another payment attempt of an order that is already paid is paid as well, the order is not changed. A note asks you to refund the duplicate in the GoPay account. A similar note is added when a GoPay payment is paid for an order that was already marked as paid without GoPay, for example manually. A cancelled or refunded order is never reopened by a later notification.

GoPay payment block

The order page shows a GoPay payment block with the GoPay payment ID, the GoPay state and payment instrument, the payment amount, the amount paid and refunded, a Sandbox badge for sandbox payments, the reason for a manual review, the refund history and the GoPay notes of the order.

Refunds

In the GoPay payment block enter the amount (the amount not refunded yet is filled in), optionally a reason, and click Refund via GoPay. Confirm the question Refund this amount through GoPay? This cannot be undone. Full and partial refunds are supported. You need the right to edit orders; access to the Modules pages is not needed. GoPay accepts partial refunds only 24 hours after the payment. Refunds are made in the amount and currency GoPay charged, so after an amount or currency mismatch you can refund up to what the customer actually paid. The refund is sent in the mode the payment was made in (sandbox or production), so that mode's credentials must be set. If GoPay refuses the refund, the block shows GoPay's message and no refund is recorded. A successful refund is added to the refund history and the notes; a refund that GoPay accepted for later processing is noted as accepted. A full refund sets the order to Refunded. A partial refund does not change the status.

The module does not create credit slips. The standard PrestaShop refund buttons of the order page do not send money back through GoPay.

Refunds made in the GoPay account arrive by notification. A full refund changes the order to Refunded; a partial refund adds a note. They are not added to the refund history of the block.

License key

The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox GoPay Gateway is the first block on Modules > Module Manager > VibeFox GoPay Gateway > Configure, above the settings. Paste the key into License key and click Activate. After that the block shows the key masked, the status (for example the date the license is active until and your domain) and the buttons Check now to check the status again, Change key to enter another key and Remove key to remove the key from this shop. Below them are the line Product: presta-payment-gopay and the link Manage licenses and domains in your account, which opens your vibefox.net account. Only employees with the Configure permission for the module can change the key. The texts of the block follow the back office language (English and Russian are included).

If the key is not accepted, the block says why, for example Key not found, This key belongs to another product, Domain limit reached or License expired on a date. After the shop address changes, or after you free a domain slot in your account, click Check now. If the license server cannot be reached, the module keeps working on the last known status.

One key works on one domain: the domain of the main shop, also in a multistore setup. Removing the key from the shop does not free its domain slot. Free the slot in your vibefox.net account.

Without an active key, GoPay is not shown to customers at checkout. If a payment is started anyway, the customer sees This payment method is not available. Please choose another one. The PrestaShop storefront does not know that you are logged in to the back office, so the payment method is hidden for you too: you can set up the module before you buy a key, but not test it at checkout. A reminder appears in Modules > Module Manager on the Alerts tab. Existing orders are not affected: payments already started are still confirmed, and refunds work.

When a license expires, the module keeps working, but updates and support need a renewal. The status is checked again automatically while you work in the back office: once a day for the first 14 days after the key is entered, then once a week. No cron job is needed. Uninstalling or resetting the module always removes the license key and license status.

Troubleshooting

GoPay does not appear at checkout: check that the license is active, Enable/Disable is on, the current mode has its GoID, Client ID and Client Secret, and the cart currency is one of CZK, EUR, PLN, USD, GBP, HUF, RON or BGN. The settings page shows a warning when the credentials are missing. In Payment > Preferences check that the module is allowed for the cart currency, the customer's country and the customer's group.

The payment went through, but no order was created: GoPay could not reach the notification URL shown in the settings, and the customer did not return to the shop. Remove password protection or firewall rules that block the URL. Check that the credentials of the mode the payment was made in are set, because each notification is verified with them. Turn on Logging and look at the Log field. GoPay repeats notifications that did not get a successful answer.

Notification answers Order not found: the payment was not created by this shop, or its cart was deleted.

Notification answers Payment state could not be verified: the GoPay API could not be reached or the credentials of that mode are missing or wrong. GoPay repeats the notification.

Notification answers Busy, retry later: the cart was being processed by another request at the same moment, or the order could not be created (for example, the module is disabled). GoPay repeats the notification. Turn on Logging to see the reason.

The customer sees an error when choosing GoPay: turn on Logging and look at the Log field. Wrong credentials, or credentials of the other mode, are the usual reason. A message about billing details means GoPay did not accept the e-mail, phone or address.

Test payments do not confirm a live order: sandbox and production are kept apart. Each payment is checked in the mode it was created in. Switch Test Mode to the mode you want and use that mode's credentials.

Order is GoPay payment on hold after payment: read the notes in the GoPay payment block. The paid amount or currency differed from the cart, the payment came after the order was cancelled, or the payment is only pre-authorized.

Refund fails: read GoPay's message in the block. A partial refund is possible only 24 hours after the payment. A message about the mode means the payment was made in sandbox or production mode and that mode's credentials are not set.

For developers: the hook actionGopayPaymentPayload changes the payment request before it is sent to GoPay.

Uninstall

Go to Modules > Module Manager, open the menu next to VibeFox GoPay Gateway and choose Uninstall. The license key and license status of this module are always removed. If Delete Data on Uninstall is on, the module settings, the cached GoPay access tokens and the log are removed. If it is off, all settings are kept for a later re-install. The GoPay payment data of orders and the order status GoPay payment on hold are always kept, so orders paid before can still be refunded after a re-install. Existing orders keep their payment notes and transaction IDs.

GoPay is a trademark of its respective owner. This module is not affiliated with or endorsed by GoPay.