15

Ajustes para integrar Stripe

Hola amigos, si tienen problemas con la integración de Stripe pueden hacer estos ajustes.

<h1>gatsby-config.js</h1>

Obten el objeto Price en lugar de Sku

objects: ["Price"],
<h1>index.js</h1>

Aplica los alias allStripeSku y price en la consulta para no modificar las llamadas en código

allStripeSku:allStripePrice {
      edges {
        node {
          id
          price: unit_amount
          product {
            name
            metadata {
              description
              img
              wear
            }
          }
        }
      }
    }
<h1>Cart.js</h1>

Remueve el modo beta 4 para hacer la integración con la nueva versión y usar price como id único

window.Stripe(process.env.STRIPE_PK)

Cambia el redirect al checkout recuerda que price es un id único en esta integración

stripe.redirectToCheckout({
      lineItems: cart.map(({ sku, quantity }) => ({ price: sku, quantity })),
      mode: "payment",
      successUrl: process.env.SUCCESS_REDIRECT,
      cancelUrl: process.env.CANCEL_REDIRECT,
    })

Felicidades
Felicidades, ya puedes comprar productos con cualquiera de las tarjetas de prueba

Escribe tu comentario
+ 2
Ordenar por:
1
22773Puntos

A poco pudiste acceder a la metadata desde product? A mi me dice que es un String…
![](Captura de Pantalla 2020-06-29 a la(s) 12.41.41.png

1
22773Puntos
2 años

pff no me sale men 😕 no tendras tu repositorio en github? Ese que me meti es el de la clase 😅

1
26840Puntos
2 años

Ese de arriba es el mío GitHub Gatsby-Platzi la rama master es la base del curso que dió el profesor y el resto de ramas estan numeradas de 01 hasta 17

1
9316Puntos

me funciono mucha gracias! 😄

1
12960Puntos

Te mereces todo lo bueno jajaja , gracias!

1
24681Puntos

Me sale (index):1 Uncaught (in promise) IntegrationError: You specified 'payment' mode but passed a recurring price. Either switch to 'subscription' mode or use only one-time prices.
Si cambio mode: "payment", por mode: "subscription",
Se arregla, pero cuando simulo la compra me dice que me estoy subscribiendo obviamente.
Parece que necesita que le de un único monto de precio y al hacer el cart.map le doy varios precios.

1
10929Puntos
10 meses

Hola, revisa la sección de productos en tu dashboard de stripe, lo mas probable es que alguno de los productos este marcado como pago ** recurrente**, si es así edita tu producto y márcalo en su precio como ‘unico’, de esta manera ya te funcionara en mode: ‘payment’. (con tan solo 1 producto que se encuentre en pago recurrente no te funciona el mode: ‘payment’)

0
24348Puntos

Salió perfecto, muchas gracias!!!