Callback

Callback do ControlPay para uma URL usuário após transações e impressões.

🚧

Esta documentação está desatualizada.

Para informações sempre atualizadas, acesse https://paygodev.readme.io/docs.

🚧

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-Typeapplication/json
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' \
--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:

StatusValor
ImpressaoEnviada5
Imprimindo10
Impresso15
Expirado20
ErroImpressao25
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}}'