Objeto-resposta Postback

Ao criar uma transação ou uma assinatura, você tem a opção de passar o parâmetro postback_url na requisição, sendo esta uma URL de seu sistema que irá receber notificações a cada alteração de status dessas transações/assinaturas.

1. Propriedades de um postback

Propriedades específicas do postback:

PropriedadeDescrição
object
String
Nome do tipo do objeto criado/modificado.
Valor retornado: postback
status
String
Status atual do postback. Pode ser: processing, waiting_retry, pending_retry, failed, success
model
String
A que tipo de objeto o postback se relaciona. Pode ser 'transaction', 'subscription' ou 'recipient'
model_id
String
Id do objeto relacionado.
headers
String
String com formato json dos headers enviados no postback
payload
String
Corpo do postback, envolve o conteúdo do objeto a que corresponde a notificação. Dentre eles transaction, subscription e recipient. Mais na seção a seguir.
request_url
String
URL para onde o postback foi enviado
retries
Integer
Quantidade de reenvios. A primeira tentativa não conta como uma retentativa
next_retry
Datetime
Data e hora do próximo reenvio.
deliveries
Array com objetos do tipo postback_delivery
Lista das tentativas até então. Retornam informações sobre a comunicação entre nossos servidores e sua aplicação, descrevendo status response header, etc.
date_created
Datetime
Data de criação
date_updated
Datetime
Data da ultima mudança
signature
String
Hmac SHA1 do payload
id
String
ID do postback

2. Payload de um postback

Você irá receber em sua postback_url, isto é, seu servidor, uma propriedade chamada payload, em formato de query string, e que contém as informações do evento que ocorreu junto à transação ou assinatura de sua company. A seguir mais detalhes sobre cada propriedade:

PropriedadeDescrição
id
String
ID do objeto sendo enviado no payload. Objetos possíveis: transação, assinatura ou recebedor.
fingerprint
String
Hash gerada para validação do postback em seu servidor.
event
String
Define qual evento aconteceu para que o postback tenha sido enviado. Valores possíveis: transaction_status_changed, subscription_status_changed, recipient_status_changed, transaction_created.
old_status
String
Indica qual o status antigo do objeto sendo enviado.
desired_status
String
Indica qual o status ideal para objetos deste tipo, em um fluxo normal.
current_status
String
Indica qual o real status do objeto.
objectObjeto enviado e que teve mudanças significativas, para iniciar um postback. Valores possíveis: transaction, subscription ou recipient.

3. Observações sobre postback

🚧

Atenção

Não é possível alterar a URL de postback de uma transaction, subscription ou recipient.

❗️

Problemas com POSTback?

Alguns pontos a considerar:

-Houve alguma mudança de url do seu sistema? Por exemplo : https://lojateste.com.br para https://novalojateste.com.br ; Se sim, você deve redirecionar os postbacks para sua nova url.

-Houve troca de protocolo? Por exemplo : http://lojateste.com.br para https://lojateste.com.br ; Este caso também requer que você mantenha ambas URLs funcionando, e redirecionando postback de acordo com necessidade. Caso tenha mais dúvidas, entre em contato com [email protected] que podemos te ajudar ;)

4. Postback deliveries

Cada tentativa de envio de postback cria uma nova entidade de delivery. Ou seja, um novo registro de tentativa, bem-sucedida ou não, de entrega de postback à sua aplicação. Segue a descrição de cada propriedade de um delivery:

PropriedadeDescrição
object
String
Nome do tipo do objeto criado/modificado.
Valor retornado: postback_delivery
status
String
Status do delivery. Pode ser: processing, failed, success
status_reason
String
Razão do status. Pode ser http_status_code ou null
status_code
String
Http status recebido como response de seus servidores.
response_time
Integer
Milissegundos entre envio do postback e a response
response_headers
String
Headers da response do postback
response_body
String
Corpo da resposta do postback. Esta é a response que seus servidores enviaram à API Pagar.me
date_created
Datetime
Data de criação do delivery
date_updated
Datetime
Data da última atualização do delivery
id
String
ID do delivery