- Pautas de integración
- Implementación de una Integración de Hosted Payment Form
Implementación de una Integración de Hosted Payment Form
En el modelo de Hosted Payment Form, se presenta un formulario de pago al pagador para recopilar los detalles de la tarjeta, los cuales luego se envían directamente desde el explorador del pagador al American Express Payment Gateway. El motor de pagos recopila los detalles de la tarjeta en una sesión y los almacena temporalmente para su uso posterior. Luego puede incluir un identificador de sesión en lugar de los detalles de la tarjeta en la solicitud de transacción para procesar un pago.
Beneficios clave
- No maneja ni almacena ningún dato de tarjeta de crédito, lo que reduce los costos de cumplimiento de PCI.
- Tiene control total sobre la marca y el estilo de las páginas de pago.
- Puede recopilar información adicional en el formulario de pago, por ejemplo, código de cupón de descuento, identificador del programa de fidelización, dirección de envío, método de envío, etc.
- Puede utilizar la información adicional y los detalles de la tarjeta recopilados para calcular el monto total del pago. Por ejemplo, su sitio de compras online podría calcular:
- Un recargo según el tipo de tarjeta utilizada;
- Flete según la dirección y el método de envío;
- Un descuento utilizando el código de cupón.
Puede separar la iniciación de pago de la recopilación de los detalles de la tarjeta.
- Puede integrar esta solución con Tokenisation reduciendo así aún más el alcance y el costo de una auditoría PCI DSS.
Prerrequisitos
- Asegúrese de que el perfil del negocio está habilitado para Web-Services API y Hosted Payment Form.
- Asegúrese de tener conectividad con los servicios de American Express Payment Gateway.
- Antes de comenzar la integración, lea la sección Mejores prácticas y consejos a continuación.
Mejores prácticas y consejos
Si se rechaza una transacción y desea ofrecer al pagador la opción de volver a intentarlo, se debe crear una nueva sesión. A continuación, se debe volver a mostrar el formulario de pago para permitir al pagador proporcionar los datos de su tarjeta.
Las sesiones vencen después de cierta cantidad de horas. Cualquier intento de usar una sesión que haya vencido arrojará un error que indica que la sesión no es válida. La aplicación del cliente deberá crear una nueva sesión y recopilar nuevamente los datos de la tarjeta del pagador.
Una sesión puede actualizarse con los datos de la tarjeta varias veces hasta que venza. Puede usar el parámetro session.version
para asegurarse de que la información de la sesión con la que está trabajando sea la versión más reciente.
Se pueden realizar múltiples operaciones usando una sola sesión una vez que se hayan recopilado y agregado los detalles válidos de la tarjeta a través del Formulario de detalles de pago. Por ejemplo, una operación Pay seguida de una operación de Tokenization. Tenga en cuenta que el CSC se eliminará tan pronto como se realice una transacción financiera (ver más abajo).
Los códigos de seguridad de tarjeta se eliminan de una sesión tan pronto como se realiza una operación que hace referencia a una sesión (excepto Open Wallet y Update Session). Esto es necesario para cumplir con las regulaciones PCI. Por ejemplo, si se realiza una operación Tokenization mediante una autorización nominal, el código de seguridad de tarjeta se omitirá y no se incluirá en la posterior operación Pay.
Hosted Payment Form Modelo de implementación
La solución Hosted Payment Form admite dos modelos de implementación:
- Hosted Payment Form con JavaScript: es el método de integración recomendado porque proporciona una forma rápida y fácil de integrar las aplicaciones cliente compatibles con JavaScript.
- Hosted Payment Form POST: utilícelo si su aplicación cliente no es compatible con JavaScript.
Prueba e inicio de transacciones en producción
Las pruebas le permiten comprobar si su integración funciona como lo desea.
Solución de problemas y preguntas frecuentes
Los detalles de tarjeta almacenados en la sesión se pueden actualizar hasta que se realice una transacción Hosted Payment Formmediante la sesión. Por ejemplo, si el pagador desea actualizar los datos de su tarjeta porque algunos de los datos proporcionados eran incorrectos, entonces los datos de la tarjeta pueden actualizarse antes de iniciar una transacción para pagar el pedido.
Si se rechaza una transacción y desea ofrecer al pagador la opción de volver a intentarlo, se debe crear una nueva sesión. A continuación, se debe volver a mostrar el formulario de pago para permitir al pagador proporcionar los datos de su tarjeta.
Una sesión de pago se puede utilizar en múltiples transacciones, por ejemplo, Pay seguido de Save, hasta que la sesión expire. Sin embargo, es importante comprender que una vez que se ha realizado una transacción para una sesión, entonces los detalles de tarjeta ya no se pueden actualizar. Por lo tanto, todas las transacciones realizadas mediante la sesión utilizarán los mismos datos de la tarjeta.