Integration Types
Otras características
Card Payments
Mobile Wallets
Alternative Payment Methods
Resources
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í, proporcione 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 negocio, 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 pueden proporcionar lo siguiente:
El motor de pagos admite los siguientes pagos utilizando los detalles de pago almacenados desde la API de servicios web v74 en adelante:
Puede usar 3-D Secure con los pagos iniciados por el titular de la tarjeta. Para obtener más información, lea los siguientes detalles específicos.
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
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
=INTERNET, and
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
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
=INTERNET, and
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.
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:
Casos de uso de datos del acuerdo
En los casos de uso anteriores, deberá firmar 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.
Casos de uso de pagos de prácticas de la industria
Caso de uso de pago de reenvío
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
: especifica 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 se ha establecido el acuerdo comercial con el pagador. Solo es necesario proporcionarlo cuando establezca el acuerdo con el pagador, es decir, en la transacción iniciada por el titular de la tarjeta.
Referencia de API de Detalles del acuerdo [REST][NVP]
Cuando firma un acuerdo con el pagador que le permite a un negocio enviar posteriormente pagos de prácticas de la industria iniciados por el negocio, el negocio debe proporcionar los siguientes detalles:
order.industryPracticePaymentReason
: este campo se usa para clasificar los pagos iniciados por negocios que se envían en el contexto de ciertas prácticas de la industria. Utilice este campo para indicar el motivo del pago de esa práctica de la industria. Por ejemplo, DELAYED_CHARGE, NO_SHOW_PENALTY, o bien PARTIAL_SHIPMENT.sourceofFunds.provided.card.storedOnFiles = STORED
: este campo indica un consentimiento, donde el negocio debe haber obtenido el consentimiento del pagador antes de enviar transacciones por prácticas de la industria.transaction.resubmission
: este campo indica que esta transacción iniciada por el negocio es un reenvío por una autorización previa que falló debido a fondos insuficientes. Las operaciones que se van a reenviar deben ser solo Authorize o Pay.referenceOrderId
: este campo indica la referencia a un pedido enviado previamente por usted al motor de pagos. Es aplicable a los siguientes escenarios durante el envío de transacciones de pago:
Referencia de API de Detalles de pago y detalles de reenvío de prácticas de la industria [REST][NVP]
Cuando envíe pagos, distinga 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 los pagos posteriores de la serie, debe establecer transaction.source
=MERCHANT
para indicar que la transacción fue iniciada por usted. Your payment service provider 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.
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
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
=INTERNET, and
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
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
=MERCHANT
sourceOfFunds.provided.card.storedOnFile
=STORED, and
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.En la tabla siguiente se especifican diferentes escenarios o casos de uso para procesar una autenticación 3-D-Secure con pagos iniciados por el titular de la tarjeta. Para obtener más información sobre la autenticación 3-D Secure, consulte Guía de integración de 3-D Secure.
Para transacciones externas autorizadas, consulte las Pautas de autenticación.
Los siguientes campos son necesarios para que una transacción resulte correcta cuando se utiliza la solicitud WS API AUTHENTICATE_PAYER de la versión 61:
Los siguientes campos son necesarios para que una transacción resulte correcta cuando se utiliza la solicitud WS API AUTHENTICATE_PAYER de la versión 57-60:
Caso de uso | Pasos de integración |
---|---|
Establezca un acuerdo recurrente con el pagador que incluya un cargo inicial e iniciar una nueva serie de pagos recurrentes. |
|
Establecer una serie de pagos recurrentes cuando inicialmente no hay ningún pago pendiente Si desea establecer una serie de pagos recurrentes con el pagador cuando no hay ningún pago pendiente en el momento en que el pagador contrata el servicio. Ejemplo: servicios de suscripción mensual sin necesidad de pago cuando el cliente se registra. |
Al consultar las Pautas de autenticación, use estos parámetros adicionales especificados en los siguientes pasos para integrar 3DS para pagos recurrentes. Los pasos 1 y 2 deben completarse mientras el titular de la tarjeta está en la sesión. El paso 3 debe usarse cuando esté listo para procesar el pago.
Mientras el titular de la tarjeta está en la sesión, complete los pasos 1 y 2. Cuando esté listo para procesar el pago, use el paso 3. Paso 1: Iniciar autenticación
Paso 2: Autenticar al pagador
Paso 3: Realice la operación de verificación y luego elija una de las siguientes opciones:
o bien
|
Agregar una tarjeta sin establecer un acuerdo de pago Si desea ofrecer una opción para que los pagadores agreguen los detalles de su tarjeta mientras crean su perfil o cuentas sin tener un acuerdo de pago vigente en el momento de registrarse. La tarjeta agregada se puede utilizar en el futuro. |
Al consultar las Pautas de autenticación, use estos parámetros adicionales especificados en los siguientes pasos para integrar 3DS. Paso 1: Iniciar autenticación
Paso 2: Autenticar al pagador
|
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
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
=INTERNET
sourceOfFunds.provided.card.storedOnFile
=TO_BE_STORED
agreement.id, and
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
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.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
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
=INTERNET
sourceOfFunds.provided.card.storedOnFile
=TO_BE_STORED
agreement.id, and
agreement.type
=UNSCHEDULED
Para pagos no programados posteriores en una serie iniciada por usted, debe proporcionar:
sourceOfFunds.type
=CARD
o SCHEME_TOKEN
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
=MERCHANT
sourceOfFunds.provided.card.storedOnFile
=STORED, and
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.Puede enviar pagos iniciados por el negocio que se envían en el contexto de ciertas prácticas de la industria para su procesamiento al motor de pagos si tiene un acuerdo de pago con el pagador, en el que el pagador acepta que el negocio almacene sus detalles de pago para su uso futuro y lo autoriza a usted a iniciar pagos del negocio posteriores sin la participación activa del pagador.
Para permitirlo, complete los siguientes campos en la transacción inicial en la serie:
order.id
= "OD12345"transaction.id
= "TRAN 1"sourceOfFunds.type
=CARD
o SCHEME_TOKEN
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
= INTERNET, MOTO, MAIL_ORDER, TELEPHONE_ORDER, CALL_CENTRE, or VOICE_RESPONSE
sourceOfFunds.provided.card.storedOnFile
= TO_BE_STORED
Para posteriores pagos de negocio que usted inicie, proporcione los siguientes campos:
order.id
= "OD45678"
transaction.id
= "TRAN 2"sourceOfFunds.type
=CARD
o SCHEME_TOKEN
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
= MERCHANT
sourceOfFunds.provided.card.storedOnFile
= STORED
order.industryPracticePaymentReason : {DELAYED_CHARGE, NO_SHOW_PENALTY, PARTIAL_SHIPMENT}
referenceOrderId
= "OD12345"
transaction.acquirer.traceid
= "MCC123456889"
transaction.relatedTransactions.firstTransactionInTheSeries.source
= MOTO, MAIL_ORDER, TELEPHONE_ORDER, CALL_CENTRE, or VOICE_RESPONSE
Puede reenviar un pago iniciado por un negocio cuando el pago de la autorización anterior falló debido a fondos insuficientes. Las operaciones que se van a reenviar deben ser solo Authorize o Pay.
Para permitirlo, complete los siguientes campos en la transacción inicial en la serie:
order.id
= "OD12345"transaction.id
= "TRAN 1"sourceOfFunds.type
=CARD
o SCHEME_TOKEN
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
= INTERNET
sourceOfFunds.provided.card.storedOnFile
= TO_BE_STORED
Para pagos de negocio posteriores que usted inicie, proporcione los siguientes campos:
Como referencia, la primera transacción MIT se denomina MIT1 y la transacción MIT reenviada se denomina MIT2 más adelante en esta sección.
Para MIT1, proporcione los siguientes campos:
order.id
= "OD5678"
transaction.id
= "TRAN 2"sourceOfFunds.type
=CARD
o SCHEME_TOKEN
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
= MERCHANT
sourceOfFunds.provided.card.storedOnFile
= STORED
order.industryPracticePaymentReason : {DELAYED_CHARGE, NO_SHOW_PENALTY, PARTIAL_SHIPMENT}
referenceOrderId
= "OD12345"
transaction.acquirer.traceid
= "MCC0987335353"
MIT 1 disminuirá debido a fondos insuficientes. Por lo tanto, el negocio reenvía la transacción MIT enviada, que ahora es MIT2.
Para MIT 2, proporcione los siguientes campos:
order.id
= "OD5678"
transaction.id
= "TRAN 3"sourceOfFunds.type
=CARD
o SCHEME_TOKEN
sourceOfFunds.provided.card.*
o sourceOfFunds.token
transaction.source
= MERCHANT
sourceOfFunds.provided.card.storedOnFile
= STORED
order.industryPracticePaymentReason : {DELAYED_CHARGE, NO_SHOW_PENALTY, PARTIAL_SHIPMENT}
transaction.resubmission
="true"
referenceOrderId
= "OD12345"
transaction.acquirer.traceid
= "MCC0987335353"
Hosted Checkout para transacciones iniciadas por el titular de la tarjeta (CIT) le permite obtener el consentimiento del pagador para almacenar sus detalles de pago, para usarse en futuras transacciones iniciadas por el pagador.
interaction.operation=AUTHORIZE
es compatible con esta funcionalidad. Próximamente habrá soporte adicional para interaction.operation=PURCHASE.Para solicitar un Hosted Checkout para CIT, siga estos pasos:
interaction.saveCardForCredentialOnFile=PAYER_INITIATED_PAYMENTS
.
Hosted Checkout proporciona al pagador las opciones de pago disponibles.
La lista de opciones de pago del pagador no incluye Click to Pay.
interaction.operation=AUTHORIZE
) con sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
y transaction.payerConsentForStoringCardDetails=PAYER_INITIATED_PAYMENTS
.Debe cumplir con los requisitos del esquema y las normativas (por ejemplo, GDPR). Debe proporcionar al pagador la opción de eliminar el consentimiento y borrar el token del motor de pagos.
RETRIEVE_ORDER
de API WS.
transaction.payerConsentForStoringCardDetails=PAYER_INITIATED_PAYMENTS
. sourceOfFunds.token
. INITIATE_CHECKOUT
de API WS con interaction.tokens
que contiene el token del motor de pagosinteraction.saveCardForCredentialOnFile=PAYER_INITIATED_PAYMENTS
: esto permite al pagador ingresar nuevos datos de la tarjeta y almacenarlos.
Hosted Checkout muestra las opciones de pago disponibles para el pagador.
Hosted Checkout para transacciones iniciadas por el negocio (MIT) le permite obtener el consentimiento del pagador para almacenar sus detalles de pago, para usarse en futuras transacciones iniciadas por el negocio.
interaction.operation=AUTHORIZE
es compatible con esta funcionalidad. Próximamente habrá soporte adicional para interaction.operation=PURCHASE.Para solicitar un Hosted Checkout para MIT, siga estos pasos:
INITIATE_CHECKOUT
de la API de servicios web con agreement.type
y agreement.id
Hosted Checkout proporciona al pagador las opciones de pago con débito o crédito.
Si el pagador continúa dando su consentimiento, Hosted Checkout enviará la solicitud de transacción con los siguientes valores:
sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
transaction.payerConsentForStoringCardDetails=MERCHANT_INITIATED_PAYMENTS
RETRIEVE_ORDER
de API WS para una transacción exitosa:
transaction.payerConsentForStoringCardDetails=MERCHANT_INITIATED_PAYMENTS.
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:
sourceOfFunds.provided.card.storedOnFile
.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: 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.
sourceOfFunds.provided.card.storedOnFile
=NOT_STORED
.
sourceOfFunds.provided.card.storedOnFile
igual al valor proporcionado por usted en la solicitud de transacción. Puede proporcionar TO_BE_STORED
o NOT_STORED
en la transacción iniciada por el cliente.
sourceOfFunds.provided.card.storedOnFile
=STORED
.
Referencia de API de Almacenado en archivo [REST][NVP]
Si no tiene un identificador único para su acuerdo con el pagador, puede realizar lo siguiente:
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.
Si el pagador se autenticó mediante la autenticación 3-D Secure en MPGS, puede proporcionar el authentication.transactionId
que se utilizó en la transacción original.
Para transacciones autenticadas externamente, consulte la página Implementación de una integración de 3DS utilizando la API de autenticación y vaya a la sección Opciones > Enviar una solicitud de pago con autenticación previa.
Los detalles de pago contra un acuerdo pueden cambiar, por ejemplo, si:
Si los detalles de la tarjeta cambiaron (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 o 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.