PayPal
PayPal es el monedero digital más popular del mundo, con más de 429 millones de usuarios activos. Los consumidores pueden conectar su tarjeta de crédito o su cuenta bancaria a su cuenta de PayPal para hacer pagos online, o añadir crédito a su cuenta. De esta manera, los clientes pueden completar pagos desde su ordenador, móvil o tablet sin tener que rellenar sus datos bancarios en cada compra.
Puedes empezar a aceptar pagos con PayPal en la Web usando la Página de pago alojada o el Componente PayPal. No se necesita ninguna configuración adicional para usar PayPal en la Página de pago alojada.
Nuestro Componente PayPal renderiza el botón de PayPal en tu página de pago. Cuando un cliente selecciona PayPal, el componente muestra una superposición de PayPal donde el cliente puede iniciar sesión con sus credenciales de PayPal para completar el proceso de pago.
Disponibilidad
PayPal está disponible para compradores y vendedores en más de 200 mercados de todo el mundo. Para aceptarlo con MONEI, conectas tu propia cuenta de PayPal Business: consulta Activación.
Activación
MONEI dispone de una integración con PayPal para que puedas añadirlo fácilmente como método de pago a tu tienda online. Para configurar PayPal, ve a MONEI Dashboard → Configuración → Métodos de pago y haz clic en Vincular cuenta comercial PayPal.
Se te redirigirá a una página de PayPal desde la que podrás conectar tu cuenta de empresa de PayPal con tu cuenta de MONEI. Si no tienes una cuenta profesional de PayPal, crea una aquí.
Una vez actives PayPal, estará disponible en la Página de pago alojada, o puedes usar el Componente PayPal para mostrar el botón directamente en tu web. Después de activar PayPal, aparecerá de forma automática en tu página de checkout.
Comisiones
La tarifa de MONEI para PayPal es una tarifa plana de 0,20 % + 0,10 € por transacción. PayPal aplica además sus propias comisiones de procesamiento, que negocias y pagas directamente a PayPal; para más información, visita la página de comisiones para vendedores de PayPal.
Para conocer los precios de MONEI en los pagos con PayPal, consulta las tarifas de MONEI.
La ventaja de usar PayPal a través de MONEI es que todos los pagos efectuados con PayPal se incluyen en tu panel de control, lo que te da una visión centralizada de tus transacciones junto con todos los demás métodos de pago configurados en tu cuenta.
Liquidaciones
La liquidación de las transacciones con PayPal funciona de forma diferente a la de otros métodos de pago. Cuando recibes un pago por PayPal, te paga PayPal directamente, y no MONEI. Puedes ajustar la frecuencia de las liquidaciones en tu cuenta de PayPal.
Reembolsos
PayPal no permite las devoluciones para transacciones de más de 180 días. Por esta razón, si intentas hacer una devolución de un pago hecho con PayPal hace más de 180 días en tu panel de control, no te será posible procesarla.
Antes de empezar
Esta página explica cómo añadir PayPal a tu página de pago personalizada. Si no necesitas una experiencia de checkout personalizada, te recomendamos usar nuestra página de pago alojada. Ya admite todos los métodos de pago disponibles y no requiere programación.
Para aceptar pagos con PayPal necesitas conectar tu cuenta de empresa de PayPal. Para conectar tu cuenta de empresa de PayPal ve a MONEI Dashboard → Configuración → Métodos de pago.
Para probar tu integración:
- Usa tu Account ID y clave de API del modo de prueba.
- Conecta una cuenta de empresa de PayPal de prueba en tu MONEI Dashboard (en modo de prueba).
- Usa la cuenta personal de PayPal de prueba para los pagos.
- Puedes comprobar el estado de un pago de prueba en tu MONEI Dashboard → Pagos (en modo de prueba).
Checkout Exprés
Usa el checkout exprés para recopilar las direcciones de envío directamente en el flujo de pago de PayPal. Consulta la guía de Checkout Exprés para ver la configuración y los ejemplos.
Integración
1. Crear un pago Servidor
Crea un Pago en tu servidor con un importe y una moneda. Decide siempre cuánto cobrar en el lado del servidor, un entorno de confianza, y no en el cliente. Esto evita que clientes malintencionados puedan elegir sus propios precios.
- cURL
- Node.js
- PHP
- Python
curl --request POST 'https://api.monei.com/v1/payments' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"amount": 110,
"currency": "EUR",
"orderId": "14379133960355",
"description": "Test Shop - #14379133960355",
"customer": {
"email": "email@example.com"
},
"callbackUrl": "https://example.com/checkout/callback"
}'
(Sustituye YOUR_API_KEY por tu clave de API de MONEI real)
import {Monei} from '@monei-js/node-sdk';
// Replace YOUR_API_KEY with your actual MONEI API key
const monei = new Monei('YOUR_API_KEY');
const payment = await monei.payments.create({
amount: 110,
currency: 'EUR',
orderId: '14379133960355',
description: 'Test Shop - #14379133960355',
customer: {
email: 'email@example.com'
},
callbackUrl: 'https://example.com/checkout/callback'
});
// Pass payment.id to your client-side
const paymentId = payment.id;
<?php
require_once 'vendor/autoload.php';
use Monei\Model\CreatePaymentRequest;
use Monei\Model\PaymentCustomer;
use Monei\MoneiClient;
// Replace YOUR_API_KEY with your actual MONEI API key
$monei = new MoneiClient('YOUR_API_KEY');
$payment = $monei->payments->create(
new CreatePaymentRequest([
'amount' => 110,
'currency' => 'EUR',
'order_id' => '14379133960355',
'description' => 'Test Shop - #14379133960355',
'customer' => new PaymentCustomer([
'email' => 'email@example.com'
]),
'callback_url' => 'https://example.com/checkout/callback'
])
);
// Pass payment ID to your client-side
$paymentId = $payment->getId();
?>
import Monei
from Monei import CreatePaymentRequest, PaymentCustomer
# Replace YOUR_API_KEY with your actual MONEI API key
monei = Monei.MoneiClient(api_key="YOUR_API_KEY")
payment = monei.payments.create(
CreatePaymentRequest(
amount=110,
currency="EUR",
order_id="14379133960355",
description="Test Shop - #14379133960355",
customer=PaymentCustomer(
email="email@example.com"
),
callback_url="https://example.com/checkout/callback"
)
)
# Pass payment ID to your client-side
payment_id = payment.id
Los siguientes parámetros son obligatorios:
- amount entero positivo - Importe que se pretende cobrar con este pago. Un entero positivo que representa cuánto cobrar en la (p. ej., 100 céntimos para cobrar 1,00 USD)
- currency cadena - Código de moneda ISO de tres letras, en mayúsculas. Debe ser una moneda compatible.
- orderId cadena - Un ID de pedido de tu sistema. Un identificador único que puede usarse para el pago con tu sistema interno.
- callbackUrl cadena - La URL a la que se enviará de forma asíncrona el resultado del pago.
Consulta todos los parámetros de solicitud disponibles.
El objeto Pago devuelto incluye un id de pago, que se usa en el lado del cliente para completar de forma segura el proceso de pago en lugar de pasar el objeto Pago completo.
2. Añadir PayPal a tu página de pago Cliente
Incluye monei.js en tu página de checkout añadiendo la etiqueta script al head de tu archivo HTML.
<head>
<title>Checkout</title>
<script src="https://js.monei.com/v3/monei.js"></script>
</head>
Añade el Componente PayPal de MONEI a tu página de pago. Crea un nodo DOM vacío (contenedor) con un ID único en tu formulario de pago.
<div id="paypal_container">
<!-- A MONEI PayPal Component will be inserted here. -->
</div>
Inicializar el Componente PayPal
// Create an instance of the PayPal component.
const payPal = monei.PayPal({
paymentId: '{{payment_id}}',
onSubmit(result) {
moneiTokenHandler(result.token);
},
onError(error) {
console.log(error);
}
});
// Render an instance of the PayPal component into the `paypal_container` <div>.
payPal.render('#paypal_container');
Consulta la Referencia de MONEI JS para ver más opciones.
3. Confirmar el pago Cliente
Para completar el pago necesitas confirmarlo usando la función confirmPayment de monei.js.
Debes proporcionar un paymentId (obtenido en el paso 1) y el paymentToken generado con el Componente PayPal. También puedes proporcionar parámetros adicionales como customer.email. Consulta todos los parámetros disponibles.
// Confirm the payment
async function moneiTokenHandler(token) {
try {
const result = await monei.confirmPayment({
paymentId: '{{payment_id}}',
paymentToken: token
});
// At this moment you can show a customer the payment result
// But you should always rely on the result passed to the callback endpoint
// on your server to update the order status
console.log(result);
} catch (error) {
console.error(error);
}
}
Como proceso alternativo, puedes enviar el paymentToken generado a tu servidor y luego confirmar el pago en el lado del servidor.
4. Procesar la notificación webhook Servidor
Tras la interacción en el lado del cliente y cualquier procesamiento en segundo plano necesario, MONEI envía el estado de pago final y autoritativo mediante una solicitud HTTP POST asíncrona a la callbackUrl que proporcionaste en el Paso 1.
El cuerpo de la solicitud contiene el objeto Pago completo en formato JSON.
Este webhook es la única forma fiable de confirmar el resultado definitivo del pago.
Es imprescindible que:
- Verifiques el encabezado
MONEI-Signatureincluido en la solicitud. Esto confirma que el webhook proviene genuinamente de MONEI. Consulta la guía de verificación de firmas para los detalles de implementación. - Devuelvas un código de estado HTTP
200 OKinmediatamente al recibir el webhook para confirmar la recepción. Cualquier otro código de estado indica a MONEI que la notificación ha fallado.
Si MONEI no recibe un 200 OK, reintentará el envío del webhook.
Una vez verificada la firma, inspecciona el campo status del objeto Pago (SUCCEEDED, FAILED, CANCELED, etc.) para determinar si debes completar el pedido o gestionar el error.
Antes de pasar a producción
- Asegúrate de que estás usando el Account ID y la clave de API del modo de producción (live).
- Asegúrate de que has conectado tu cuenta de empresa de PayPal en el MONEI Dashboard.
Preguntas frecuentes
¿Necesito una cuenta de PayPal para aceptar PayPal?
Sí. Conectas tu propia cuenta de PayPal Business desde MONEI Dashboard → Configuración → Métodos de pago → Vincular cuenta comercial PayPal.
¿Puedo reembolsar pagos de PayPal?
Sí, puedes emitir reembolsos totales o parciales de las transacciones de PayPal.
¿Qué es Express Checkout?
Express Checkout muestra el botón de PayPal antes en el flujo (por ejemplo, en el carrito o en la página de producto) para que los clientes paguen en menos pasos.