Pergunta

Estou escrevendo os estágios finais de um módulo de checkout usando a API Gateway Global FirstData para um cliente. Todas as visualizações do formulário para entrada de dados foram criadas e os controladores estão comunicando com sucesso dados de teste com o primeiro Data WebService.

Estou procurando pensamentos sobre as melhores práticas sobre como estruturar a experiência do usuário para fazer a compra após o clique o botão 'Pedido de processo'.

Estou planejando usar o JavaScript para desativar o botão do processo depois de clicar e ter as informações passadas para o serviço da Web durante esse atraso. Quais são alguns métodos que você pode ter usado no passado para criar esse atraso ao informar o usuário que a chamada de pagamento está sendo feita. Quais são alguns métodos que você pode ter usado no passado para operar melhor a função de retorno de chamada que notifica se a transação foi aprovada ou recusada? Alguém encontrou o processamento de todas essas informações no mesmo script usando PHP_SELHE para a ação, ou geralmente é melhor colocar essa lógica em outro lugar?

Apenas algumas consultas gerais para ajudar a orientar o processo por meio de um pequeno teste e erro. Talvez a resposta ajude a coletar alguns pensamentos muito bons para o uso de todos.

Foi útil?

Solução

Quais são alguns métodos que você pode ter usado no passado para criar esse atraso ao informar o usuário que a chamada de pagamento está sendo feita?

Você não deseja atrasar o processo, pois o processamento do pagamento incorrerá em sobrecarga suficiente para que o atraso natural ocorra por si só. Seu objetivo neste momento para evitar envios duplicados e informar ao usuário que algo está acontecendo enquanto espera. Desativar o botão Enviar é uma boa ideia. Além disso, criar uma chave única para esse processo de checkout que também precisa ser enviado com o pedido é uma boa ideia. Quando eles enviam o pagamento, você verifica essa chave e verifique se ela está lá (geralmente está em uma variável de sessão). Se for excluí -lo e processe a transação, se eles enviarem o formulário novamente, ele poderá ser sinalizado como uma transação duplicada.

Quais são alguns métodos que você pode ter usado no passado para operar melhor a função de retorno de chamada que notifica se a transação foi aprovada ou recusada?

O gateway de pagamento retornará um valor aprovado, recusado ou de erro. Nada chique, então realmente não há manuseio sofisticado. A transação aprovada deve ter todas as ações relevantes do pedido e do banco de dados executadas e, em seguida, o usuário deve ser levado para uma página de agradecimento/recibo. Erros e declínios podem ser tratados de maneira semelhante, com o usuário sendo apresentado com a página de checkout novamente. Se o cartão for recusado, deixe o usuário saber educadamente que seu banco recusou a transação e os convidou a usar um cartão de crédito diferente. Se houver um erro de processamento, você poderá solicitar que eles tentem novamente ou direcioná -los para entrar em contato com você por telefone para fazer o pedido.

Alguém encontrou o processamento de todas essas informações no mesmo script usando PHP_SELHE para a ação, ou geralmente é melhor colocar essa lógica em outro lugar?

Tomate, Tomáto. Tudo depende do seu estilo de programação. Ter o processo de pagamento na mesma página que o formulário é bom. Eu fiz isso. Tudo o que importa é que o pagamento seja tratado corretamente e o usuário vê o que precisa ver. O que acontece em segundo plano não importa para eles.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top