@Xossy Quando você criar uma assinatura você utiliza o parâmetro metadata>notification_url definindo uma URL de retorno.
Assim a cada cobrança que for criada e paga, mensalmente por exemplo, será enviado uma notificação para seu sistema com o notification_token da assinatura (https://dev.gerencianet.com.br/docs/entendendo-fluxo-notificacoes).
Ao receber o notification_token, seu sistema deverá consultá-lo para obter os detalhes da notificação (https://dev.gerencianet.com.br/docs/notificacoes-recebendo#2-consultando-detalhes-de-uma-notifica%C3%A7%C3%A3o), e então obter o json semelhante ao seguinte:
json
{
"code": 200,
"data": [
{
"id": 1,
"type": "subscription",
"custom_id": null,
"status": {
"current": "new",
"previous": null
},
"identifiers": {
"subscription_id": 11976
},
"created_at": "2017-07-20 00:20:16"
},
{
"id": 2,
"type": "subscription",
"custom_id": null,
"status": {
"current": "new_charge",
"previous": "new"
},
"identifiers": {
"subscription_id": 11976
},
"created_at": "2017-07-20 00:20:16"
},
{
"id": 3,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "new",
"previous": null
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2396478
},
"created_at": "2017-07-20 00:20:16"
}
]
}
neste Json você vai capturar o array com que te mostra todo histórico da assinatura.
Então você deverá capturar em cada laço desse json. Se o laço conter o
"type": "subscription", significa que ele se refere a um registro de alteração da assinatura.
Se em outro laço conter o
"type": "subscription_charge", significa que ele se refere a um registro de alteração de uma cobrança, então você poderá verificar o status>current, subscription_id a qual se refere.
Veja o exemplo completo da resposta ao consultar o token de notificação de uma assinatura:
https://dev.gerencianet.com.br/docs/notificacoes-recebendo#21-exemplos-de-respostas