Estoy tratando de configurar Snipcart por primera vez. Parece bastante sencillo en su mayor parte, pero tengo algunos problemas cuando trato de pagar con la tarjeta de pago de prueba.
Estoy trabajando solo con un frente de vainilla y Express en la parte posterior. Recibo el mismo error cada vez:
A 'cart-confirmation' error occurred in Snipcart. Reason: 'product-crawling-failed'
Pero parece que la URL que me devuelve en mi consola debería poder rastrear el producto correctamente: https://myHerokuApp.herokuapp.com/shop/starry-night
<button class="snipcart-add-item" data-item-id="starry-night" data-item-price="79.99" data-item-url="/shop/starry-night" data-item-description="This is a sweet piece of art." data-item-image="img/1.jpg" data-item-name="The Starry Night"> Add to cart </button>
Estoy realmente confundido en lo que estoy haciendo mal. ¿Hay algo que deba hacer con mi enrutador express? Intenté enrutar algo como esto solo para ver qué pasaba.
router.get("/shop/:product", function (req, res, next) { res.json({ "data-item-id": "starry-night", "data-item-price": "79.99", "data-item-url": "/shop/starry-night" }) });
Pero eso no hizo la diferencia.
Realmente espero que alguien pueda detectar lo que estoy haciendo mal o indicarme la dirección correcta en los documentos.
¡Gracias!
Los atributos data-item-id
y data-item-price
se utilizan con el rastreador HTML y se definen dentro del botón de compra.
Si desea utilizar el rastreador JSON , debe devolver un JSON válido con el id
y price
de las propiedades. Además, price
debe ser del tipo número . Cambia tu respaldo así:
router.get("/shop/:product", function (req, res, next) { res.json({ "id": "starry-night", "price": 79.99 }) });
Nota: su servidor debe estar disponible públicamente (no ejecutándose en su servidor local).