Integration Types
Otras características
Card Payments
Mobile Wallets
Alternative Payment Methods
Resources
Una sesión de pago, o simplemente sesión, es un contenedor temporal para cualquier campo de solicitud y valor de operaciones que hagan referencia a una sesión. Esto le permite emplear una sesión en una operación para hacer referencia a los campos de solicitud y valores, en lugar de proporcionarlos directamente en la solicitud de operación. Cuando la Mastercard Gateway recibe una operación que hace referencia a una sesión, la solicitud final se forma al combinar los campos de solicitud de la sesión y aquellos proporcionados directamente en la solicitud.
El uso de sesiones permite integraciones más sofisticadas en que se capturan diferentes partes de la solicitud en distintos puntos del flujo de pago o a través de distintos canales. Por ejemplo, en los flujos de pago para Hosted Session y billeteras (por ejemplo, Masterpass) se emplean sesiones para recopilar y almacenar información confidencial del pagador. Esto reduce los costos de cumplimiento e implementación de PCI, ya que usted no administra ni almacena ningún detalle de pago en su servidor.
Como primer paso, debe crear una sesión, que luego puede actualizar con los campos de solicitud y los valores que desea almacenar en la sesión.
Puede crear una sesión mediante:
De manera opcional, puede proporcionar el límite de autenticación (session.authenticationLimit), que indica el número de operaciones que pueden enviarse al motor de pagos usando el ID de sesión como contraseña. Si no se proporciona, el motor de pagos establece un valor predeterminado.
Devuelve los siguientes campos:
session.id
: un identificador de sesión único que debe proporcionar en solicitudes posteriores para hacer referencia a los contenidos de una sesión.session.authenticationLimit
: el límite que proporcionó en la solicitud o el valor predeterminado del motor de pagos.session.aes256Key
: la clave que puede usar para descifrar los datos confidenciales que se transmiten al sitio web a través del explorador o dispositivo móvil del pagador.session.version
: puede usar este campo para implementar el bloqueo optimista del contenido de la sesión.session.updateStatus
: un resumen del resultado del último intento para modificar la sesión.Referencia de session.js[JavaScript]
Puede agregar o actualizar campos de solicitud en una sesión mediante:
Le permite agregar datos del pago y del pagador en una sesión que posteriormente se puede convertir en la entrada para determinar el riesgo asociado con un pagador en una operación de autenticación.
Referencia de session.js[JavaScript]
Se puede usar una sesión que contiene los campos de solicitud y valores en cualquiera de las siguientes operaciones:
Puede realizar varias operaciones mediante la misma sesión, por ejemplo, Pay y Tokenización. Esto es útil si desea realizar un pago y también guardar los detalles de la tarjeta. Tenga en cuenta que la versión de API para las operaciones que hacen referencia a la sesión debe coincidir con la versión de API que se usa al actualizar o agregar campos de solicitud a la sesión.
Open Wallet
,Update Session
,Update Session From Wallet
), el código de seguridad de la tarjeta se elimina, si se almacena en la sesión. Esto es necesario para cumplir con los reglamentos de PCI. Si desea guardar los detalles de la tarjeta para un uso posterior, puede hacerlo al realizar una operación Tokenización mediante la sesión.Al enviar una solicitud de operación, los campos de solicitud y valores almacenados para la sesión se usan solamente si no los proporciona directamente en la solicitud.
Puede obtener los campos de solicitud y los valores almacenados en una sesión al proporcionar el identificador de sesión.
Si toma decisiones de negocio según los datos obtenidos a partir de una sesión, debe usar la capacidad de bloqueo optimista de la sesión. Esto garantiza que los datos que usó para tomar sus decisiones sean los mismos que usó para procesar su operación de solicitud.
Para usar la capacidad de bloqueo optimista, debe realizar lo siguiente:
Retrieve Session
.session.version
en el contenido de la sesión devuelta.session.version
junto con el identificador de sesión como parte de la operación.Si el contenido de la sesión ha cambiado desde que registró session.version
, el motor de pagos rechazará la operación y devolverá error.cause=INVALID_REQUEST
.
Entre los ejemplos de decisiones de negocio basadas en el contenido de la sesión se incluyen: