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 | Sí | Nombre del tarjetahabiente | Alfanumérico | Juan Perez |
CardHolderMail | Sí | Dirección de correo electrónico | Alfanumérico | [email protected] |
CardNumber | Sí | 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 | Sí | Código de seguridad de la tarjeta | Numérico de 3 caracteres | 123 |
PublicRequestKey | Sí | 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.