gerencianet / gn-api-sdk-php

SDK em PHP integrada às APIs da Gerencianet preparada para emissão de cobranças Pix com QR Code e Pix Copia e Cola, split/divisão de Pix, boletos, carnês, cartão de crédito, assinatura, link de pagamento, marketplance, iniciação de pagamento Pix via Open Finance, pagamento de boletos, dentre outras funcionalidades.
https://dev.gerencianet.com.br/docs/instalacao-sdk-php
MIT License
86 stars 45 forks source link

Callback para confirmação de pagamento - Como pegar o token? #18

Closed Luc45 closed 5 years ago

Luc45 commented 5 years ago

Bom dia!

Estou tendo dificuldades com o callback de pagamento do boleto, aquele payload que a Gerencianet envia para a minha URL de notificação com o status de pagamento para que meu sistema possa atualizar seu status interno.

Mais especificamente, isto: https://dev.gerencianet.com.br/docs/notificacoes-recebendo#section-2-consultando-detalhes-de-uma-notifica-o

A dificuldade que estou tendo é em pegar o Token da notificação, uma vez que preciso dele para solicitar o status de pagamento na API do GerenciaNet.

O Payload de notificação (callback) enviado pela GerenciaNet possui o seguinte formato:

$_POST:

array(2) {
    ["code"] =>  int(200)
    ["data"] =>  array(2) {
        [0] => array(6) {
            ["id"] => int(1)
            ["type"] => string(6) "charge"
            ["custom_id"] => string(2) "11"
            ["status"] => array(2) {
                ["current"] =>   string(3) "new"
                ["previous"] =>   null
            }
            ["identifiers"] => array(1) {
                    ["charge_id"] =>   int(140609999)
            }
            ["created_at"] => string(19) "2019-02-28 19:15:33"
        }
        [1] => array(6) {
            ["id"] => int(2)
            ["type"] => string(6) "charge"
            ["custom_id"] => string(2) "11"
            ["status"] => array(2) {
                ["current"] =>   string(7) "waiting"
                ["previous"] =>   string(3) "new"
            }
            ["identifiers"] => array(1) {
                    ["charge_id"] =>   int(140609999)
            }
            ["created_at"] => string(19) "2019-02-28 19:15:33"
        }
  }
}

Como pode ver, não tem o Token que preciso para consultar na API o status daquele boleto: 2019-03-01_08-33-08

Uma informação adicional que pode ser útil, quando crio o boleto, minha URL de notificação é gerada desta forma: meusite.com?invoiceid=ID&hash=HASH

Luc45 commented 5 years ago

Fechando issue... Eu estava tentando re-enviar a notificação pela plataforma da Gerencia Net, mas ele estava me retornando outra coisa.... Quando testei com um boleto de verdade ele enviou o $_POST['notification'].

Vocês podiam revisar essa parte de re-enviar notificação... Por exemplo, adicionar um botão "Reenviar Notificação" quando visualizando uma notificação individual: 2019-03-01_09-11-12

Similar ao re-enviar webhook do GitHub.

Abraços!