Pago por Redsys



With this plugin you can have a payment gateway on your website. Your customers can pay you through an online POS.

The plugin sends the user to the Redsys payment gateway with the order number and the amount that the user dials or that you have pre-filled (you can see more in the FAQ)

Slike ekrana

  • Corresponds screenshot-1.jpg. This is how the contact form is displayed. The title takes it from the h2 styles and the user fills in, if the pre-filled url has not been passed (see the FAQ).

  • Corresponds screenshot-2.jpg. We send the user to the Redsys gateway with the order number and the amount to pay.

  • Corresponds screenshot-3.jpg. When the payment has been made satisfactorily, the user returns to our page with the order information and the message that we have written.


These are the steps you must do to install in plugin

  1. Upload the plugin to WordPress (or via FTP to / wp-content / plugins / or through the admin interface)
  2. Activate the plugin through the WordPress ‘Plugins’ menu
  3. Configure your POS data in Settings> POS Configuration
  4. Place the following shortcodes on the page you want:
    [pago_tpv]Text of the POS form[/pago_tpv]
  5. You can now send your users to that page to make the payment.


Can it be used without having a TPV Redsys contracted with the bank?

No. In order for the plugin to work, you need the “business identifier” and a terminal configured with your encryption key. This can only be given by your bank.

Can I configure all the texts? The correct payment and those prior to the form?

Yes. The plugin is developed so that the user always goes to the same page where you configure the gateway, making the shortcodes show or hide depending on the payment step you are on.

Does this plugin save user information?

No. It is a payment gateway, simply the plugin forwards the merchant's information, the price to pay and the reference to the order.

Can I pre-fill the fields so that the user only has to make the payment?

Yes. The fields search for $ _GET for the values ​​'np’ and ‘c’.
‘np’: ‘Order number’
‘c’: ‘Amount to pay’
Therefore doing /? Np = 123 & c = 1 we would have the fields “Order number” with “123” and the “Amount to pay” with “1”

The order number always adds 3 values ​​to me before, can I avoid it?

No. This is because the bank can only process each order if the order number is different. Therefore it is necessary in case a user fails an order, he could never pay with the same number again.

How to redirect user before correct and wrong payment?

Each [pago_tpv] can have an url_ko and url_ok attrbute. Also on global configuration can put a url_ko or url_ok for all the return. If you don't specify, it will return to the same page. It is advisable put and url_ok on shortcode or in config.


12. Maja 2024. 1 reply
Este plugin me ha permitido gestiona los cobros desde wordpress sin necesidad de montar toda la estructura de una tienda virtual… gracias
14. Decembra 2021. 1 reply
Es fácil de usar, ofrece una funcionalidad básica para recibir pagos pero resulta muy útil precisamente por su facilidad. Gracias.
7. Augusta 2020. 1 reply
Plugin idóneo para alguien que no quiera tirar de pago porque no sabe cuanto lo va a usar. Hace su función y, con un poco de idea de PHP y CSS, es configurable como tu desees. Funcionando correctamente en una de mis páginas web, por supuesto, con la ayuda de Adri.
Read all 7 reviews

Saradnici i programeri

“Pago por Redsys” is open source software. The following people have contributed to this plugin.


“Pago por Redsys” je prijeveden na 2 dijalekta. Zahvala prevodiocima za njihov doprinos.

Prevedi “Pago por Redsys” na vaš jezik.

Zainteresirani za razvoj?

Pregledajte kôd, pogledajte SVN spremišteili se pretplatite na dnevnik razvoja od RSS.

Zapis promijena


Updated WordPress compatibility to 6.3


Fix undesirable echo


Add field description to the form.
Thanks to Beatriz Lavela


PHP8 Compatibility


Fix problem on send URL_KO and URL_OK to Redsys


Add URL_KO and URL_OK by form and global
Now you can declare a diferent return page from the TPV in every single form or to all. If you don't specify anything it will return to the same page (and use the old shortcodes)


  • Change name for Redsys API Class to don't conflict with the same class loaded from other plugins.
    Thanks to @jconti


  • Setting float to int in DS_MERCHANT_AMOUNT, because json_encode adds decimals in case of float
  • Translated all plugin to English to be standard with the WordPress Repository


  • Launch of the payment gateway