Callback
Não obstante o manual de callback para pagamentos como Multibanco, MB Way e Payshop para pagamentos e/ou subscrições com Cartões de Crédito/Débito, Apple Pay e Google Pay, assim que o movimento for considerado válido, a lusopay irá disparar uma comunicação POST para o URL indicado na área de homebanking a dar conta do estado do pagamento, para além do redirecionamento no final do pagamento para o URL explicado no início do capítulo 5.7. As informações que irão seguir são, desta forma:
https://exemploURLdefinido.com?PID=cliente07&OID=1213&CPM=P7&S=pending
A notificação é enviada através de um pedido HTTP POST, com o corpo em formato application/x-www-form-urlencoded:
POST {URL_CALLBACK_DO_COMERCIANTE}Content-Type: application/x-www-form-urlencoded; charset=UTF-8Accept: application/jsont: {clientGuid}O pedido inclui o cabeçalho t, que contém a clientGuid associada ao comerciante.
t: {clientGuid}O comerciante deverá, para segurança acrescida, validar este valor contra a clientGuid previamente conhecida para o PID utilizado na geração do link de pagamento.
O endpoint configurado para receção do callback deverá devolver uma resposta HTTP válida, preferencialmente com código 200 OK, 201 Created, 202 Accepted ou 204 No Content, num curto intervalo de tempo.
A resposta não deverá de conter um URL de redirecionamento, nem qualquer outro conteúdo específico. Caso seja devolvido JSON, recomenda-se a utilização de uma resposta simples, por exemplo:
{
"status": "OK"
}A lusopay considera o callback entregue quando o endpoint responde com sucesso HTTP. Se o endpoint não devolver qualquer resposta dentro do tempo limite definido, a tentativa será registada como falhada por timeout, ainda que o pagamento tenha sido concluído com sucesso.
O URL de redirecionamento final do utilizador não é determinado pela resposta ao callback. Qualquer URL devolvido no corpo da resposta ao callback será ignorado para efeitos de redirecionamento.