Back

VibeFox Redsys for PrestaShop — Help

Requirements

PrestaShop: 8.0 to 9.x.

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

Redsys merchant account: your bank (the acquirer that gave you the Redsys virtual POS) gives you the merchant code (FUC), the terminal number and access to the Redsys administration panel, where the SHA-256 secret key of each environment is shown. The key of the test environment is different from the real one. The online notification (HTTP) must be active for your terminal. Ask your bank if you are not sure.

Shop currency: one of the currencies the module supports (see Configuration), and your Redsys terminal must be enabled by the bank for it. Most terminals accept EUR only.

Reachable shop: Redsys must be able to reach your shop from the internet, without a login or a firewall block, to deliver the payment notifications.

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 Redsys 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 your merchant code, terminal and the secret key of each environment (see Configuration).

5. Turn on Enable/Disable and click Save. Test a payment with Test Mode on, then turn off Test Mode to accept real payments.

On install the module creates the order status Redsys payment on hold. PrestaShop offers a new payment module for the countries that are active at that moment, and for all currencies and customer groups. You can change this in Payment > Preferences; countries you activate later must be ticked there for the module.

Configuration

All settings are on the module page: Modules > Module Manager > VibeFox Redsys Gateway > Configure. Each section has its own Save button, which saves the whole page. Above the fields the page warns you when the merchant code is missing or not made of digits, when a secret key is not a valid Redsys SHA-256 key, when the key of the current mode is empty (the payment method is then hidden at checkout) and when the shop currency is not supported. While test mode is on it shows Test mode is active: payments go to the Redsys test environment (SIS-T), no real money is charged. If Title is empty, the page shows Enter a title for the payment method. and nothing is saved.

Redsys

Enable/Disable: Enable Redsys Gateway turns the payment method on or off. Default: off.

Title: the payment method name customers see at checkout. It is also the payment method name stored in the order. Default: Credit/Debit Card (Redsys). Required.

Description: the text shown under the payment method at checkout. Default: Pay securely with your credit or debit card via Redsys.

Redsys account

Your bank gives you the merchant code, the terminal and access to the Redsys administration panel, where the SHA-256 secret key of each environment is shown. The section links to the Redsys administration panel.

Merchant Code (FUC): your Redsys merchant code, up to 9 digits. Anything that is not a digit is removed when you save.

Terminal Number: the terminal number assigned by your bank, up to 3 digits. Default: 1. An empty field is saved as 1.

Secret Key (SHA-256) — live: the Base64 SHA-256 key of the real (production) environment, usually 32 characters. It is used when test mode is off.

Test mode (SIS-T)

The Redsys test environment has its own secret key. The section shows the public Redsys test data: merchant code 999008881, terminal 1, key sq7HjrUOBfKmC576ILgskD5srU870gJ7, card 4548 8100 0000 0003, expiry 12/49, CVV 123. No real money is charged in test mode.

Test Mode: payments and refunds go to the Redsys test environment (SIS-T) and are signed with the test key. Default: on. Turn it off to take real payments. While it is on, the checkout shows TEST MODE: Redsys test environment, no real money is charged. under the payment method.

Secret Key (SHA-256) — test: the Base64 SHA-256 key of the test environment. Use your own test key or the public test key above.

Saved keys 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 secrets: tick a key and click Save to remove it. An empty field keeps the saved value.

Payment page and orders

Commerce Name: the shop name shown on the Redsys payment page, at most 25 characters. Default: the name of your shop, cut to 25 characters.

Order Status After Payment: the order status set after a successful payment.

Payment accepted (Processing): the default. The standard PrestaShop status for paid orders.
Delivered (Completed): every paid order becomes Delivered.
Redsys payment on hold (On Hold): every paid order waits for your manual review. The payment is still recorded on the order.

Amount or currency mismatches, test payments while the shop is in live mode and payments of cancelled attempts always go to Redsys payment on hold.

Payment notifications

Notification URL: Redsys reports every payment to this address of your shop. It is shown in this section and looks like https://your-shop/module/wcp_redsys_gateway/notify with friendly URLs. The module sends it to Redsys with every payment, so there is nothing to copy into the Redsys panel. The online notification (HTTP) must be active for your terminal. Ask your bank if no order is created after a successful payment. Notifications without a valid signature are rejected. Without the notification, no order is created.

Advanced

Debug log: writes the details of payments, notifications and refunds to logs/rdsg_debug.log.php in the module folder. The file cannot be opened from the web. Errors are always logged, also when this option is off. Keys, signatures and card data are never logged. Default: off.

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

Delete Data: when on, uninstalling the module removes the gateway settings and the log. The Redsys payment records of orders (needed for refunds) and the order status Redsys payment on hold are always kept. Default: off.

Supported currencies

EUR, USD, GBP, JPY, CHF, CAD, AUD, NZD, NOK, SEK, DKK, PLN, CZK, HUF, BGN, RON, ILS, INR, MYR, SGD, THB, SAR, ZAR, RUB, BRL, MXN, ARS, CLP, COP, PEN, CNY, TWD. The payment method is hidden for carts in other currencies.

Checkout

At the payment step the customer chooses the payment method (by default Credit/Debit Card (Redsys)) and confirms the order. The customer sees Redirecting to Redsys for payment. Please wait... and goes on to the Redsys payment page of your bank. If the browser does not go on by itself, the customer clicks Pay via Redsys, or Choose another payment method to go back. No order exists yet at this point.

On the Redsys page the customer pays by card with 3-D Secure, or by Bizum or another method your bank has enabled for the terminal. The page uses the language of the cart (Spanish, English, Catalan, French, German, Italian, Portuguese and more), or English for other languages. The amount is the cart total in the minor units of the cart currency, for example EUR 43.45 as 4345, and JPY or CLP without decimals. The payment is described as Cart with the cart number and your shop name.

After paying, the customer returns to your shop. The order is marked paid only after Redsys confirms it by the signed notification: the notification creates the order, and the customer sees the standard order confirmation page with Your payment with Redsys has been received. If the order went to Redsys payment on hold, the page shows Your payment with Redsys has been received and is being reviewed by the store. If the notification has not arrived yet, a Payment confirmation page shows Redsys is confirming your payment. If you completed the payment, your order will be created in a few moments — please do not pay again. with the buttons Check again and Back to checkout.

If the customer cancels or the payment is refused, Redsys sends the customer back to the checkout with The Redsys payment was not completed. You can try again or choose another payment method. The cart is kept, and the customer can pay again. Each new attempt gets a new Redsys order number, and a payment made from any of them, for example from a second browser tab, is still recognised.

If the payment cannot be sent to Redsys, the customer stays at checkout with a short message: Redsys payments are not configured correctly. Please choose another payment method or contact us., a message that the currency is not accepted, or The order total must be greater than zero.

The notification works while the shop is in maintenance mode and is not blocked by the country restriction of your shop.

The module takes one-time payments, authorised and captured at once on the Redsys page. It has no card form on your own site (InSite or iframe), no saved cards, one-click payments or tokenisation, no subscriptions or recurring payments, no pre-authorisation with later capture and no payment links for orders created in the back office.

Orders and refunds

Order statuses

No order yet: the customer was sent to Redsys and has not paid, the payment was refused or cancelled, or the Redsys notification has not arrived yet. Only the cart exists.

Payment accepted, Delivered or Redsys payment on hold: the payment was confirmed. The status follows Order Status After Payment. The payment is recorded with the Redsys order number (Ds_Order) as the transaction ID, and a note shows the Redsys order number, the authorisation code and the response code, marked [TEST] for test payments.

Redsys payment on hold after payment: Redsys reported a different amount or currency than the cart total (for example, the cart was changed in another tab after the payment started), a test payment arrived while the shop is in live mode (no real money was charged, no payment is recorded), or the customer paid after cancelling that payment on the Redsys page. The note explains it. Check the payment in the Redsys administration panel, then process the order or refund the payment.

Refunded: the payment was fully refunded through the module.

A refused payment never changes an existing order. For frequent response codes the log and notes give a short reason, such as Insufficient funds, Card expired or Cancelled by the customer. If a second, different payment arrives for a cart that already has an order, the order is not changed. A note asks you to refund the duplicate payment in the Redsys administration panel. If Redsys reports that a payment is still in progress, a note is added and the order waits for the final result.

Redsys payment block

The order page shows a Redsys payment block with the Redsys order number (Ds_Order), the authorisation code and response, the environment (live or test), the amount paid and refunded, a Test mode badge for test payments, a review hint for orders on hold, the refund history, the Redsys notes of the order and all Redsys order numbers issued for the cart.

Refunds

In the Redsys payment block enter the amount (the amount not refunded yet is filled in), optionally a reason, and click Refund via Redsys. Confirm the question Refund this amount through Redsys? 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. Refunds are made in the amount and currency Redsys charged, so after an amount or currency mismatch you can refund up to what the customer actually paid, not the order total. The refund is sent through the Redsys REST API to the environment the payment was made in (test or live), signed with that environment's key, and the response signature is checked. If Redsys does not accept the refund, the block shows the error and no refund is recorded. A successful refund is added to the refund history and the notes with the Redsys order number and the reason. 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 Redsys.

Refunds made in the Redsys administration panel are not recorded as refunds of the module. When Redsys sends a notification for them, a note is added to the order. The order status is not changed automatically.

License key

The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox Redsys Gateway is the first block on Modules > Module Manager > VibeFox Redsys 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-redsys 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, Redsys 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

Redsys does not appear at checkout: check that the license is active, Enable/Disable is on, the merchant code and terminal are filled in and the current mode has a valid key: Secret Key (SHA-256) — test in test mode, Secret Key (SHA-256) — live in live mode. Check that the cart currency is in the list of supported currencies. The settings page shows a warning for each of these problems. 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: the Redsys notification did not reach your shop. Ask your bank to check that the online notification (HTTP) is active for your terminal. Check that the address shown in Notification URL can be reached from the internet without a login or a firewall block. Turn on Debug log and look at the Log field on the module page.

Notification answers Forbidden: the signature did not match the secret key of the environment the payment was started in, or the merchant code in the notification is not yours. Check that the secret keys and the merchant code in the settings are the ones of your terminal.

Notification answers Order not found: the notification was signed correctly, but no cart of this shop uses that Redsys order number.

Notification answers Busy: the cart was being processed by another notification at the same moment, or the order could not be created (for example, the module is disabled). Redsys retries the notification. The log shows the reason.

Notification answers Bad request: the request had no or broken Redsys parameters. It did not come from Redsys in the expected format.

Order is Redsys payment on hold after payment: read the notes in the Redsys payment block (see Order statuses), then process the order or refund the payment.

Test payments do not confirm orders in live mode: a test payment never pays an order while Test Mode is off. The order is put on hold with a note instead. Use test mode with the test key for test payments.

Refund fails: read the error. Redsys refund: the merchant code or the TEST secret key is not configured. (or LIVE) means the key of the environment of the payment is missing. Redsys error codes are explained in the message, for example SIS0057 (the amount exceeds what is left of the payment), SIS0056 (the original payment was not found, other environment or terminal), SIS0042 (signature error, check the key of this environment), SIS0026 (unknown merchant code or terminal) and SIS0027 (currency not configured for the terminal). If Redsys cannot be reached, the refund is not made. Try again later.

Your terminal accepts a currency that is not in the list: developers can change the list of currencies with the actionRdsgCurrencyCodes hook. Add a currency only if your bank has enabled it for the terminal.

Uninstall

Go to Modules > Module Manager, open the menu next to VibeFox Redsys Gateway and choose Uninstall. The license key and license status of this module are always removed. If Delete Data is on, the gateway settings and the log are removed. If it is off, all settings are kept for a later re-install. The Redsys payment records and refunds and the order status Redsys 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.

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