Crea un formulario de pago o usa una página del proceso de compra prediseñada para comenzar a aceptar pagos en línea.
Crea una página del proceso de compra en tu sitio web con Stripe Elements y Checkout Sessions, una integración que gestiona impuestos, descuentos, tarifas de envío y mucho más.
Ubicación del cliente
Tamaño
Tema
Diseño
En esta demostración, solo se muestra Google Pay o Apple Pay si tienes una tarjeta activa con cualquiera de los monederos.
Antes de comenzar, debes registrarte para obtener una cuenta de Stripe.
Utiliza las bibliotecas oficiales de Stripe para acceder a la API desde tu aplicación.
Command Line
Node.js
Ruby
PHP
Python
Go
.NET
Java
No results
npm install stripe@18.0.0 --save
Configura el SDK para que utilice al menos la versión de la API 2025-03-31.basil.
TypeScript
Node.js
Ruby
PHP
Python
Go
.NET
Java
No results
// Set your secret key. Remember to switch to your live secret key in production.// See your keys here: https://dashboard.stripe.com/apikeysimport Stripe from'stripe';const stripe =newStripe(
Añade a tu servidor un punto de conexión que cree una sesión de Checkout y devuelve el secreto de cliente a tu front end. Una sesión de Checkout representa la sesión de tu cliente mientras paga por compras o suscripciones únicas. Las sesiones de Checkout caducan a las 24 horas de crearse.
server.ts
TypeScript
Node.js
Ruby
PHP
Python
Go
.NET
Java
No results
import express,{Express}from'express';const app: Express =express();
app.post('/create-checkout-session',async(req: Express.Request, res: Express.Response)=>{const session =await stripe.checkout.sessions.create({
line_items:[{
price_data:{
currency:'usd',
product_data:{
name:'T-shirt',},
unit_amount:2000,},
quantity:1,},],
mode:'payment',
ui_mode:'custom',// The URL of your payment completion page
return_url:'https://example.com/return?session_id={CHECKOUT_SESSION_ID}'});
res.json({checkoutSessionClientSecret: session.client_secret});});
app.listen(3000,()=>{
console.log('Running on port 3000');});
Incluye el script de Stripe.js en tu página del proceso de compra añadiéndolo al head de tu archivo HTML. Carga siempre Stripe.js directamente desde js.stripe.com para cumplir con la normativa PCI. No incluyas el script en un paquete ni alojes una copia tú mismo.
Tendrás que actualizar Stripe.js a basil a partir de la versión 3 incluyendo la siguiente etiqueta de secuencia de comandos: <script src="https://js.stripe.com/basil/stripe.js"></script>. Obtén más información sobre el control de versiones de Stripe.js.
Stripe proporciona un paquete npm que puedes usar para cargar Stripe.js como un módulo. Consulta el proyecto en GitHub. Se requiere la versión 7.0.0 o una versión posterior.
Inicializa stripe.js.
checkout.js
// Set your publishable key: remember to change this to your live publishable key in production// See your keys here: https://dashboard.stripe.com/apikeysconst stripe =Stripe(
Crea una función fetchClientSecret. Esta función recupera el secreto de cliente de tu servidor y devuelve una promesa que se resuelve con el secreto de cliente. Llama a initCheckout, pasando fetchClientSecret. initCheckout devuelve una promesa que resuelve una instancia de checkout.
El objeto checkout actúa como la base de tu página del proceso de compra y contiene datos de la sesión de Checkout y métodos para actualizar la sesión.
El objeto devuelto por checkout.session() contiene tu información de tarifas. Recomendamos leer y mostrar el total y los lineItems de la sesión en tu interfaz de usuario.
Esto te permite activar nuevas funciones con cambios mínimos en el código. Por ejemplo, si añades precios en divisas manuales, no necesitarás cambios en la interfaz de usuario si exhibes el total.
Crea una entrada de correo electrónico para recopilar la dirección de correo electrónico de tu cliente. Llama a updateEmail cuando tu cliente termine de introducir la dirección de correo electrónico para validarla y guardarla.
Dependiendo del diseño de tu formulario del proceso de compra, puedes llamar a updateEmail de las siguientes maneras:
Directamente antes de enviar el pago. También puedes llamar a updateEmail para validar antes, como en el desenfoque de entrada.
Antes de pasar al siguiente paso, como hacer clic en el botón Guardar, si el formulario incluye varios pasos.
Recolecta los datos de pago del cliente con el Payment Element. El Payment Element es un componente de interfaz de usuario prediseñado que simplifica la recolección de datos de pago para varios métodos de pago.
Primero, crea un elemento DOM contenedor para montar el Payment Element. A continuación, crea una instancia del Payment Element mediante checkout.createPaymentElement y móntala llamando a element.mount, proporcionando un selector CSS o el elemento DOM contenedor.
Rellena los datos de pago con un método de pago de la siguiente tabla. Para pagos con tarjeta:
Introduce cualquier fecha futura como fecha de caducidad.
Introduce cualquier número de 3 dígitos como CVC.
Introduce cualquier código postal de facturación.
Envía el pago a Stripe.
Ve al Dashboard y busca el pago en la página de transacciones. Si tu pago se ha efectuado correctamente, lo verás en esa lista.
Haz clic en el pago para ver más detalles, como la información de facturación y la lista de artículos comprados. Puedes usar esta información para completar el pedido.
Número de tarjeta
Situación
Cómo hacer pruebas
El pago con tarjeta se realiza correctamente y no requiere autenticación.
Rellena el formulario de tarjeta de crédito con el número de tarjeta y cualquier fecha de caducidad, CVC y código postal.