Inicio > Desarrollo Web > Tutoriales de Laravel > Guía completa para integrar Stripe en Laravel fácilmente

Guía completa para integrar Stripe en Laravel fácilmente

Diego Cortés
Diego Cortés
January 20, 2025
Guía completa para integrar Stripe en Laravel fácilmente

La integración de métodos de pago en aplicaciones web se ha convertido en una necesidad fundamental para cualquier desarrollador. Stripe es una de las plataformas más populares y eficaces para gestionar pagos, y combinarla con Laravel puede resultar sencillo si sigues los pasos correctos. A continuación, te presento una guía detallada para integrar Stripe en tu aplicación Laravel.

¿Qué es Stripe y por qué usarlo?

Stripe es un sistema de pago en línea que permite a las empresas aceptar y procesar pagos de manera rápida y segura. Su popularidad radica en su interfaz sencilla, así como en la amplia gama de funciones que ofrece, como suscripciones, pagos únicos y gestión de fraudes. Por esta razón, es una excelente opción para desarrolladores que trabajan con Laravel.

Requisitos Previos

Antes de iniciar la integración, asegúrate de contar con lo siguiente:

  • Tener un proyecto Laravel ya configurado y en funcionamiento.
  • Una cuenta de Stripe (puedes crear una gratuitamente en su página oficial).
  • Conocimientos básicos de PHP y Laravel.

Instalación de la biblioteca de Stripe

Para comenzar, necesitas instalar la biblioteca de Stripe en tu proyecto Laravel. Puedes hacerlo utilizando Composer. Abre la terminal y ejecuta el siguiente comando:

composer require stripe/stripe-php

Este comando instalará la última versión de la biblioteca de Stripe, que es esencial para poder realizar llamadas a la API de Stripe.

Configuración de la clave API

Una vez que la biblioteca está instalada, el siguiente paso es configurar las claves API de Stripe. Dirígete a tu archivo .env y añade las siguientes líneas:

STRIPE_KEY=tu_clave_publica
STRIPE_SECRET=tu_clave_secreta

Reemplaza tu_clave_publica y tu_clave_secreta con las claves que obtuviste de tu cuenta de Stripe en la sección de desarrolladores.

Creación de un controlador de pago

Crea un controlador para manejar los pagos. Puedes generar uno nuevo utilizando Artisan con el siguiente comando:

php artisan make:controller PaymentController

Después de crear el controlador, dentro del archivo PaymentController.php, importa la biblioteca de Stripe y configura los métodos necesarios.

use Stripe\Stripe;
use Stripe\Charge;

public function createCharge(Request $request)
{
    Stripe::setApiKey(env('STRIPE_SECRET'));

    $charge = Charge::create([
        'amount' => $request->amount,
        'currency' => 'usd',
        'source' => $request->source,
        'description' => 'Pago de prueba',
    ]);

    return view('charge.success');
}

Creación del formulario de pago

Crea un formulario simple en tu vista para que los usuarios puedan ingresar los detalles de su tarjeta. A continuación se presenta un código básico para un formulario de pago:

<form action="/charge" method="POST" id="payment-form">
    @csrf
    <label for="card-element">
        Tarjeta de crédito o débito
    </label>
    <div id="card-element"></div>
    <button type="submit">Pagar</button>
</form>

Manejo de la respuesta

Una vez que el pago ha sido procesado, es importante manejar la respuesta y ofrecer un feedback al usuario. Puedes hacerlo añadiendo un método que muestre un mensaje de éxito o error según el resultado del procesamiento.

public function success()
{
    return view('charge.success');
}

public function error()
{
    return view('charge.error');
}

Pruebas y seguimiento

Para asegurar que todo funcione correctamente, utiliza las herramientas proporcionadas por Stripe para realizar pruebas. Configura tu entorno para recibir notificaciones y seguimiento de transacciones desde tu panel de control de Stripe.

Conclusión

Integrar Stripe en tu aplicación Laravel puede parecer complicado, pero siguiendo estos pasos puede volverse un proceso sencillo. Al configurar adecuadamente la biblioteca, manejar las claves API, y establecer los controladores y vistas, estarás listo para aceptar pagos en muy poco tiempo.

Si estás interesado en temas como este, te invito a seguir explorando más noticias y guías en mi blog. ¡Siempre hay algo nuevo por aprender!

Diego Cortés
Diego Cortés
Full Stack Developer, SEO Specialist with Expertise in Laravel & Vue.js and 3D Generalist

Categorías

Page loaded in 23.19 ms