-
Ruan Gabriel de Barros authored5f8e1266
Integração de Pagamentos
Projeto desenvolvido com APIs para integração de sistemas com o gateway de pagamentos Iugu, Pagarme e Vindi.
A Seguir na Documentação
- Integração de Pagamentos
- A Seguir na Documentação
- Operações Iugu
- Operações Pagarme
- Operações Vindi
- Gatilhos
- Processos Agendados
- Notificação de Observadores dos Gatilhos e Processos Agendados
Ambientes
Elemento | Ambiente | URL/Descrição |
---|---|---|
API Docs | DEV | http://gtiserver02:8081/gtisolutiongatewaypagamentosapi/swagger |
API Docs | HOMOLOG | http://54.233.69.28/gtisolutiongatewaypagamentosapi/ |
API Docs | PROD | https://portal.pingseguro.com.br/PingGatewayPagamentosAPI/ |
Banco de dados | DEV/HOMOLOG/PROD | PingControlePagamento |
IMPORTANTE: Pode haver divergência da documentação em relação aos ambientes. A princípio, a versão mais atualizada é sempre a de DEV, sendo a de PROD a última a ser atualizada. Portanto, sempre consulte a documentação do ambiente em que está trabalhando.
Fluxo de Criação de uma Fatura
Antes de efetivamente criarmos uma fatura na Iugu, os dados são criados em nossa base de dados para que em um eventual problema, possamos regerar se necessário.
sequenceDiagram
App->>+API: 1. Criar Fatura
API->>+API: 2. Grava Cliente
API->>+API: 3. Grava Fatura
API->>+Iugu: 4. Criar Cliente
Iugu-->>-API: 5. Retorna Id
API->>+Iugu: 6. Criar Fatura
Iugu-->>-API: 7. Rerorna Fatura
API->>+API: 8. Atualiza Id da Fatura
API-->>-App: 9. Retorna Fatura
Operações Comuns
As operações abaixo são comuns a todos os gateways de pagamentos, pois apenas realizam consulta na nossa base de dados, sem acesso a nenhum gateway específico.
Consulta de Fatura
GET /pagamentos/v1/fatura/{id}
Recupera os dados gerais da fatura, bem como parcelas e splits de pagamento, caso existam.
Parcelas são geradas após a execução do gatilho
Fatura Criada
e os Splits de pagamento (apenas Iugu), após a execução do gatilhoFatura Paga
.
Consulta de Parcelas
GET /pagamentos/v1/fatura/{id}/parcelas
Recupera os dados das parcelas de uma fatura.
Parcelas são geradas após a execução do gatilhos
Fatura Criada
.
Criação de Fatura no Banco de Dados
Esta operação é utilizada para os casos em que a fatura é criada diretamente no provedor de pagamentos por outra aplicação, como por exemplo, quando o API de criação de fatura do provedor é chamada direto pela aplicação web e não por esse gateway de pagamentos.
Este endpoit cria a estrutura de Fatura, Itens da Fatura, Cliente da Fatura e Parcelas da Fatura.
POST /pagamentos/v1/fatura
Esta opção foi criada para atender à Accesstage que não tem a opção de criação da primeira fatura utilizando token de cartão de crédito mas, apenas com os dados do cartão.
Operações Iugu
Operações Pagarme
Operações Vindi
Gatilhos
Os gatilhos são enviados pelos gatewais de pagamento a cada evento que ocorre em uma fatura e são processamentos realizados de forma offline
, abaixo os eventos que estão sendo tratados.
Evento | Gateway | Ação | Observações |
---|---|---|---|
Fatura Criada | Iugu, Pagarme e Vindi | Criação do registro de parcelas | Mesmo a fatura sendo à vista, é criada uma parcela |
Fatura Paga | Iugu e Vindi | Marcação da data de pagamento da fatura na parcela (à vista) | Para faturas parceladas, essa marcação é feita no evento de Parcela Paga . Neste momento ocorrerá a criação da configuração do split de pagamento, caso a fatura o tenha |
Fatura Cancelada | Iugu e Pagarme | Marcação da data de cancelamento na fatura | Para faturas parceladas, todas as parcelas restantes e não pagas serão marcadas como canceladas |
Fatura Estornada | Iugu e Pagarme | Marcação da data de estorno na fatura | Para faturas parceladas, todas as parcelas pagas serão marcadas como estornadas, as demais como canceladas |
Parcela Paga | Iugu | Marcação da data de pagamento na parcela | |
Em Análise | Iugu | Criação da data de análise na fatura | Evento disparado quando cobrança em duas etapas |
Processos Agendados
Os processos agendados são realizados de forma offline
e são executados de forma periódica, abaixo os eventos que estão sendo tratados.
Evento | Gateway | Ação | Periodicidade | Observações |
---|---|---|---|---|
Parcela Paga | Pagarme | Marcação da data de pagamento na parcela | Diária | Ver Detalhes |
Notificação de Observadores dos Gatilhos e Processos Agendados
Há a possibilidade de cadastrar observadores para cada gatilho e assim que o mesmo for processado com sucesso, os observadores serão notificados e poderão realizar alguma ação.
Ao processar um gatilho de Fatura Paga
, a sua aplicação será notificada para que possa realizar alguma ação, como por exemplo, marcar o pagamento da mesma no seu sistema.
Modelo do Json Enviado aos Observadores
{
"ChaveIdentExterna": "ABC123", // Chave de identificação da fatura no seu sistema
"IdFatura": "698EB9B1D64E4901A838DB59F6E754A2",
"IdAssinatura": null, // Caso a fatura seja de uma assinatura
"NumeroParcela": null, // Caso a fatura seja parcelada
"NumeroParcelas": null, // Caso a fatura seja parcelada
"DataVencimento": "2023-03-12",
"DataProcessamento": "2023-03-12",
"DataPagamento": "2023-03-12",
"ValorParcela": null, // Caso a fatura seja parcelada
"Status": "fatura.paga"
}
Cadastro de Observadores
Abaixo a relação de tabelas que precisam ser cadastradas.
Tabela | Coluna | Descrição | Observações |
---|---|---|---|
Aplicacao | Id | Identificador da aplicação | Formato de GUID |
Aplicacao | NomeAplicacao | Nome da aplicação | |
EventoAplicacao | Id | Identificador do Evento | Formato de GUID |
EventoAplicacao | TipoEvento | Tipo de Evento | Ex.: fatura.paga (vide relação abaixo) |
GatilhoAplicacao | Id | Identificador do Gatilho | Formato de GUID |
GatilhoAplicacao | IdEvento | Id do Evento | Da tabela EventoAplicacao
|
GatilhoAplicacao | IdAplicacao | Id da Aplicação | Da tabela Aplicacao
|
GatilhoAplicacao | Url | Url que receberá os dados | Deve ser POST |
GatilhoAplicacao | Autenticacao | Token de autenticação, se necessário | Será passado como Basic
|
Tipos de Eventos
Evento | Gateway | Descrição |
---|---|---|
fatura.pendente | Iugu | Quando ainda não foi processado o pagamento da fatura |
fatura.paga | Iugu, Pagarme e Vindi | Quando a fatura em boleto foi paga ou quando foi aceita pela adiquirente de cartão de crédito |
fatura.cancelada | Iugu e Pagarme | Quando solicitado o cancelamento total da fatura |
fatura.estornada | Iugu e Pagarme | Quando solicitado o estorno/cancelamento total da fatura |
fatura.parcialmente_estornada | Pagarme | Quando foi estornado apenas uma parte do valor do total da fatura |
fatura.aguardando_captura | Iugu | Quando a fatura criada em duas etapas e está aguardando "efetivar" a compra |
fatura.parcela_paga | Iugu e Pagarme | Quando uma parcela foi paga |