Pregunta

Estoy en el proceso de escribir las etapas finales de un módulo de pago y envío usando la API FirstData Global Gateway para un cliente. Todas las vistas de forma para la entrada de datos se han creado y los controladores se comunica correctamente los datos de prueba con el servicio web FirstData.

Busco pensamientos sobre las mejores prácticas sobre la manera de estructurar la experiencia del usuario de pago y envío después se hace clic en el botón 'orden de proceso'.

Estoy planeando sobre el uso de javascript para desactivar el botón de proceso después de que se hace clic y tener la información que se pasa al servicio Web durante esta demora. ¿Cuáles son algunos de los métodos que haya usado en el pasado para crear esta demora mientras que informa al usuario de que se está realizando la llamada de pago. ¿Cuáles son algunos de los métodos que haya usado en el pasado para operar mejor la función de devolución de llamada que avisa si la transacción ha sido aprobada o ha disminuido? Alguien ha encontrado procesar toda esta información en la misma secuencia de comandos con PHP_SELF de la acción, o es generalmente mejor para colocar esta lógica en otro lugar?

Sólo algunas preguntas en general para ayudar a guiar el proceso a través de un poco de ensayo y error. Tal vez la respuesta será ayudar a recoger algunas muy buenas ideas para el uso de todos.

¿Fue útil?

Solución

  

¿Cuáles son algunos de los métodos que pueda tener   utilizado en el pasado para crear este retraso   mientras que informa al usuario de que la   se está realizando la llamada de pago?

Usted no quiere retrasar el proceso de cualquier procesamiento como el pago incurrirá en gastos indirectos suficiente en caso de retraso natural de que se produzca por sí mismo. Su objetivo en este punto para evitar envíos duplicados y que el usuario sepa algo está ocurriendo mientras esperan. La desactivación del botón de envío es una buena idea. Además, la creación de una clave única para ese proceso de pago que también tiene que ser presentado junto con la orden es una buena idea. Al presentar su pago que comprueba para esa clave y asegúrese de que está allí (por lo general se encuentra en una variable de sesión). Si se trata de eliminarlo y, a continuación, procesar la transacción, si presentan el formulario de nuevo entonces será capaz de ser marcado como una transacción duplicado.

  

¿Cuáles son algunos de los métodos que pueda tener   utilizado en el pasado para el uso óptimo del   función de devolución de llamada que avisa si el   transacción ha sido aprobada o   disminuido?

La pasarela de pago va a devolver un valor de error disminuido o se aprueba,,. Nada de lujos, así que no hay realmente ninguna manipulación de fantasía requerido. transacción aprobada debe tener todas las acciones de pedidos e información de bases de datos pertinentes a cabo y luego el usuario deben ser llevados a un agradecimiento / página de recibo. Los errores y las caídas pueden ser manejados de una manera similar con el usuario que se presenta con la página de pago de nuevo. Si se rechaza la tarjeta que el usuario sepa amablemente que su banco ha rechazado la transacción y los invite a utilizar una tarjeta de crédito diferente. Si hay un error de procesamiento que puede o bien pedirles que intentarlo o dirigirlos a ponerse en contacto con usted por teléfono para hacer su pedido.

  

¿Alguien ha encontrado el procesamiento de todo esto   información de la misma secuencia de comandos con   PHP_SELF de la acción, o es   generalmente mejor para colocar esta lógica   en otros lugares?

tomate, tomate. Todo depende de su estilo de programación. Tener el proceso de pago en la misma página que la forma está muy bien. Lo he hecho. Lo único que importa es que el pago se maneja correctamente y el usuario ve lo que necesitan ver. Lo que sucede en el fondo no le importa a ellos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top