Campos Adicionales
La propiedad fields
se usa para almacenar datos estructurados que pueden visualizarse en la interfaz de Checkout según las condiciones indicadas.
Por ejemplo, es posible almacenar información própia de tu sistema, como el ID de la orden cmsOrderId
o el ID del usuario que está realizando el proceso de pago cmsUserId
.
La propiedad fields
se compone de un conjunto de objetos del tipo NameValuePair donde se definen los datos a guardar.
Los datos a guardar se pueden enviar en estructuras como:
redirectRequest.fields
redirectRequest.payment.fields
redirectRequest.subscription.fields
Condiciones
- Se pueden agregar hasta 50 campos adicionales. Los campos en
redirectRequest.fields
se validarán primero, y el resto se asignará aredirectRequest.payment.fields
oredirectRequest.subscription.fields
. - Se permite un máximo de 255 caracteres en la propiedad
value
. - Se permite un máximo de 50 caracteres en la propiedad
keyword
. - Cuando envías múltiples
fields
con el mismokeyword
, nuestra API elige el primero para almacenar y mostrar en la interfaz.
Los datos con la propiedad display: both, receipt, payment, approved
, se mostrarán en algún flujo de la interfaz.
NameValuePair
Estructura para permite relacionar información relevante y controlar cuando se mostrara en el proceso de cobro.
- Name
keyword
- Type
- string
- is Required
- REQUIRED
- Description
Identificador o índice del dato a anexar.
EJ:cmsInvoiceId
- Name
value
- Type
- string|object|array|boolean|number
- is optional
- Description
Valor del dato a anexar.
EJ:ID_2233
- Name
displayOn
- Type
- string
- is optional
- Description
Indica en qué condiciones se muestra el dato anexo.
Puedes usar esto para decidir si deseas que ciertos datos se vean durante la captura de datos, en el resultado del proceso, en ambas etapas o nunca.
Uno de:none
,payment
,receipt
,both
,approved
.
NameValuePair
{
"keyword": "cmsInvoiceId",
"value": "string",
"displayOn": "both"
}
Propiedad value
Si no se especifica ningún valor para la propiedad value
, su valor por defecto será null
La propiedad value
permite almacenar diferentes tipos de datos. Sin embargo, para mejorar la experiencia del usuario en la interfaz, se mostrarán solo los valores que puedan ser presentados de manera comprensible.
Ejemplos
Valor | Se visualiza como |
---|---|
true | true |
0 | 0 |
1234 | 1234 |
string | string |
"''" | '' |
"" | |
{"key1":"value1"} | No se muestra en la interfaz |
{"key1":{"key1":"value1"}} | No se muestra en la interfaz |
["string1"] | string1 |
["string1","string2"] | string1, string2 |
[{"key1":"value1"},{"key2":"value2"}] | No se muestra en la interfaz |
[{"key1":"value1"},"string1",["key1","value1"]] | string1 |
Propiedad displayOn
Si no se especifica ningún valor para la propiedad displayOn
, su valor por defecto será none
Valor | Descripción |
---|---|
none | No se muestra en ninguna vista del proceso de cobro. Esta opción es ideal si deseas mantener este dato oculto durante todo el proceso. |
both | Se muestra en todas las vistas del proceso de cobro. |
payment | Se muestra únicamente en la vista de captura de información. Si deseas que los usuarios vean este dato mientras ingresan datos, elige esta opción. |
receipt | Se muestra solo en la vista de resultado de cobro. Esta opción es perfecta para mostrar información específicamente en la etapa final del proceso de cobro |
approved | Se muestra en la vista de resultado de cobro solo si el cobro fue exitoso. |