a forma más segura de integrar un pago en WordPress sin plugins es usando una pasarela externa (Stripe, PayPal, Redsys) y conectándola mediante código propio, sin almacenar datos sensibles en tu servidor. Esto evita requisitos PCI y mantiene tu web ligera.
Método recomendado: Hosted Checkout (Stripe / PayPal / Redsys)
Este método es 100% compatible con WordPress sin plugins, porque solo necesitas:
- Un botón HTML en tu página.
- Un script que envía al usuario a la pasarela.
- Una URL de retorno para confirmar el pago.
No procesas tarjetas en tu servidor → máxima seguridad.
Opción 1: Stripe Checkout (la más segura y moderna)
Stripe ofrece una página de pago ya certificada PCI, con 3D Secure incluido.
1. Crear sesión de pago (archivo PHP propio)
Crea un archivo en tu hosting, por ejemplo: /wp-content/themes/tu-tema/stripe-checkout.php
php
<?php
require 'vendor/autoload.php';
\Stripe\Stripe::setApiKey('TU_CLAVE_SECRETA');
$session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],
'line_items' => [[
'price_data' => [
'currency' => 'eur',
'product_data' => ['name' => 'Producto seguro'],
'unit_amount' => 2000, // 20€
],
'quantity' => 1,
]],
'mode' => 'payment',
'success_url' => 'https://tudominio.com/gracias',
'cancel_url' => 'https://tudominio.com/cancelado',
]);
header("Location: " . $session->url);
2. Botón HTML en WordPress
En cualquier página:
html
<form action="/wp-content/themes/tu-tema/stripe-checkout.php" method="POST">
<button type="submit">Pagar 20€</button>
</form>
✔ No usas plugins ✔ No guardas tarjetas ✔ 3D Secure automático ✔ Cumple PCI
Opción 2: PayPal Checkout (sin plugins)
Botón HTML oficial
En WordPress (modo HTML):
html
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="tu-email@paypal.com">
<input type="hidden" name="item_name" value="Producto seguro">
<input type="hidden" name="amount" value="20.00">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="return" value="https://tudominio.com/gracias">
<input type="hidden" name="cancel_return" value="https://tudominio.com/cancelado">
<button type="submit">Pagar con PayPal</button>
</form>
✔ No requiere servidor ✔ PayPal gestiona todo ✔ Ideal para servicios o productos simples
Opción 3: Redsys (TPV Virtual) sin plugins
Redsys permite integrar un formulario firmado que envía al usuario a su pasarela.
Flujo:
- Generas un Ds_MerchantParameters y una firma SHA256 en un archivo PHP.
- Creas un formulario HTML que envía los datos a Redsys.
- Redsys devuelve al usuario a tu web.
Es más complejo que Stripe/PayPal, pero totalmente posible sin plugins.
Comparativa rápida
| Método | Seguridad | Dificultad | Ideal para |
|---|---|---|---|
| Stripe Checkout | ⭐⭐⭐⭐⭐ | Media | Productos/servicios modernos |
| PayPal HTML | ⭐⭐⭐⭐ | Baja | Pagos simples y rápidos |
| Redsys TPV | ⭐⭐⭐⭐⭐ | Alta | Negocios en España con TPV bancario |