Este modelo de Hosted Payment Session requiere crear código de integración del lado del servidor para obtener un token de sesión de Mastercard Payment Gateway, para usar el identificador de token de sesión devuelto para crear el formulario que debe mostrar la página de pago y para analizar la respuesta del formulario de Mastercard Payment Gateway.
Hosted Payment Session siempre devuelve el campo "gatewayFormResponse", independientemente de si se incluyó como un campo posterior al formulario. Algunos Marcos web pueden arrojar error o restringir el acceso a este campo en este escenario. Si está usando un Marco web que requiere que los campos posteriores al formulario coincidan con aquellos del formulario presentado originalmente, debe asegurarse de que este campo se incluya en el formulario.
No incluya el identificador de sesión como un campo oculto al crear el formulario de pago. Este campo solo debe incluirse en la URL del formulario. Si desea almacenarlo en otras páginas para fines de referencia, es más adecuado guardarlo en una Sesión HTTP.
Restringir las longitudes de campo de ingreso del formulario se considera una buena práctica y ayudará con la mantención de la integridad de los datos. En algunos casos, los datos enviados pueden resultar truncado por Hosted Payment Session si las longitudes de campo no se restringen.
A los nombres de campo se les puede añadir un prefijo pero deben terminar con nombres de campo reconocidos según se definen en Referencia de campos de formulario. Por ejemplo, "ctl00$MainContent$gatewayCardNumber" es un nombre de campo válido y se tratará exactamente igual que un campo llamado "gatewayCardNumber". Esto es especialmente bueno para integraciones que usan la plataforma .Net.
Las Sesiones HTTP (no confundir con sesiones de pago) a menudo se usan para llevar un registro de los datos del pagador, por ejemplo, información del carrito de compras, durante la interacción del pagador con un sitio web.
El enfoque más común para mantener las sesiones es a través del uso de cookies. Tenga presente que si las cookies no se habilitan en el explorador del pagador (o en su servidor web), es posible que además deba admitir la reconfiguración de la URL para mantener la sesión HTTP en una cookie. Consulte la documentación para su marco web elegido para obtener detalles.
Para asegurarse de que Hosted Payment Session administra correctamente caracteres codificados con un conjunto de caracteres diferente del ISO-8859-1 predeterminado, deberá especificar un parámetro de consulta "charset" en la URL de formulario. Por ejemplo, para especificar que el formulario enviado está codificado con el conjunto de caracteres UTF-8, la URL de formulario se vería parecida a:
https://evopaymentsmexico.gateway.mastercard.com/form/<formSessionIdentifier>?charset=UTF-8
Esto, además, asegurará que la respuesta esté codificada correctamente. Aquí se pueden encontrar conjuntos de caracteres compatibles.
Administre exploradores con JavaScript deshabilitado al personalizar la página "Continuar". Cuando un explorador tiene JavaScript deshabilitado, al pagador se le mostrará una página que requiere que haga clic en un botón para ser redirigido de vuelta a su sitio. Los siguientes atributos de esta página se pueden personalizar:
Se aplicarán valores predeterminados si estos no se proporcionan.
Aunque no se requiere estrictamente para la integración con la solución de Hosted Payment Session, cuando los detalles del pagador se publican en Hosted Payment Session en SSL, proporciona los siguientes beneficios:
Aumenta la confianza del pagador al mostrar el candado del explorador
Evita que el pagador vea el aviso emergente "Security Warning" (Advertencia de seguridad) al pasar del sitio seguro de Hosted Payment Session a su sitio inseguro. El aviso emergente "Security Warning" (Advertencia de seguridad) le pregunta al pagador si desea continuar con el envío de la información.
A continuación, se ilustra el flujo de pago detallado para el modelo de Hosted Payment Session.
Create Session
. Esto crea la sesión, la cual contendrá los detalles de tarjeta del pagador de esta. Consulte Solicite una sesión a través de API.Consulte Cree un formulario de pago y Referencias de campo de formulario de pago.
Una vez resueltos todos los errores, puede elegir mostrar más páginas al pagador según su flujo de trabajo comercial o realizar una transacción de almacenamiento o pago al tiempo de recopilar los detalles de tarjeta.
El formulario de pago puede devolver diversos tipos de errores. Consulte Administración de Errores.
Aparecerá una página de error cuando se intente el envío de un formulario incorrecto. Los siguientes casos provocarán que se visualice una página de error.
Tener un campo con el atributo "name" configurado en "submit" evitará que el formulario se redirija de vuelta al sitio mediante la publicación de JavaScript. Esto se debe a que la publicación mediante JavaScript se hizo con la función form.submit()
. Entonces, si hay un elemento de formulario llamado "submit", entonces JavaScript hará referencia incorrectamente al campo en lugar de ejecutar la función. Esto es un problema bien conocido de JavaScript que no se puede resolver fácilmente.
Los campos definidos por el negocio se devuelven en la respuesta de formulario sin ser procesados ni guardados por Hosted Payment Session.
Esto sucede porque el explorador tiene que representar una página HTML antes de ejecutar JavaScript para publicar de vuelta en su sitio. El parpadeo es la visualización de esta página por un momento increíblemente breve antes de que se ejecute el JavaScript. Para asegurar una experiencia sin problemas para el pagador, se recomienda que los atributos que se pueden personalizar de la página "Continuar" estén configurados en valores que mantengan la apariencia y sensación de su sitio. Consulte Consejos y mejores prácticas para obtener detalles sobre cómo personalizar la página "Continuar". Esto también asegurará que los pagadores que no tienen sus exploradores habilitados con JavaScript encuentren una página "Continuar" coherente con el aspecto de su sitio.
Derechos de autor © 2023 Mastercard