Stripe es sin duda una de las pasarelas de pago más populares en la actualidad, y no es de extrañarse, con stripe es posible realizar pagos electrónicos de forma fácil y segura, además de poseer una, de las que considero yo, de las mejores documentaciones en el mercado. Esto sin duda hace a Stripe una excelente opción si lo que deseamos es implementar cobros en nuestras aplicaciones.
Es por ello que en esta ocasión aprenderemos a integrar Stripe a un proyecto con Django. Es bastante sencillo, veamos.
Stripe
Lo primero que haremos será obtener la llave pública y la llave privada de nuestra cuenta Stripe. A partir de estas llaves seremos capaces de comunicar nuestro proyecto con el API de stripe.
Para obtener las llaves es necesario autenticarse en Stripe, dirigirnos a Desarrolladores y Claves de API.
Configuración Laravel
Para comenzar lo que haremos será almacenar nuestras llaves dentro del archivo .env.
STRIPE_KEY=pk_test_tzfasfdfdsdfESe
STRIPE_SECRET=sk_test_uRN123ssadfG9
El siguiente paso será crear a un nuevo provedor dentro del archivo services.php, dentro de la carpeta config.
'stripe' => [
'key' => env('STRIPE_KEY'),
'secret' => env('STRIPE_SECRET')
]
Una vez que ya tenenemos agregadas nuestras llaves al proyecto vamos a instalar el paquete oficial de stripe.
composer require stripe/stripe-php
Ahora a generar cobros 😮.
Checkout
El siguiente, paso antes de realizar un cobro, es asociar un método de pago a nuestro objeto customer, para ello nos apoyaremos del siguiente formulario.
Ahora dentro del script tendremos que agregar nuestra key.
var stripe = Stripe("{{ config('services.stripe.key') }}");
Otro cambio que tenemos que hacer es agregar el @csrf token al formulario.
<form action="/payment" method="post" id="payment-form">
@csrf
Dentro de nuestro controlador en el método post de nuestro formulario, vamos a proceder a realizar el cobro.
Lo primero que vamos a hacer es importar a nuestras clases.
use Stripe\Stripe;
use Stripe\Charge;
Ahora dentro de nuestro método vamos a configurar a stripe con nuestra llave privada.
Stripe::setApiKey(config('services.stripe.secret'));
Ahora bien otra cosa que tenemos que hacer es obtener al token que stripe genera por nosotros, y envia en el formulario. Para hacer esto vamos a agregar el request a nuestro método y a obtener el token.
public function pay(Request $request)
$token = $request->stripeToken;
Y como último paso procedemos a crear el cobro, usando a nuestro objecto charge.
$charge = Charge::create([
'amount' => 100,
'currency' => 'usd',
'description' => 'Example charge',
'source' => $token,
]);
El resultado final sería.
Stripe::setApiKey(config('services.stripe.secret'));
$token = $request->stripeToken;
$charge = Charge::create([
'amount' => 100,
'currency' => 'usd',
'description' => 'Example charge',
'source' => $token,
]);
Con los pasos anteriores, tendriamos la forma las básica de realizar cobros con stripe.
Aumenta tu productividad con GitHub Copilot
- done Curso GRATUITO
- done Regístrate antes del 31 de Marzo
- done Obtén una ventaja competitiva
- done Aprovecha la IA a tu favor