Requerimiento del formulario custom:

Para invocarlo se debe incluir el script alojado en https://sandbox.decidir.com/custom/callback/1.1/payment.js para sandbox o en https://sps.decidir.com/custom/callback/1.1/payment.js para producción, y hacer la invocación con la siguiente linea:

new Payment().init(json);

En el init se debe pasar un JSON con los siguientes campos:

Nombre Descripción Tipo de Dato
id Identificador del formulario Alfanumérico
fieldsId Ids de los input del formulario Objeto JSON
callback Función que se ejecutará al terminar el script, en esta se deberá recuperar el PublicAnswerKey pasandolo por parámetro función
options Parametros adicionales de configuración este campo es opcional Objeto JSON

Como dijimos en la tabla anterior se deben enviar en los id de los inputs del formulario dentro de un JSON, a continuación se detallan estos campos:

Id en el JSON Mandatorio Descripción Tipo de dato Ejemplo
CardHolderName Nombre del tarjetahabiente Alfanumérico Juan Perez
CardHolderMail Dirección de correo electrónico Alfanumérico [email protected]
CardNumber Número de la tarjeta Numérico de hasta 20 caracteres 4509123131564466
CardExpirationDate Sí (Puede elegir reemplazar este campo por CardExpirationYear y CardExpirationMonth en el orden indicado) Fecha de vencimiento de la tarjeta Alfanumérico de 4 caracteres 1609
CardExpirationMonth No (Pero se manda únicamente si no se envía el CardExpirationDate y se debe anteponer el campo CardExpirationYear) Mes en la fecha de vencimiento Numérico de 2 caracteres 09
CardExpirationYear No (Pero se manda únicamente si no se envía el CardExpirationDate y se debe agregar a continuación el campo CardExpirationMonth) Año de vencimiento Numérico de 2 caracteres 16
CardSecurityCode Código de seguridad de la tarjeta Numérico de 3 caracteres 123
PublicRequestKey PublicRequestKey devuelto por el SendAuthorizeRequest Alfanumérico de hasta 48 caracteres 7d3938c9-f7b1-4ee9-e76b-9cc84f73fe81
CardHolderDateOfBirth No Fecha de nacimiento del tarjetahabiente Numerico, Formato DDMMYYYY 11101964
CardHolderIdentificationType No Identificador del tipo de documento. DNI 1, CI 2, LE 3, LC 4 Numérico 1
CardHolderIdentification No Nro de documento del tarjetahabiente Numérico de 8 posiciones 43210116
CardHolderAddressStreet No Calle de entrega del resumen Alfanumérico, máximo 30 caracteres
CardHolderAddressNumber No Número de Puerta de entrega del resumen Numérico, máximo 6

Validaciones de datos en campos del Formulario Custom y Ayudas contextuales.

Este método permite aplicar validaciones a los campos del formulario que mejoran la calidad de datos y la experiencia de usuario. Estas validaciones se describen a continuacion y se habilitan dentro del parámetro options.

Los campos adicionales del parámetro options, son todos opcionales, pero deben setearse de acuerdo al funcionamiento esperado del formulario.

Id en el JSON Valores posibles Descripción
displayCreditCardTypeDetected true o flase En caso de ser "true" mostrará el nombre de la marca tarjeta que se está ingresando. (Visa, American Express, Mastercard o Diners Club)
displayCreditCardTypeContainerId null o String Podrá contener un String que representa el ID del control html sobre el cual se mostrará la marca tarjeta detectada. En caso de ser null, si el valor displayCreditCardTypeDetected es true, se creará un control propio y se ubicará a la derecha del <input type="text"> sobre el que se completa el número de tarjeta
cardType 1, 2, 6, 15, etc o null Es el valor del IdMediodePago. Indica si se validará que el número de tarjeta ingresado se corresponda con una marca tarjeta predefinida. 1 (visa), 15 (mastercard), 6 (amex), 8 (diners club), null (sin restricción de marca tarjeta)
cardBin null o Valor En caso de tener un valor numérico, se utilizará como BIN de tarjeta reduciendo la cantidad de dígitos a completar por el usuario en CreditCardNumber. Si es null, significa que no se utiliza BIN
displayCardBin true o false Indica si se va a mostrar el número de BIN
displayCardBinContainerId (null o String) Podrá contener un String que representa el ID del control html sobre el cual se mostrará el número de BIN. En caso de ser null, si el valor displayCardBin es true, se creará un control propio y se ubicará por sobre el <input type="text"> donde se completa el número de tarjeta.
CONSIDERACIONES:

Validacion de datos adicionales: Si el comercio va a utilizar este servcio para las transacciones VISA, es mandatorio que envie los campos en el JSON (CardHolderDateOfBirth , CardHolderIdentificationType, CardHolderIdentification, CardHolderAddressNumber).

Los campos informados en el JSON, podrán ser accedidos desde la consola SAC de DECIDIR cuando corresponda.