tarde pagar paga meses mas hoy empieza dentro compra payment stripe-payments

payment - mas - compra hoy y empieza a pagar dentro de 6 meses



Pago por franjas: guarde el token y el cliente y realice el pago más tarde desde el token (4)

¿Es posible en pago por banda?

Primero, validaremos la tarjeta de crédito con franja, luego generaremos el token y crearemos clientes. guardaremos el token en lugar de la información de la tarjeta de crédito en la base de datos y luego realizaremos los pagos de los clientes en base al token o al cliente en lugar de la información de la tarjeta de crédito.

En el archivo javscript, ¿cómo manejamos stripeResponseHandler y la function stripeResponseHandler(status, response) ?

porque ya hemos generado token usando

Stripe.createToken({ number: cardNumber, cvc: cardCVC, exp_month: $(''#expiration-month'').val(), exp_year: $(''#expiration-year'').val() }, stripeResponseHandler);

en el paso de pago, ¿cómo llamamos a stripeResponseHandler?

Por favor, comprenda el requisito

1- Guarde el token mediante la verificación de la información de la tarjeta de crédito, en este caso no implica ningún pago. cantidad / precio será cero (0).

2- Guarde este Token en su base de datos, pero este token se usa una vez, no mucho tiempo. Si usa este Token más tarde, no funcionará.

3- Crear cliente creará un cliente en stripe.com y también podemos guardarlo en nuestra base de datos, pero la razón es que no vamos a recargar de nuestro sitio, tenemos que iniciar sesión en stripe.com y recargar desde ese sitio. cuando recargamos desde ese sitio, no podemos guardar registros de eso en nuestra base de datos. También en el momento de crear un cliente, tenemos que crear una recarga para este último. también necesitamos una tarjeta de crédito otra vez si usamos este cliente. así que este es el problema principal.

4- podemos hacer la propia función stripeResponseHandler , porque a través de stripeResponseHandler la verificación de las tarjetas se puede hacer en stripe.js en el servidor de stripe.


En Stripe, para guardar una tarjeta (o cuenta bancaria) para cobrar más adelante, debe crear un cliente y luego agregar fuentes de pago (tarjeta o cuenta bancaria) a ese cliente.

Una vez que crea un cliente con un origen de pago (o fuentes), tiene 3 opciones para crear un cargo.

  1. Cobre al cliente usando la fuente predeterminada:

    Stripe::Charge.create( amount: 1000, currency: ''usd'', customer: ''cus_xxxx'' )

  2. Cargue al cliente usando una tarjeta de crédito:

    Stripe::Charge.create( amount: 5000, currency: ''usd'', customer: ''cus_xxxx'', card: ''card_xxxx'' )

  3. Cargue al cliente usando una cuenta bancaria:

    Stripe::Charge.create( amount: 8000, currency: ''usd'', customer: ''cus_xxxx'', bank_account: ''ba_xxxx'' )


En lugar de guardar el token en sí, recomiendo crear un cliente y guardar su ID de cliente. Luego puede cobrar a su cliente en cualquier momento en el futuro. Consulte nuestra documentación sobre cómo guardar los detalles de la tarjeta para más tarde .

En el archivo javscript, manejamos stripeResponseHandler y function stripeResponseHandler (estado, respuesta).

Tendrá que crear una función y pasarla como stripeResponseHandler cuando llame a createToken . Todo lo que esta función necesita hacer es insertar su token en su formulario y enviarlo. Hay un ejemplo simple de eso aquí: https://gist.github.com/boucher/1750375


En lugar de guardar los tokens, crea un objeto de cliente y guarda solo los ID de tarjeta localmente. Cuando realiza un pago, puede definir opcionalmente la tarjeta que se va a cargar (si pasa la identificación del cliente a stripe.charges.create). En ese caso, no es necesario que pase el token. Con este enfoque, tampoco es necesario tratar con la tarjeta predeterminada.

stripe.charges.create({ amount: 400, currency: "usd", card: "card_xxxxx", customer: "cus_xxxxxx",


Utilice este código recortado y luego puede capturar el pago en la identificación de la transacción al pasar la captura: verdadero

token = params[:stripeToken] # Charge the user''s card: charge = Stripe::Charge.create( :amount => 1000, :currency => "usd", :description => "Example charge", :capture => false, :source => token, )

para obtener más información detallada, consulte el link como se indica:

captura: - opcional, por defecto es verdadero si capturar inmediatamente la carga o no. Cuando es falso, el cargo emite una autorización (o preautorización) y será necesario capturarlo más tarde. Los cargos no cobrados caducan en 7 días. Para obtener más información, consulte cómo autorizar cargos y cómo llegar a un acuerdo más adelante.

Creo que resuelve el problema al que te enfrentas