Integración de Stripe Checkout con Angular

En este artículo, vamos a aprender a integrar “Checkout with Stripe ” en la última versión de Angular (actualmente 10.1.4)

UnimediaActualizado 4 de enero de 20242 min de lectura

Rótulo de la integración de Stripe con Angular: una mano sostiene una tarjeta bancaria ante un portátil, con los logotipos de ambas

En este artículo, vamos a aprender a integrar “Checkout with Stripe” en la última versión de Angular (actualmente 10.1.4)

¿Qué es Stripe?

Stripe es softwarey APIs para aceptar pagos, enviar pagos, y gestionarsu negocio en línea

Objetivo

Vamos a aprender,

  1. cómo crear un producto en Stripe
  2. integrar ese producto en Angular para una experiencia de pago sin complicaciones para nuestros usuarios.

Notas

Recuerde que, todos los datos relacionados con el producto y las claves en la franja que tenemos que crear en “Modo de prueba”

Requisitos previos

  • angular-cli versión 10.1.3 o posterior
  • Nodejs versión 10 o posterior
  • Se requieren conocimientos básicos de Angular

1. Cree una cuenta en Stripe, inicie sesión y vaya al panel de control para el siguiente paso:

estilo
Cuadro de mandos de Stripe

2. Crear un producto y guardar el priceId para su uso posterior en Angular

estilo
Crear un producto
Página de producto de Stripe que muestra dónde copiar el ID del precio

3. Crear una aplicación Angular starter usando Angular CLI

ng new angular-stripe --style=scss

4. Instala Stripe js usando NPM:

npm i @stripe/stripe-js

5. Crear componentes => Producto y Transacción exitosa y Transacción fallida

ng generate component product
ng generate component success
ng generate component failure

ComponenteProducto: Donde mostramos los detalles del producto

Componente de éxito: Donde mostramos el mensaje de éxito

FailureComponent: Donde mostramos el mensaje de fallo

6. Ahora, vamos a añadir las rutas para los componentes que se ha creado

Rutas de Angular para los componentes de producto, éxito y error
Elemento router-outlet de Angular en la plantilla de la aplicación

7. Generar clave publicable para obtener la interfaz de banda

Generar la clave publicable desde el panel de Stripe => Developers => keys

Página de claves API de Stripe con las claves publicable y secreta

8. Establezca las claves API generadas como variables de entorno para su uso posterior

Archivo de entorno de Angular con una clave publicable de Stripe

9. Crear Variables de Datos de Producto en ProductComponent para usarlas en Product UI

se utilizará en la plantilla de productopara la interfaz de usuario.

priceIdse utilizará al redirigir al usuario para el pago

title = "angular-stripe";
priceId = "price_1HSxpTFHabj9XRH6DMA8pC7l";
product = {
  title: "Classic Peace Lily",
  subTitle: "Popular House Plant",
  description:
    "Classic Peace Lily is a spathiphyllum floor plant arranged in a bamboo planter with a blue & red ribbom and butterfly pick.",
  price: 18.0,
};
quantity = 1;
stripePromise = loadStripe(environment.stripe_key);
Plantilla del componente de producto de Angular con un botón de pago

10. Crear método de pago para redirigir al usuario a la página de pago de Stripe.

async checkout() {
  // Call your backend to create the Checkout session.
  // When the customer clicks on the button, redirect them to Checkout.
  const stripe = await this.stripePromise;
  const { error } = await stripe.redirectToCheckout({
    mode: "payment",
    lineItems: [{ price: this.priceId, quantity: this.quantity }],
    successUrl: `${window.location.href}/success`,
    cancelUrl: `${window.location.href}/failure`,
  });
  // If `redirectToCheckout` fails due to a browser or network
  // error, display the localized error message to your customer
  // using `error.message`.
  if (error) {
    console.log(error);
  }
}

El código completo está disponible aquícomo referencia.

Haga clic aquí para ver la demo y probarla.

Unimedia Technology

Aquí en Unimedia Technology tenemos un equipo de desarrolladores Angular que pueden desarrollar sus más desafiantes Web Dashboards y Web apps.

Seguir leyendo

Más sobre Angular

Reserva una consulta gratuita

Cargando el calendario…

¿No carga el calendario? Ábrelo en una pestaña nueva, o llámanos al +34 936 01 40 40.