GOOGLE ADS

martes, 26 de abril de 2022

No puedo completar una transacción con Amazon Pay en PHP

Tengo problemas para completar una transacción de Amazon Pay en PHP.

En primer lugar, seguí esta guía https://developer.amazon.com/de/docs/amazon-pay-checkout/get-set-up-for-integration.html e implementé la versión 2 de Amazon Pay. Para la implementación, utilicé el siguiente SDK de PHP Amazon Pay: https://github.com/amzn/amazon-pay-api-sdk-php

Hasta el punto 4 (Establecer información de pago) tengo todo funcionando. Pero aquí estoy atascado. 4.2 dice que la respuesta contiene un amazonPayRedirectUrl al que se debe redirigir al usuario.

Mi problema es el siguiente: estoy trabajando con una especie de software heredado donde hay muchos formularios en una tienda en línea. Cuando se envían estos formularios, siempre se publican en la misma URL y, según los datos de carga útil, se cargan diferentes vistas para continuar con el proceso de pago. Cuando ahora estoy redirigiendo al usuario a través de amazonPayRedirectUrl generado (usando la función de encabezado de PHP), el usuario es redirigido a la página de destino de las tiendas (debido a la configuración de htaccess) en lugar de la página/vista que debería seguir lógicamente en el proceso de pago porque la redirección no incluye los datos de carga útil del formulario de envío.

Ya traté de guardar la identificación de la sesión de pago necesaria (que se agrega como un parámetro de consulta a amazonPayRedirectUrl) en la sesión para completar la transacción sin redirigir al usuario, pero esto no funciona. Cuando llamo a $client->completeCheckoutSession, recibo un mensaje de error en la respuesta: InvalidCheckoutSessionStatus Intentó llamar a una operación en una sesión de pago que se encuentra en un estado en el que esa operación no está permitida. El estado de la sesión de pago en la respuesta es "abierto" en lugar de "completado". Supongo que este error se debe a que no redirigí al usuario (aunque no estoy seguro).

¿Cuál sería la mejor manera de redirigir al usuario a la siguiente vista/página lógica correcta en el proceso de pago? ¿De alguna manera tengo que recopilar los datos de envío y hacer una llamada ajax que incluya estos datos de carga útil mientras llamo a amazonPayRedirectUrl o cómo evito ser redirigido a la página de destino de las tiendas, respectivamente, cargue la siguiente vista/formulario correcto?

¡Gracias por adelantado!


Solución del problema

He leído tu pregunta. Quiero saber si ha realizado la integración de Amazon Pay en su sitio web de PHP, ¿puede ayudarme a implementar la integración de Amazon Pay en el sitio web de PHP?

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...