test stripe react charge cards card stripe-payments

stripe payments - stripe - Raya checkout.js con cupones



stripe payment reference (3)

Estoy usando checkout.js de Stripe porque es muy fácil de configurar y usar. ¿Hay alguna manera de agregar cupones?

<script src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button" data-key="pk_test_czwzkTp2tactuLOEOqbMTRzG" data-amount="2000" data-name="Demo Site" data-description="2 widgets ($20.00)" data-image="/128x128.png"> </script>


Checkout solo crea el token. El cupón se aplica al cliente una vez que el token se devuelve al servidor y se cobra al cliente.

stripe.Customer.create( source=token, plan="basic_monthly", email="[email protected]", coupon="coupon_ID" )


Si desea pasar un código de cupón a su back-end, simplemente puede agregar un campo de entrada para él dentro del formulario. Sin embargo, no modificará los montos en el formulario emergente de la banda, a menos que quiera ser sofisticado y llamar a javascript adicional para verificar los parámetros del código de cupón ingresado y cambiar los parámetros del script de banda.

Puede incluir cualquier entrada que necesite dentro de las etiquetas de formulario siempre que no se utilicen por raya.

<form action="/your-server-side-code" method="POST"> Coupon Code: <input type="text" name="coupon_code"> <br> <script src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button" data-key="pk_test_czwzkTp2tactuLOEOqbMTRzG" data-amount="2000" data-name="Demo Site" data-description="2 widgets ($20.00)" data-image="/128x128.png"> </script> </form>


Stripe Checkout no admite actualmente cupones. No se encuentra en la documentation , ni para el botón ni para la integración personalizada.

Uno podría preguntarse si hay alguna característica secreta. Sin embargo, es una mala idea utilizar funciones no documentadas, especialmente cuando se trata de su procesador de pagos. Parada completa

Esto está siendo desbordamiento de pila - sigamos cavando!

Arranca jsfiddle. Pega tu código en la sección html. Abra las herramientas de desarrollador para que pueda ver las solicitudes de red.

Hay un en.json, que es un archivo de cadenas internacionalizado. Si hay una entrada para cupones, debería haber una etiqueta que diga "Ingresar código de cupón" o algo similar. No hay ninguno. (Claro, existe la posibilidad de que Stripe haya decidido codificar esta cadena en particular, pero parece poco probable).

https://checkout.stripe.com/v3/data/languages/en.json

También puede ver que inner.js se utiliza para alimentar la ventana emergente. Copie la fuente en un embellecedor de js y encontrará que no hay ninguna mención. De hecho, puede ver el código que analiza las opciones y ninguno de ellos tiene que ver con cupones.

"lib/optionParser": function(exports, require, module) { (function() { var BOOLEAN_OPTIONS, DEFAULTS, STRING_OPTIONS, URL_OPTIONS, extractValue, helpers, toBoolean, _; _ = require("vendor/lodash"); helpers = require("lib/helpers"); DEFAULTS = { currency: "usd", allowRememberMe: true }; BOOLEAN_OPTIONS = ["billingAddress", "shippingAddress", "notrack", "nostyle", "allowRememberMe", "allowPhoneVerification", "zipCode", "trace", "alipayReusable", "bitcoin"]; STRING_OPTIONS = ["key", "amount", "name", "description", "panelLabel", "currency", "email", "locale", "alipay"]; URL_OPTIONS = ["url", "referrer", "image"];

Puede ver cómo cada una de las opciones aquí se alinean una a una con las opciones disponibles para la integración personalizada , que se asignan a las opciones para el botón (solo necesita usar guiones en lugar de camelcase)

En este punto, puedes seguir cavando si quieres convencerte más, pero me pondré en contacto con el Servicio de soporte de banda y haré una solicitud de función. ¡Feliz excavación!