Callback
Callback do ControlPay para uma URL usuário após transações e impressões.
Antes de usar as APIs...
Certifique-se de ter verificado as secções de APIs e Chave de Integração, além de ter lido as nossas Informações preliminares.
Callbacks
Também conhecido como webhook, esta funcionalidade permite ao sistema que gerou uma transação no ControlPay que receba uma notificação quando finalizada. Tanto autorizada, quanto negada ou cancelada, o sistema receberá uma notificação de callback.
As informações enviadas no callback permitirão a identificação da transação. Após acatar notificação, o sistema deverá consultar a transação no ControlPay através das APIs listadas acima. Essa prática é comum, pois enviar no callback o status final não é seguro.
Caso o sistema retorne um status code diferente do range de 200 (ex: 200 ou 201) sobre o callback, o ControlPay irá realizar nova tentativa do callback após 2 minutos, se na próxima tentativa também retornar status code diferente do range 200, irá retentar após 4 minutos, assim consecutivamente depois de 8, 16 e 32 minutos.
OBS: O sistema deve retornar status code com range 200 apenas para callback recebido com sucesso. Se o status code com range de 200 for retornado, não será mais enviado callback.
Cadastro das URLs callback
A seguir, temos um passo-a-passo de como cadastrar URLs de callback na plataforma:
-
Clique no menu à direita (onde se encontra o nome do usuário).
-
Em seguida clique em "Integrações/Config.".
-
Em seguida, vá à aba "Integração".
-
Na aba, insira a URL de callback de venda, a qual será notificada das intenções de venda.
-
Em seguida, clique na aba "Impressora".
-
Na aba, insira a URL de callback de impressão, a qual será notificada das intenções de impressão.
Observação
O ControlPay concatena a URL cadastrada com o conteúdo necessário para o envio, adicionando o caractere '?' para identificar o início da API. Porém, caso seja cadastrada a URL com o caractere '?', o ControlPay o identificará e concatenará a partir do caractere '&'.
POST Callback Intenção de venda
seusite.com.br/seuservico?cpfCnpj={{CpfCnpj}}&intencaoVendaId={{ControlPayId}}&intencaoVendaReferencia={{SeuId}}&pedidoId={{ControlPayPedidoId}}&pedidoReferencia={{SeuPedidoId}}
Variáveis:
CpfCnpj: CPF/CNPJ.
ControlPayId: ID ControlPay da intenção de venda.
SeuId: Sua referência da intenção de venda.
ControlPayPedidoId: ID ControlPay do pedido.
SeuPedidoId: Sua referência do pedido.
Callback para a intenção de venda. Se não houve registro de pedido, o pedidoId e o pedidoReferencia estarão em branco.
HEADERS | |
---|---|
Content-Type | application/json |
User-Agent | NomeDaAutomacao/1.0 |
PARAMS | |
---|---|
cpfCnpj | {{CpfCnpj}} |
intencaoVendaId | {{ControlPayId}} |
intencaoVendaReferencia | {{SeuId}} |
pedidoId | {{ControlPayPedidoId}} |
pedidoReferencia | {{SeuPedidoId}} |
Exemplo: Callback de venda
curl --location --request POST 'seusite.com.br/seuservico?cpfCnpj={{CpfCnpj}}&intencaoVendaId={{ControlPayId}}&intencaoVendaReferencia={{SeuId}}&pedidoId={{ControlPayPedidoId}}&pedidoReferencia={{SeuPedidoId}}' \
--header 'Content-Type: application/json' \
--header 'User-Agent: NomeDaAutomacao/1.0' \
--data-raw ''
POST Callback Intenção impressão
seusite.com.br/seuservico?intencaoImpressaoId={{ControlPayId}}&intencaoImpressaoReferencia={{SeuId}}&intencaoImpressaoStatus={{Status}}
Variáveis:
ControlPayId: ID ControlPay da intenção de impressão.
SeuId: Seu ID da intenção de impressão.
Status: Status (ID) da impressão.
Os status retornáveis são:
Status | Valor |
---|---|
ImpressaoEnviada | 5 |
Imprimindo | 10 |
Impresso | 15 |
Expirado | 20 |
ErroImpressao | 25 |
PARAMS | |
---|---|
intencaoImpressaoId | {{ControlPayId}} |
intencaoImpressaoReferencia | {{SeuId}} |
intencaoImpressaoStatus | {{Status}} |
Exemplo: Callback de impressão
curl --location --request POST 'seusite.com.br/seuservico?intencaoImpressaoId={{ControlPayId}}&intencaoImpressaoReferencia={{SeuId}}&intencaoImpressaoStatus={{Status}}'
Updated about 1 month ago