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á a redirectRequest.payment.fields o redirectRequest.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 mismo keyword, nuestra API elige el primero para almacenar y mostrar en 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

ValorSe visualiza como
truetrue
00
12341234
stringstring
"''"''
""
{"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

ValorDescripción
noneNo se muestra en ninguna vista del proceso de cobro. Esta opción es ideal si deseas mantener este dato oculto durante todo el proceso.
bothSe muestra en todas las vistas del proceso de cobro.
paymentSe 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.
receiptSe 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
approvedSe muestra en la vista de resultado de cobro solo si el cobro fue exitoso.