
script al final del <body> en tu página de pagos.Kushkitype, los meses disponibles y los meses de gracia (skip payments), tal como se muestra en el siguiente ejemplo de respuesta. Para ejecutar el cargo deberás usar solo months. {
type: "all",
months: ["2", "3", "4", "5", "6", "7"],
monthsOfGrace: []
}deferred cuando inicies el proceso de cobro con Kushki.<script> dentro de la etiqueta <body>. Una vez importada, podrás acceder a los recursos descritos a continuación para crear un flujo de pago con Kushki.kushki.min.js (la cuál trae el código necesario para almacenar las credenciales de tu comercio) como la biblioteca card.min.js (módulo el cuál trae las funcionalidades necesarias para el flujo de pagos con tarjeta).KushkiOptionsKushkiOptions la cuál te permite declarar la clave pública del comercio así como poder seleccionar el ambiente (prueba o producción) mediante el método init().initCardToken(), es requerido que coloques los elementos necesarios para poder renderizar cada campo de lado del servidor.CardOptions con la información de la transacción tal como el monto, moneda, entre otros parámetros.isSubscription con el valor de true.CardOptions, es necesario mandar a llamar a la función initCardToken() para inicializar una instancia de ICard.requestToken() en la instancia de card inicializada previamente. Este método realiza las validaciones de 3DS y Sift Science automáticamente. Te recomendamos validar que todos los campos sean correctos; de lo contrario, arrojará una excepción.deferred será devuelto junto al token. Los campos disponibles dentro de deferred varían dependiendo el país. Consulta la referencia para más información sobre diferidos.periodicity en "custom" ya que de otra manera cobrarás de manera recurrente a tu cliente. Para más información consulta nuestra guías de pagos recurrentes.ignoreWarnings en false, incluir el tipo y número de documento, nombre, primer apellido y segundo apellido en el objeto contactDetails e incluir el parámetro fullResponse en true. Si por el contrario deseas omitir esta validación, envía el parámetro ignoreWarnings con valor de true.__rules con tres posibles respuestas:| Respuesta | Parámetros recibidos | ¿Qué hacer? |
|---|---|---|
| Transacción aprobada | {"code": "000","message": "TransUnion Approval"} | No será necesario hacer nada más, la transacción será enviada para crear la suscripción y de acuerdo a la respuesta, redirecciona al usuario a una página de éxito o fracaso para informar al cliente si la inscripción se creó satisfactoriamente o no. |
| Transacción rechazada:(No fue posible realizar la validación) | {"code": "006","message": "TransUnion Unavailable"} | Verificar que se hayan enviado los parámetros documentNumber y documentType en el objeto contactDetails y reintentar. |
| Transacción rechazada | {"code": "322","message": "TransUnion Declined"} | En caso de que la transacción haya sido declinada por el sistema de validación, tendrás dos opciones: 1)Ignorar la alerta y crear la inscripción: En este caso deberás volver al paso anterior, asegurándote de enviar el parámetro ignoreWarnings en true y el mismo token ya generado 2)Acatar la alerta y rechazar la transacción. |
subscriptionId.requestDeviceToken() enviando el subscriptionId generado previamente.requestDeviceToken() enviando el ID de suscripción obtenido previamente.requestDeviceToken() realizará las validaciones y desplegará el modal en caso de que sea requerido.deviceToken, pero utiliza un campo alojado (hosted field) para validar el CVV de la tarjeta.initSecureDeviceToken().initSecureDeviceToken(), que renderiza un campo alojado de CVV e inicializa una instancia de ICardSubscriptions.requestDeviceToken().deviceToken seguro, debes llamar al método requestDeviceToken() en la instancia de suscripción de tarjeta que fue inicializada previamente.subscriptionId a medida que entregues tu servicio a tu cliente bajo la lógica que definas.deferred con el parámetro months, junto con la información del cobro, como en el siguiente ejemplo:deferred solo debe enviarse en los casos en que la tarjeta tenga la posibilidad de hacer pagos diferidos, en todos los demás casos el objeto mencionado debe omitirse.545195157492548045744412151903354349003000047015contactDetails564256981649759580004393CC56425698164975958000000CCdocumentNumber ni documentType en el objeto contactDetailscontactDetails), junto con los datos de facturación ( orderDetails -> billingDetails) y envío (si tu modelo de negocio lo requiere: orderDetails -> shippingDetails), dentro del request para realizar el cargo. El ejemplo del Body del JSON para el charge, lo podrás encontrar en Referencia de la API.