1. Paycheckout
  2. API WebHook

Paycheckout

Webhook

Caso seja sua preferência, é possível implementar um Webhook em um sistema externo para receber notificações sobre pagamentos Aprovado ou Rejeitado usando a chave gerada pelo Sistema Bass Pago.

Quando ocorrer um pagamento, o sistema realizará uma requisição POST para o endereço fornecido no campo “URL do webhook”, transmitindo os seguintes parâmetros:

HEADERS
Content-Type application/json
X-PayCheckout-Key key (A chave Checkout usada é enviada no cabeçalho)
BODY - raw
        {
	"referenceNumber": "PCH64YBCN5Z",
	"status": "APPROVED",
	"type": "PIX"
}

      

Os estados a serem enviados serão “APPROVED” (Aprovado) ou “REJECTED” (Rejeitado).

Os tipos (type) de envio compreendem:

  • PIX
  • BOLETO

O sistema efetuará uma requisição. Caso não seja obtido o código de resposta 200, serão feitas até 5 solicitações, com intervalo de 5 minutos entre cada uma.

WARNING

O WeHook deve ser usado apenas como aviso. Nunca confie totalmente em um WebHook. Existem APIs para conciliar o pagamento.

Verifique o status do pagamento

O que se indica é que, uma vez recebida a notificação via webhook da alteração do status de um Checkout, a API de conciliação seja consultada.

No menu APIs de Conciliação > Verificação do Status do Checkout via API

Verifique WebHooks pendentes e encaminhamento de WebHook

É possível verificar a quantidade de WebHooks não reportados. Isto é que, no momento do envio do WebHook, não foi recebida uma resposta correta (Código 200) do servidor do cliente

URL
https://serviceappi.com/basspago-sandbox/api/public/payments/checkout/get-paycheckout-webhook-info
HEADERS
Content-Type application/json
Encrypted-Security-Code 585709243631817c3125e41747a96782e06b1dedd5eb6d7cfc430189e5384b888531dbda
BODY - raw
        {
	"key": "BYJ0ZzDl9NtM59jaGPJVLVCEb5qR5Wp7"
}

      

O header "Encrypted-Security-Code", é uma assinatura HMAC gerada através de uma cadeia criada com a chave publica, deixando essa cadeia pronta para ser assinada com o SHA-512 HMAC, conforme o seguinte processo:

        key=CHAVE_PUBLICA

      

Um exemplo seria:

        key=xm9RSLfh3QW4PvFkIaDItbdjkdzyo2kZ

      

Uma vez assinado com SHA-512 HMAC permanece com este formato:

        585709243631817c3125e41747a96782e06b1dedd5eb6d7cfc430189e5384b888531dbda

      

A resposta retorna o número de WebHooks em que uma resposta não foi recebida do servidor do cliente. Se a quantidade for 0, então não há pendências

RESPONSE
        {
    "totalItems": 0
}

      

Encaminhamento de WebHook

Caso o campo totalItems retorne maior que 0, é possível reenviar todos os webhooks pendentes.

URL
https://serviceappi.com/basspago-sandbox/api/public/payments/checkout/resend-paycheckout-webhook
HEADERS
Content-Type application/json
Encrypted-Security-Code 585709243631817c3125e41747a96782e06b1dedd5eb6d7cfc430189e5384b888531dbda
BODY - raw
        {
	"key": "BYJ0ZzDl9NtM59jaGPJVLVCEb5qR5Wp7"
}

      
WARNING

O intervalo de envio entre cada webhook é de 10 segundos. É aconselhável implementar algum processo de fila assíncrona e evitar atrasos na resposta.