Como puede imaginar, actualmente estoy configurando la API de pago con Stripe. El problema es que nunca antes había hecho algo así y estoy siguiendo los documentos prácticamente 1 por 1.
Así que necesito una franja usando (¡100% a la derecha!) Clave.
const stripe = require("stripe")( "keyhere" );crear la intención en un método...
const paymentIntent = stripe.paymentIntents.create({ amount: process.env.AUDIT_PRICE, currency: "eur", automatic_payment_methods: { enabled: true }, });llame a ese método en una determinada ruta expresa:
exports.createNewCashOrder = async (req, res) => { const intent = await paymentIntent(); res.json({ client_secret: intent.client_secret }); };El resto es irrelevante por ahora, ya que mi servidor backend ni siquiera se inicia en localhost. En realidad, está en vivo durante 0.001 segundos y luego falla con este error:
StripeInvalidRequestError: No hay tipos de métodos de pago válidos para esta intención de pago. Asegúrese de haber activado los métodos de pago compatibles con la moneda elegida en su panel de control
También devuelve un gran objeto de error, donde al final dice que casi todo (también los métodos de pago) no está definido.
Ahora en mi tablero, activé el pago con tarjeta, pero obviamente de alguna manera no lo reconoce...
¿Alguna idea de lo que he hecho mal? Me alegra cualquier ayuda, gracias!
Esto es solo una corazonada, pero ¿su cantidad es demasiado pequeña? https://stripe.com/docs/api/payment_intents/create#create_payment_intent-amount
Si ese es el caso, recibe este error porque especificó
automatic_payment_methods: {enabled: true}Stripe está buscando un método de pago que pueda manejar una cantidad inferior al mínimo, por eso recibe este error. Intente especificar un método de pago y vea si recibe un mensaje de error diferente que indica que el monto es demasiado bajo.
Recuerde que los documentos indican que la cantidad se representa como
Un número entero positivo que representa cuánto cobrar en la unidad monetaria más pequeña (p. ej., 100 centavos para cobrar $1,00 o 100 para cobrar ¥100, una moneda con cero decimales).