Vue Stripe: Componente para realizar pagos en línea 5

Vamos a crear el componente y adaptarlo a nuestras necesidades de Stripe para realizar los pagos

Bueno estamos acá recuerda que yo estoy partiendo de la solución de laravel para la Api en la cual consumimos la Api con vue Entonces ya tengo aquí varias cositas ya prácticamente listas si tú partiste un proyecto limpio entonces tienes que configurar por ejemplo Vue o algo para poder probar esto más fácilmente así que venimospara resources js vue compon voy a crear aquí una llamada stripe voy a colocarle minúscula ya que colo aquí todo de minúscula y por aquí voy a colocarle one payment:

stripe/OnePayment.vue

<template>
    <div>

      <stripe-checkout
        
        ref="checkoutRef"
        mode="payment"
        :pk="publishableKey"
        :line-items="lineItems"
        :success-url="successURL"
        :cancel-url="cancelURL"
        @loading="v => loading = v"
      />
      <button :readonly="loading" @click="submit">Pay now!</button>
    </div>
  </template>
  
  <script>
  import { StripeCheckout } from '@vue-stripe/vue-stripe';
  export default {
    components: {
      StripeCheckout,
    },
    data () {
      this.publishableKey = 'pk_test_51QXxxx';
      return {
        loading: false,
        lineItems: [
          {
            price: 'price_1QYPKhCWud7Ri9mJwr0ZAFBP', // The id of the one-time price you created in your Stripe dashboard
            quantity: 1,
          },
        ],
        successURL: 'http://laravelbaseapi.test/vue/stripe/success',
        cancelURL: 'http://laravelbaseapi.test/vue/stripe/cancel',
      };
    },
    methods: {
      submit () {
        // You will be redirected to Stripe's secure checkout page
        this.$refs.checkoutRef.redirectToCheckout();
      },
    },
  };
  </script>

Aquí el componente de success y cancel el componente realmente me da igual obviamente tuviera que crear alguno par stripe pero no nos importa ahorita mucho entonces aquí lo tenemos:

router.js

import { createRouter, createWebHistory } from "vue-router";

import { useCookies } from 'vue3-cookies'
const { cookies } = useCookies()

import List from './componets/ListComponent.vue'

import OnePayment from "./componets/stripe/OnePayment.vue";

const routes = [
    ***
    {
        name: 'stripe',
        path: '/vue/stripe/one-payment',
        component: OnePayment
    },
    {
        name: 'success',
        path: '/vue/stripe/success',
        component: List
    },
    {
        name: 'cancel',
        path: '/vue/stripe/cancel',
        component: List
    },
]

const router = createRouter({
    history: createWebHistory(),
    routes: routes
})


export default router

Ya yo también hice clases específic para que podamos aprender a Cómo podemos obtener estas claves, de momento, la dejamos hard code:

pk_test_51QXxxx

De una manera sencilla de momento no voy a voy a intentar ir lo más rápido posible Así que no sería como quien dice el mejor esquema también recuerda que las claves están acá en el de casher.php y desde el cliente es decir Vue, se emplea la clave pública.

- Andrés Cruz

In english

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.

!Cursos desde!

10$

En Udemy

Quedan 1d 10:41!


Udemy

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
¡Hazte afiliado en Gumroad!