Gerenciar os prazos de espera (Timeout)

O tratamento de uma solicitação serviço web articula-se em torno de uma serie de eventos assíncronos tal como:

  • o envio da solicitação via a rede do site do vendedor,
  • o transporte das informações na rede internet,
  • o tratamento do pagamento pela plataforma,
  • a interrogação dos servidores bancários, etc

Um incidente pode ocorrer a qualquer etapa e aumentar o tempo de tratamento (e portanto o tempo de espera para o comprador).

A resposta a uma solicitação pode atrasar por múltiplas razões:

  • Um tempo longo de resposta por parte do emissor do cartão do portador (no caso de cartões provenientes de fora do país, no caso de período correspondentes à alta atividade tal como o dia das mães, natal,...).
  • Um tempo longo de resposta por parte do comprador durante a transmissão e a recepção da solicitação de autorização.
  • Um tempo longo de resposta na sua aplicação devido a uma carga importante.
  • Um tempo longo de resposta da plataforma de pagamento
  • Um problema de peering na Internet podendo ocasionar perdas de mensagens, etc...

Em função dos prazos configurados, você não pode receber resposta enquanto o tratamento assíncrono continua em execução na plataforma de pagamento.

Um tempo longo de tratamento não deve ser considerado como um pagamento recusado.

Portanto, você deve configurar seu código para gerenciar os problemas potenciais que podem resultar da conexão ao API SOAP.

Recomendações

O tempo médio de tratamento de uma solicitação de pagamento pela plataforma é menor que 5 segundos.

Você deve definir um prazo de espera de 20 até 30 segundos para o comprador.

Enquanto isso, você pode:

  • Informar o comprador que o pagamento dele está em processamento. Enquanto isso, você pode consultar o status da transação na plataforma de pagamento e voltar quando o resultado final for exibido.
  • Informar o comprador que o pagamento dele foi recusado garantindo previamente que você não tem que validar manualmente o pagamento na plataforma de pagamento.