Credencial en archivo, titular de la tarjeta y transacciones iniciadas por el negocio

Esta página describe cómo enviar transacciones iniciadas por el titular de la tarjeta y por el negocio al motor de pagos para cumplir con los estándares del esquema de tarjeta para procesar estas transacciones.

Es posible que tenga una integración en la que obtenga detalles de pago de sus pagadores, los almacene y los utilice para procesar pagos futuros para los pagadores. De ser así, debe proporcionar información al motor de pagos en la transacción inicial referente a que está almacenando detalles de pago y tiene la intención de utilizarlos en el futuro. También debe proporcionar esta información al motor de pagos cuando utilice los detalles de pago almacenados para realizar pagos posteriores, ya sea iniciados por el pagador (transacción iniciada por el titular de la tarjeta) o por usted como resultado de un acuerdo de pago con el pagador (transacción iniciada por el negocio).

Esto sirve para cumplir con los estándares del esquema de tarjeta para procesar pagos iniciados por el titular de la tarjeta e iniciados por el negocio, utilizando los detalles de pago almacenados (también conocidos como requisitos de Credencial en archivo (COF)). El envío de información al motor de pagos para identificar los detalles de pago almacenados, las transacciones iniciadas por el titular de la tarjeta y las transacciones iniciadas por el negocio puede proporcionar:

  • mayor visibilidad de los niveles de riesgo de las transacciones para los emisores.
  • mayores tasas de aprobación de autorizaciones y ventas completadas
  • mejora de la experiencia del pagador
Puede optar por almacenar los detalles de pago en su propia aplicación o usar la tokenización del motor de pagos o los tokens de esquema de tarjeta.

El motor de pagos admite los siguientes pagos utilizando los detalles de pago almacenados de API v54 en adelante:

Realización de pagos iniciados por el titular de la tarjeta

Una transacción iniciada por el titular de la tarjeta es una transacción que se realiza con la participación activa del pagador. Por ejemplo, transacciones de pedidos de comercio electrónico, por correo postal o por teléfono.

Para indicar que la transacción la inició el pagador, debe establecer transaction.source en INTERNET/MOTO/MAIL_ORDER/TELEPHONE_ORDER/VOICE_RESPONSE/CALL_CENTER. En toda esta guía, utilizamos un pago por Internet (transaction.source=INTERNET) para ilustrar una transacción iniciada por el titular de la tarjeta; no obstante, puede cambiarlo por cualquiera de los otros valores permitidos.

Una transacción iniciada por el titular de la tarjeta puede ser un pago único en el que generalmente no almacenará los detalles de pago proporcionados por el pagador. No obstante, puede firmar un acuerdo con el pagador para almacenar sus detalles de pago para uso futuro (normalmente como parte de un proceso de creación de cuenta o registro de cliente) y realizar transacciones posteriores iniciadas por el titular de la tarjeta utilizando los detalles de pago almacenados.

Durante una interacción con el pagador, cuando este acepta que usted almacene los detalles de sus pagos para un uso futuro, deberá completar los siguientes campos en la transacción inicial:

  • sourceOfFunds.type=CARD o SCHEME_TOKEN
  • Campos sourceOfFunds.provided.card.* o sourceOfFunds.token
  • transaction.source=INTERNET
  • sourceOfFunds.provided.card.storedOnFile:TO_BE_STORED

Para los pagos posteriores iniciados por el pagador (no por usted) y en las que se utilizan los detalles de pago almacenados del pagador, debe proporcionar:

  • sourceOfFunds.type=CARD o SCHEME_TOKEN
  • Campos sourceOfFunds.provided.card.* o sourceOfFunds.token
  • transaction.source=INTERNET
  • sourceOfFunds.provided.card.storedOnFile:STORED

Para obtener información sobre cómo indicarle al motor de pagos si los detalles de pago están almacenados, no almacenados o si tiene la intención de almacenarlos, consulte las Preguntas frecuentes.

Realización de pagos iniciados por el negocio

Una transacción iniciada por el negocio es una transacción que se realiza utilizando detalles de pago almacenados, pero sin la participación activa del pagador. Puede estar realizando transacciones iniciadas por el negocio si ofrece:

  • productos o servicios que requieran el cobro a un pagador utilizando una programación predefinida, por ejemplo, el pago recurrente posterior de una suscripción a una revista, la membresía de un gimnasio, o bien
  • ofrece a los pagadores la posibilidad de pagar una compra en varios números de pagos, o bien
  • ofrece al pagador un servicio para cobrarle a demanda servicios como, por ejemplo, recargas de cuenta cuando el monto disponible queda por debajo de un umbral definido.

En estos casos, deberá formalizar un acuerdo con el pagador sobre estos servicios. El pagador debe aceptar que usted almacene sus detalles de pago con esta finalidad y le permita iniciar posteriormente pagos con los detalles de pago almacenados sin su participación activa.

Detalles del acuerdo

Cuando firma un acuerdo con el pagador que le permite a usted enviar posteriormente pagos iniciados por el negocio, debe proporcionar los siguientes detalles del acuerdo en la transacción inicial de la serie, es decir, la transacción iniciada por el titular de la tarjeta:

  • agreement.id: un valor único generado por usted para identificar un acuerdo de pago con el pagador. También debe enviarlo en las transacciones iniciadas por el negocio posteriores para vincular los pagos en una serie. Esto es necesario para cumplir con los mandatos del esquema de tarjeta donde el ID del acuerdo actúa como un identificador para vincular la transacción iniciada por el titular de la tarjeta anterior con los pagos iniciados por el negocio posteriores.
  • agreement.type: Indica si el acuerdo comercial con el pagador se ha establecido como un pago recurrente, con número de pagos o no programado. Solo es necesario proporcionarlo cuando establezca el acuerdo con el pagador, es decir, en la transacción iniciada por el titular de la tarjeta.
No es obligatorio enviar el ID y tipo de acuerdo si solo pretende procesar transacciones iniciadas por el titular de la tarjeta con detalles de pago almacenados.

Referencia de API de Detalles del acuerdo [REST][NVP]

Fuente de transacción

Cuando envíe pagos, deberá distinguir entre la primera transacción de la serie, es decir, la transacción iniciada por el titular de la tarjeta, y cualquier pago posterior iniciado por el negocio en la serie. Puede hacerlo utilizando el campo transaction.source, donde para la transacción inicial debe establecer transaction.source=INTERNET o cualquier otro valor permitido para indicar que la transacción la inició el pagador. Para pagos posteriores de la serie, debe establecer transaction.source=MERCHANT para indicar que la transacción la inició usted. Su proveedor de servicios de pago debe tener "MERCHANT" habilitado como una fuente de transacción permitida en su vínculo de adquirente del negocio.

Referencia de API de Fuente de transacción [REST][NVP]

Cuando envíe la primera transacción iniciada por el titular de la tarjeta o los pagos posteriores iniciados por el negocio en una serie, debe indicar al motor de pagos si los detalles de pago están almacenados, no almacenados o si tiene la intención de almacenarlos. Para obtener más información, consulte las Preguntas frecuentes.

Pagos recurrentes

Un pago recurrente es un acuerdo en el que el pagador le autoriza a procesar pagos de facturas o facturas recurrentes a intervalos acordados (por ejemplo, semanalmente, mensualmente).

Puede enviar pagos recurrentes para su procesamiento en el motor de pagos si tiene un acuerdo de pago con el pagador, en el cual el pagador acepta que usted almacene los detalles de sus pagos para un uso futuro y lo autoriza a iniciar pagos recurrentes posteriores sin su participación activa.

Para permitirlo, deberá completar los siguientes campos en la transacción inicial en la serie:

  • sourceOfFunds.type=CARD o SCHEME_TOKEN
  • Campos sourceOfFunds.provided.card.* o sourceOfFunds.token
  • transaction.source=INTERNET
  • sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
  • agreement.id
  • agreement.type=RECURRING

Para pagos posteriores en una serie iniciada por usted, debe proporcionar:

  • sourceOfFunds.type=CARD o SCHEME_TOKEN
  • Campos sourceOfFunds.provided.card.* o sourceOfFunds.token
  • transaction.source=MERCHANT
  • sourceOfFunds.provided.card.storedOnFile=STORED
  • agreement.id: el mismo agreement.id que el proporcionado en la transacción inicial. Esto permite al motor de pagos vincular los pagos de una serie.

Números de pagos

Un pago en número de pagos es un acuerdo en el que el pagador autoriza que el pago de una única compra se divida en un número de pagos procesados en intervalos acordados. Por ejemplo, pagar una compra en seis pagos mensuales.

Puede enviar números de pagos para su procesamiento en el motor de pagos si tiene un acuerdo de pago con el pagador, en el cual el pagador acepta que usted almacene los detalles de sus pagos para un uso futuro y lo autoriza a iniciar números de pagos posteriores sin su participación activa.

Para permitirlo, deberá completar los siguientes campos en la transacción inicial en la serie:

  • sourceOfFunds.type=CARD o SCHEME_TOKEN
  • Campos sourceOfFunds.provided.card.* o sourceOfFunds.token
  • transaction.source=INTERNET
  • sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
  • agreement.id
  • agreement.type=INSTALLMENT

Para pagos en números de pagos posteriores en una serie iniciada por usted, debe proporcionar:

  • sourceOfFunds.type=CARD o SCHEME_TOKEN
  • Campos sourceOfFunds.provided.card.* o sourceOfFunds.token
  • transaction.source=MERCHANT
  • sourceOfFunds.provided.card.storedOnFile=STORED
  • agreement.id: el mismo agreement.id que el proporcionado en la transacción inicial. Esto permite al motor de pagos vincular los pagos de una serie.

Pagos no programados

El pago no programado es un acuerdo en el que el pagador autoriza al negocio a deducir automáticamente fondos para el pago de una compra acordada cuando se requiere (no programada). Por ejemplo, recargas automáticas cuando el valor de la cuenta cae por debajo de cierto umbral.

Puede enviar pagos no programados para su procesamiento en el motor de pagos si tiene un acuerdo de pago con el pagador, en el cual el pagador acepta que usted almacene los detalles de sus pagos para un uso futuro y lo autoriza a iniciar pagos no programados posteriores sin su participación activa.

Para permitirlo, deberá completar los siguientes campos en la transacción inicial en la serie:

  • sourceOfFunds.type=CARD o SCHEME_TOKEN
  • Campos sourceOfFunds.provided.card.* o sourceOfFunds.token
  • transaction.source=INTERNET
  • sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
  • agreement.id
  • agreement.type=UNSCHEDULED

Para pagos no programados posteriores en una serie iniciada por usted, debe proporcionar:

  • sourceOfFunds.type=CARD o SCHEME_TOKEN
  • Campos sourceOfFunds.provided.card.* o sourceOfFunds.token
  • transaction.source=MERCHANT
  • sourceOfFunds.provided.card.storedOnFile=STORED
  • agreement.id: el mismo agreement.id que el proporcionado en la transacción inicial. Esto permite al motor de pagos vincular los pagos de una serie.

Preguntas frecuentes

¿Cómo le indico al motor de pagos si los detalles del pago están almacenados, no almacenados o que tengo la intención de almacenarlos?

Para cumplir con los estándares del esquema de tarjeta para procesar transacciones iniciadas por el titular de la tarjeta e iniciadas por el negocio, debe indicar al motor de pagos si los detalles del pago están almacenados, no almacenados o si tiene la intención de almacenarlos utilizando el campo sourceOfFunds.provided.card.storedOnFile.

Para la transacción inicial, es decir, la transacción iniciada por el titular de la tarjeta:

  • si se trata de un pago único, es decir, si no tiene la intención de almacenar los detalles del pago, puede omitir el campo sourceOfFunds.provided.card.storedOnFile.
  • si se trata de un pago en el que tiene la intención de almacenar los detalles de pago para su uso futuro, configure sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED. Esto indica al motor de pagos que el pagador aceptó que usted almacene sus detalles de pago. Debe establecer este valor:

    • independientemente de dónde almacene los detalles de pago: su propia aplicación (requiere que sea compatible con PCI), o tokenización de motor de pagos, o tokens de esquema de tarjeta.
    • independientemente de si almacena los detalles de pago antes o después de enviar la transacción al motor de pagos.

Para pagos posteriores, ya sea una transacción iniciada por el titular de la tarjeta donde se usan los detalles de pago almacenados del pagador, o para transacciones iniciadas por el negocio que usan los detalles de pago almacenados, establezca sourceOfFunds.provided.card.storedOnFile=STORED

Con la tokenización del motor de pagos, el motor de pagos establece los valores predeterminados en su nombre.

  • Cuando no está habilitado para la tokenización, el motor de pagos establece sourceOfFunds.provided.card.storedOnFile=NOT_STORED
  • Cuando tokeniza los detalles de la tarjeta, el motor de pagos establece sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
  • Cuando realiza transacciones posteriores utilizando el token de motor de pagos, el motor de pagos establece sourceOfFunds.provided.card.storedOnFile=STORED

Referencia de API de Almacenado en archivo [REST][NVP]

¿Qué pasa si no tengo un ID de acuerdo?

Si no tiene un identificador único para su acuerdo con el pagador, puede realizar lo siguiente:

  • Genere un ID de acuerdo para fines de interacción con el motor de pagos. A continuación, lo debe almacenar y enviar al motor de pagos en todos los pagos de la serie, incluida la transacción iniciada por el titular de la tarjeta.
  • Utilice un identificador existente (que ya esté almacenado en el sistema), por ejemplo, el ID de pedido para el primer pago de la serie.

¿Debo enviar un pago a la hora de establecer el acuerdo de pago?

Si en el momento de establecer un acuerdo de pago con el pagador, usted no tiene la intención de cobrarle al pagador, por ejemplo, si se trata de la suscripción a una revista en que el primer pago está programado a 30 días, debe enviar una solicitud Verify con los detalles del acuerdo:

  • agreement.id
  • agreement.type

La transacción Verify se convierte en la primera transacción iniciada por el titular de la tarjeta de la serie. Para cualquier pago posterior, use el agreement.id para vincular pagos en la serie.

¿Qué pasa si cambia el PAN de un acuerdo?

Los detalles de pago contra un acuerdo pueden cambiar, por ejemplo, si:

  • el pagador perdió su tarjeta y se emitió una tarjeta nueva
  • el pagador cambió de banco
  • la tarjeta no tenía fondos suficientes y el pagador proporcionó otros detalles de pago

Si los detalles de la tarjeta han cambiado (excepto en el caso de una nueva emisión de la tarjeta vencida y los tokens del esquema de tarjeta), debe realizar una transacción iniciada por el titular de la tarjeta utilizando el mismo ID de acuerdo para actualizar los detalles de pago/el token del motor de pagos antes de realizar una transacción iniciada por el negocio con el nuevo número de tarjeta. Dependiendo de su modelo de negocio, puede optar por crear un nuevo acuerdo.

Si utiliza un token de esquema, el esquema puede actualizar automáticamente el número de tarjeta almacenado sobre ese token de esquema.

Derechos de autor © 2020 Mastercard