# Developers Vindi Documentation
> Potencialize seu negócio com as APIs da Vindi. Confira tutoriais para plataformas como Shopify, Woocommerce, Wake, Tray, Magento, e muito mais, além manuais de integração e tudo o que você precisa para começar.
## Guides
- [Soluções Vindi](https://developers.vindi.com.br/docs/solucoes.md): Soluções desenhadas para o seu modelo de venda. Independentemente da complexidade da sua operação, a Vindi entrega as ferramentas certas para você focar no que realmente importa: o crescimento do seu negócio.
- [Status dos Serviços Vindi](https://developers.vindi.com.br/docs/status-page.md)
- [Vindi Service: Assinaturas/Recorrências](https://developers.vindi.com.br/docs/venda-recorrente.md): Potencialize suas vendas recorrentes com a a primeira e melhor plataforma de recorrência para automatizar sua gestão e reduzir a inadimplência.
- [Canais de Atendimentos](https://developers.vindi.com.br/docs/canais-de-atendimentos.md)
- [Acesso a Plataforma](https://developers.vindi.com.br/docs/acesso-a-plataforma.md)
- [Ambiente para Testes](https://developers.vindi.com.br/docs/ambiente-para-testes.md): Antes de começar a descobrir todas as possibilidades da plataforma Vindi, é hora de conhecer o nossos ambientes disponiveis
- [Testes em Sandbox](https://developers.vindi.com.br/docs/sandbox-testes.md): Use o ambiente de sandbox para testes
- [Testes na Referência da API](https://developers.vindi.com.br/docs/referencia-da-api-testes.md): Agora é possivel testar diretamente da nossa documentação
- [Quais números de cartões posso usar para teste?](https://developers.vindi.com.br/docs/modo-trial-e-sandbox-quais-números-de-cartões-posso-usar-para-teste.md)
- [Entidades Básicas](https://developers.vindi.com.br/docs/entidades-basicas.md): Para operar a plataforma Vindi é essencial conhecer as entidades básicas do sistema.
- [Cliente](https://developers.vindi.com.br/docs/cliente.md): Definição do que é a cliente na plataforma
- [Produto](https://developers.vindi.com.br/docs/produto.md): Definição do que é a entidade produto na plataforma
- [Plano](https://developers.vindi.com.br/docs/plano.md): Definição do que é a entidade plano na plataforma
- [Assinatura](https://developers.vindi.com.br/docs/assinatura.md): Definição do que é a entidade assinatura na plataforma
- [Período](https://developers.vindi.com.br/docs/período.md): Definição do que é a entidade período na plataforma
- [Fatura](https://developers.vindi.com.br/docs/fatura.md): Definição do que é a entidade fatura na plataforma
- [Cobrança](https://developers.vindi.com.br/docs/cobrança.md): Definição do que é a entidade cobrança na plataforma
- [Transação](https://developers.vindi.com.br/docs/transacao.md): Definição do que é a entidade transação na plataforma
- [A plataforma](https://developers.vindi.com.br/docs/a-plataforma.md)
- [Nossa Dashboard](https://developers.vindi.com.br/docs/nossa-dashboard.md)
- [Criar um produto](https://developers.vindi.com.br/docs/criar-um-produto-video.md)
- [Criar um plano e assinaturas](https://developers.vindi.com.br/docs/criar-plano-e-assinaturas-video.md)
- [Cadastrar um cliente](https://developers.vindi.com.br/docs/cadastrar-um-cliente.md)
- [Criar perfil de pagamento e assinatura](https://developers.vindi.com.br/docs/criar-perfil-de-pagamento.md)
- [Clientes](https://developers.vindi.com.br/docs/clientes.md)
- [Diferença entre os quatro tipos de clientes](https://developers.vindi.com.br/docs/diferenca-entre-os-quatro-tipos-clientes.md)
- [importação de clientes em massa](https://developers.vindi.com.br/docs/importacao-de-clientes-em-massa.md): Introdução a importação de clientes em massa
- [Vídeo Importação de clientes em massa](https://developers.vindi.com.br/docs/video-importacao-de-clientes-em-massa.md)
- [Passo 1 importação de clientes em massa](https://developers.vindi.com.br/docs/importação-de-clientes-em-massa-passo1.md): Passo um da importação de clientes em massa
- [Passo 2 importação de clientes em massa](https://developers.vindi.com.br/docs/importação-de-clientes-em-massa-passo2.md): Passo dois da importação de clientes em massa
- [Passo 3 importação de clientes em massa](https://developers.vindi.com.br/docs/importação-de-clientes-em-massa-passo3.md): Passo três da importação de clientes em massa
- [Passo 4 importação de clientes em massa](https://developers.vindi.com.br/docs/importação-de-clientes-em-massa-passo4.md): Passo quatro da importação de clientes em massa
- [Acesso e Permissões](https://developers.vindi.com.br/docs/importação-de-clientes-em-massa-acessos-e-permissoes.md): Acessos e Permissões para importação de clientes em massa
- [Produtos e Planos](https://developers.vindi.com.br/docs/produtos-e-planos.md): Como criar um produto: vendendo na Vindi Recorrência
- [Precificação de produtos](https://developers.vindi.com.br/docs/precificacao-de-produtos.md)
- [Cadastro de plano](https://developers.vindi.com.br/docs/cadastro-de-plano.md): Como criar planos para serem usados nas assinaturas de forma recorrente
- [Assinaturas](https://developers.vindi.com.br/docs/assinaturas.md)
- [Cancelar uma assinatura](https://developers.vindi.com.br/docs/cancelar-uma-assinatura.md)
- [Reativar assinaturas canceladas](https://developers.vindi.com.br/docs/reativar-assinaturas-canceladas.md)
- [Cobranças](https://developers.vindi.com.br/docs/cobrancas.md)
- [Editar períodos](https://developers.vindi.com.br/docs/editar-periodos.md)
- [Configurar Boleto Bradesco](https://developers.vindi.com.br/docs/configurar-boleto-bradesco.md)
- [Registro de emissão via banco](https://developers.vindi.com.br/docs/regsitro-de-emissao-via-banco.md)
- [Registro de Remessa via Webservice Bradesco](https://developers.vindi.com.br/docs/registro-de-remessa-via-webservice-bradesco.md)
- [Estorno ou Chargeback](https://developers.vindi.com.br/docs/estorno-ou-chargeback.md)
- [Estornar cobrança](https://developers.vindi.com.br/docs/estornar-cobranca.md)
- [Estorno PIX](https://developers.vindi.com.br/docs/estorno-pix.md): Estorno PIX
- [Estorno Parcial](https://developers.vindi.com.br/docs/estorno-parcial.md): Estorno parcial
- [Estorno via API](https://developers.vindi.com.br/docs/estorno-via-api.md): Estorno via API
- [Revisão manual de cobrança](https://developers.vindi.com.br/docs/revisão-manual-de-cobrança.md)
- [Reagendamento de cobranças de assinaturas](https://developers.vindi.com.br/docs/reagendamento-de-cobrancas-de-assinaturas.md)
- [Cenário 1 - Retardando a próxima cobrança](https://developers.vindi.com.br/docs/cenario-1-reagendamento-cobranca.md): Retardando a próxima cobrança
- [Cenário 2 - Adiantando a próxima cobrança](https://developers.vindi.com.br/docs/cenario-2-adiantando-a-proxima-cobranca.md): Adiantando a próxima cobrança
- [Cenário 3 - "Pulando" a próxima cobrança](https://developers.vindi.com.br/docs/cenario-3-pulando-a-proxima-cobranca.md): "Pulando" a próxima cobrança
- [Via API Reagendamento de cobrança](https://developers.vindi.com.br/docs/reagendamento-de-cobranca-via-api.md)
- [Faturas](https://developers.vindi.com.br/docs/faturas.md)
- [Fatura Avulsa](https://developers.vindi.com.br/docs/fatura-avulsa.md)
- [Fatura de Assinaturas](https://developers.vindi.com.br/docs/fatura-de-assinaturas.md)
- [DataOnly com E-Rede](https://developers.vindi.com.br/docs/dataonly-com-e-rede.md)
- [BrandTID](https://developers.vindi.com.br/docs/brandtid.md)
- [Métodos de pagamentos](https://developers.vindi.com.br/docs/metodos-de-pagamentos.md)
- [Cartão de crédito](https://developers.vindi.com.br/docs/cartao-de-credito.md)
- [Bandeiras de cartão de crédito aceitas pela Vindi](https://developers.vindi.com.br/docs/bandeiras-de-cartão-de-crédito-aceitas-pela-vindi.md)
- [ Autenticação 3DS 2.0](https://developers.vindi.com.br/docs/3ds.md)
- [Boleto bancário](https://developers.vindi.com.br/docs/boleto-bancario.md)
- [Gerando boleto registrado](https://developers.vindi.com.br/docs/gerando-boleto-registrado.md)
- [Carteiras Suportadas](https://developers.vindi.com.br/docs/carteiras-suportadas.md)
- [Erros de HTTP](https://developers.vindi.com.br/docs/erros-de-http.md): Nota de erros de conexão e assinaturas
- [Débito em conta corrente (ou débito automático)](https://developers.vindi.com.br/docs/debito-conta-corrente-ou-debito-automatico.md)
- [Lista de bancos suportados](https://developers.vindi.com.br/docs/lista-de-bancos-suportados.md): Lista de bancos suportados na cobrança via débito em conta
- [Códigos de retorno nos arquivos de importação](https://developers.vindi.com.br/docs/codigos-de-retorno-nos-arquivos-de-importacao.md): Códigos de retorno nos arquivos de importação
- [PIX](https://developers.vindi.com.br/docs/pix.md): PIX é para você receber de forma segura e rápida
- [PIX Recorrente](https://developers.vindi.com.br/docs/pix-recorrente.md)
- [Agendamento do pagamento por PIX](https://developers.vindi.com.br/docs/agendamento-do-pagamento-por-pix.md)
- [Estorno do PIX](https://developers.vindi.com.br/docs/estorno-do-pix.md)
- [Dúvidas PIX](https://developers.vindi.com.br/docs/duvidas-do-pix.md)
- [PayPal](https://developers.vindi.com.br/docs/paypal.md): Paypal plataforma de pagamento online
- [Habilitando o PayPal](https://developers.vindi.com.br/docs/habilitando-o-paypal.md)
- [Disponibilizando o método de pagamento PayPal](https://developers.vindi.com.br/docs/disponibilizando-o-metodo-de-pagamento-paypal.md)
- [Efetuando Pagamento ou Cancelamento Paypal](https://developers.vindi.com.br/docs/efetuando-pagamento-ou-cancelamento-paypal.md)
- [Dinheiro](https://developers.vindi.com.br/docs/dinheiro.md)
- [Perfis de Pagamentos](https://developers.vindi.com.br/docs/perfis-de-pagamentos.md)
- [Cadastro de perfil de pagamento](https://developers.vindi.com.br/docs/cadastro-de-perfil-de-pagamento.md): Para vendas via cartão de crédito é preciso criar um perfil de pagamento
- [Cadastro de Perfil via Fatura](https://developers.vindi.com.br/docs/cadastro-de-perfil-via-fatura.md)
- [Cadastro de Perfil via API Privada](https://developers.vindi.com.br/docs/cadastro-e-perfis-via-api.md)
- [Cadastro de Perfil via API Pública](https://developers.vindi.com.br/docs/cadastro-de-perfil-via-api-publica.md)
- [Status Perfil de pagamentos](https://developers.vindi.com.br/docs/status-perfil-de-pagamentos.md): Os perfis de pagamento possuem três estados principais que determinam suas funcionalidades e disponibilidade para uso.
- [Renova Vindi](https://developers.vindi.com.br/docs/renova-vindi.md)
- [Renova Cartões](https://developers.vindi.com.br/docs/renova-cartoes.md)
- [Fluxos de operações](https://developers.vindi.com.br/docs/fluxos-de-operacoes.md)
- [Diagramas de Sequência](https://developers.vindi.com.br/docs/diagramas-de-sequencia.md)
- [Fluxos sugeridos para integração com o Vindi Hub](https://developers.vindi.com.br/docs/fluxos-sugeridos-para-integração-com-o-vindi-hub.md)
- [Gestão de Cliente](https://developers.vindi.com.br/docs/gestao-de-clientes.md): Informações para gestão de clientes nos exempos usados no fluxos de operações
- [Gestão de Plano e Produto](https://developers.vindi.com.br/docs/gerenciamento-de-planos-e-produtos.md)
- [Fluxo de criação de Planos](https://developers.vindi.com.br/docs/fluxo-de-criacao-de-planos.md)
- [Fluxo de criação de Produtos](https://developers.vindi.com.br/docs/fluxo-de-criacao-de-produtos.md)
- [Gestão de Cartão de Crédito](https://developers.vindi.com.br/docs/processamento-de-pagamentos-avulsos.md)
- [Fatura Avulsa - Altera Método de Pagamento - Link de Pagamento](https://developers.vindi.com.br/docs/fatura-avulsa-link-de-pagamento-altera-metodo-de-pagamento.md)
- [Assinatura - Checkout Transparente - Altera Cartão de Crédito](https://developers.vindi.com.br/docs/assinatura-checkout-transparente-altera-cartao-de-credito.md)
- [Fatura Avulsa - Cartão de Crédito](https://developers.vindi.com.br/docs/cria-fatura-avulso-com-pagamento-em-cartao-de-credito.md)
- [Fatura Avulsa - Bolepix](https://developers.vindi.com.br/docs/cria-fatura-avulsa-com-pagamento-em-boleto-bancário-copy.md)
- [Fatura Avulsa - Boleto Bancário](https://developers.vindi.com.br/docs/cria-fatura-avulsa-com-pagamento-em-boleto-bancario.md)
- [Fatura Avulsa - Link de Pagamento - PIX](https://developers.vindi.com.br/docs/fatura-avulsa-link-de-pagamento-boleto-vp.md)
- [Fatura Avulsa - Link de Pagamento - Boleto Vindi](https://developers.vindi.com.br/docs/fatura-avulsa-split-boleto-vp.md)
- [Fatura Avulsa - Link de Pagamento - Cartão de Crédito](https://developers.vindi.com.br/docs/fatura-avulsa-link-de-pagamento-cartao-de-credito.md)
- [Fatura Avulsa - Checkout Transparente - Boleto Bancário VAN](https://developers.vindi.com.br/docs/fatura-avulsa-boleto-bancario-van.md)
- [Fatura Avulsa - Checkout Transparente - PIX](https://developers.vindi.com.br/docs/fatura-avulsa-pix.md)
- [Fatura Avulsa - Boleto Vindi](https://developers.vindi.com.br/docs/fatura-avulsa-boleto-vp-yapay.md)
- [Fatura Avulsa - Cartão de Crédito](https://developers.vindi.com.br/docs/fatura-avulsa-cartao-de-credito.md)
- [Gestão de Assinatura](https://developers.vindi.com.br/docs/processamento-de-pagamentos-recorrentes.md)
- [Assinatura - Link de Pagamento - PIX](https://developers.vindi.com.br/docs/assinatura-link-de-pagamento-boleto-vindi-copy.md)
- [Assinatura - Link de Pagamento - Boleto Vindi](https://developers.vindi.com.br/docs/assinatura-link-de-pagamento-boleto-vindi.md)
- [Assinatura - Link de Pagamento - Cartão de Crédito](https://developers.vindi.com.br/docs/assinatura-link-de-pagamento-cartao-de-credito.md)
- [Assinatura - Checkout Transparente - PIX](https://developers.vindi.com.br/docs/assinatura-pix.md)
- [Assinatura - Checkout Transparente - Boleto Bancário com Van - Arquivo](https://developers.vindi.com.br/docs/assinatura-boleto-bancario-com-van.md)
- [Assinatura - Checkout Transparente - Boleto Vindi](https://developers.vindi.com.br/docs/assinatura-boleto-venda-onlinevp-yapay.md)
- [Assinatura - Checkout Transparente - Cartão de Crédito](https://developers.vindi.com.br/docs/assinatura-cartao-de-credito.md)
- [Split para Assinaturas - Vindi Recorrência](https://developers.vindi.com.br/docs/explicando-o-split.md)
- [Explicando o uso do split](https://developers.vindi.com.br/docs/sobre-o-split.md)
- [IPs utilizados na Vindi para enviar webhooks](https://developers.vindi.com.br/docs/ips-utilizados-na-vindi-para-enviar-webhooks.md): Lista atualizada dos endereços IP que a Vindi utiliza para enviar [webhooks](https://portal-dev-vindi.readme.io/docs/webhooks) e se conectar à serviços externos (adquirentes, bancos e afins)
- [Vindi Commerce: Pagamentos](https://developers.vindi.com.br/docs/commerce.md): Potencialize suas vendas online com a plataforma que oferece alta taxa de aprovação, segurança de ponta e todas as formas de pagamento que seu cliente prefere.
- [Boas Práticas de Integração](https://developers.vindi.com.br/docs/boas-praticas.md): Nesse artigo será possível verificar algumas dicas para integração com a nossa API
- [Coleta de Dados (Fingerprint)](https://developers.vindi.com.br/docs/fingerprint.md): O fingerprint é um script criado em javascript que grava vários dados para que seja realizada a analise das informações. Essas informações são enviadas no momento do POST da transação.
- [Chave de Integração (Token)](https://developers.vindi.com.br/docs/token-de-integracao.md): O Token é sua credencial de acesso para integração de pagamentos com a Vindi
- [Fluxo de Informações](https://developers.vindi.com.br/docs/fluxo-dos-dados.md): Descrição do fluxo de dados entre os sistemas integrados com a Vindi
- [Bandeiras e Métodos de Pagamento](https://developers.vindi.com.br/docs/bandeiras-e-métodos-de-pagamento-disponíveis.md): Lista de bandeiras aceitas e métodos de pagamento disponíveis para transacionar com a Vindi
- [Webhooks: Notificações Automáticas](https://developers.vindi.com.br/docs/webhooks.md): Documentação sobre o envio de webhooks (notificações automáticas) pelo sistema Vindi
- [Tabelas de Referência](https://developers.vindi.com.br/docs/tabelas-de-referencia.md): Na integração existem alguns campos com informações pré-definidas, onde deverão ser enviadas conforme o padrão existente, se for necessário enviar o campo na requisição, ou poderá tratar a informação conforme retorno recebido.
- [Mensagens de Erro](https://developers.vindi.com.br/docs/mensagens-de-erro.md): No caso de erro, a API retorna uma mensagem de erro. Assim é possível identificar o erro ocorrido e realizar o tratamento através do código e/ou mensagem retornada.
- [Split para E-commerce - Vindi Pagamentos](https://developers.vindi.com.br/docs/split-para-ecommerce.md): Como funciona o split de pagamentos da Vindi Pagamentos em vendas e-commerce (sem assinatura)
- [Plataformas e Plugins Vindi](https://developers.vindi.com.br/docs/plugins.md): Conecte a Vindi à sua plataforma de e-commerce em poucos minutos. Explore nossos guias de instalação oficiais e configure seu checkout com facilidade.
- [SHOPIFY](https://developers.vindi.com.br/docs/shopify.md): Plugin Vindi Commerce (Pagamentos) para Shopify
- [Desconto para pagamento à vista Vindi](https://developers.vindi.com.br/docs/desconto-para-pagamento-a-vista.md): Funcionalidade Vindi para aplicação de descontos para pagamento à vista via PIX ou Boleto em lojas Shopify
- [Opção de desconto à vista no Carrinho](https://developers.vindi.com.br/docs/desconto-via-carrinho.md): Disponível para todos os planos Shopify
- [Opção de desconto à vista no Checkout](https://developers.vindi.com.br/docs/desconto-via-checkout.md): Opção para conceder desconto no checkout para os métodos de pagamento PIX, Boleto e Bolepix da Vindi.
- [Fluxo de Cancelamento de Pedidos Expirados](https://developers.vindi.com.br/docs/cancelamento-de-pedido-shopify-expirados.md): Funcionalidade Vindi para realizar o cancelamento automático de pedidos Shopify cujo prazo de pagamento tenha expirado e a transação correspondente na Vindi tenha sido cancelada
- [WOOCOMMERCE](https://developers.vindi.com.br/docs/woocommerce.md): Plugin Vindi Commerce (Pagamentos) para Wordpress/Woocoomerce
- [MAGENTO 2 (ADOBE COMMERCE)](https://developers.vindi.com.br/docs/magento-2-adobe-commerce.md): Plugin Vindi (Service e Comerce) para Magento 2 (Adobe Commerce)
- [Magento 2 (Service)](https://developers.vindi.com.br/docs/magento-2-vindi-service.md): Plugin Vindi Service (Assinatura/Recorrência) para Magento 2 (Adobe Commerce)
- [Magento 2 (Commerce)](https://developers.vindi.com.br/docs/magento-2-vindi-commerce.md): Plugin Vindi Commerce (Pagamentos) para Magento 2 (Adobe Commerce)
- [VTEX](https://developers.vindi.com.br/docs/vtex.md): Plugin Vindi Commerce (Pagamentos) para VTEX
- [WBUY](https://developers.vindi.com.br/docs/wbuy.md): Manual de Instalação do Plugin Vindi Comerce (Pagamentos) para WBUY
- [UAPPI](https://developers.vindi.com.br/docs/uappi.md): Plugin Vindi (Comerce) para UAPPI
- [YAMPI](https://developers.vindi.com.br/docs/yampi.md): Plugin Vindi Comerce (Pagamentos) para YAMPI
- [IRROBA](https://developers.vindi.com.br/docs/irroba.md): Plugin Vindi Comerce (Pagamentos) para IRROBA
- [VISUAL E-COMMERCE](https://developers.vindi.com.br/docs/visual-e-commerce.md): Plugin Vindi Commerce (Pagamentos) para VISUAL E-COMMERCE
- [CHECKOUT GURU](https://developers.vindi.com.br/docs/checkout-guru.md): Plugin Vindi Commerce (Pagamentos) para CHECKOUT GURU
- [Shoppub](https://developers.vindi.com.br/docs/shoppub.md): Solução Vindi Pagamentos (Comnerce) para Shoppub
## API Reference
- [Introdução](https://developers.vindi.com.br/reference/introducao.md): Explore e integre as soluções financeiras da VINDI
- [AUTORIZAÇÃO (ACCESS TOKEN)](https://developers.vindi.com.br/reference/access_token.md): Processo de autorização (geração de ACCESS TOKEN)
- [CODE - Como obter o CODE](https://developers.vindi.com.br/reference/gerar-code.md): Para gerar o CODE primeiro tenha em mãos suas chaves CONSUMER KEY e SECRET
- [ACCESS_TOKEN - Como gerar o access_token](https://developers.vindi.com.br/reference/gerar-access-token.md): API para criação de ACCESS TOKEN
- [REFRESH ACCESS_TOKEN - Como fazer o refresh do access_token](https://developers.vindi.com.br/reference/atualizar-access-token.md): ### Renovação do Access Token (Refresh Token) O **access_token** possui validade de **24 horas**. Para utilizá-lo em requisições protegidas, é necessário mantê-lo válido. Essa requisição permite **renovar o access_token** sem precisar gerar um novo access_token toda vez que for usá-lo. O **refresh_token** tem validade de **1 ano**. Caso ele expire, será necessário gerar um novo access_token utilizando a API de criação de tokens: - `https://api.intermediador.sandbox.yapay.com.br/api/authorizations/access_token` #### Corpo da requisição - `access_token`: Token atual que deseja renovar. - `refresh_token`: Token de renovação correspondente ao access_token. - `type_response`: Define o formato do retorno. Use `"J"` para JSON; se não for informado, o retorno será em XML. **Exemplo de requisição (JSON):** ``` { "access_token": "SEU_ACCESS_TOKEN", "refresh_token": "SEU_REFRESH_TOKEN", "type_response": "J" } ``` #### Retorno da requisição Ao renovar com sucesso, a API retorna os novos tokens e suas datas de expiração. **Exemplo de retorno (JSON):** ``` { "message_response": { "message": "success" }, "data_response": { "authorization": { "access_token": "593032221d87f60f1ff5f1b9be62abde112be4c4ebdebbd44f6ca5ed1c69d5d0", "access_token_expiration": "2025-12-30T16:49:34.365-03:00", "refresh_token": "71d06f17ea947af8603e5b59d5048f6b", "refresh_token_expiration": "2026-03-29T16:49:34.365-03:00" } } } ``` #### Descrição dos campos do retorno - `access_token`: Novo token de acesso a ser usado nas requisições protegidas. - `access_token_expiration`: Data e hora de expiração do novo access_token. - `refresh_token`: Token que pode ser usado para futuras renovações sem gerar um novo access_token. - `refresh_token_expiration`: Data e hora de expiração do refresh_token. Após essa data, será necessário gerar um novo access_token através da API de criação de tokens.
- [CRIAÇÃO DE TRANSAÇÕES](https://developers.vindi.com.br/reference/criacao-de-transacoes.md): API para criação de transação em Vindi para todos os métodos de pagamento disponíveis, com ou sem split.
- [LISTAGEM DE TRANSAÇÕES](https://developers.vindi.com.br/reference/listagem-de-transacoes.md): API para listagem de transações existentes em sua conta Vindi
- [DETALHES DA TRANSAÇÃO](https://developers.vindi.com.br/reference/detalhes-da-transacao.md): #### **Chave de acesso: Token_account** ##### Parâmetro de busca: Token_transaction Nessa requisição você vai ter acesso as demais informações da sua transação.
- [CANCELAMENTO/ESTORNO DE TRANSAÇÕES](https://developers.vindi.com.br/reference/cancelamento-e-estorno.md): API para cancelamento e ou estorno de transações Vindi
- [CONSULTA LISTA DE COBRANÇAS](https://developers.vindi.com.br/reference/consulta-de-lista-de-cobrancas.md): CONSULTA LISTA DE COBRANÇAS
- [ENVIO DE COBRANÇA V3](https://developers.vindi.com.br/reference/envio-de-cobranca-v3.md): ENVIO DE COBRANÇA V3
- [CONSULTA COBRANÇA ESPECÍFICA PELO ID](https://developers.vindi.com.br/reference/detalhes-da-cobranca.md): CONSULTA COBRANÇA ESPECÍFICA PELO ID
- [INATIVAR UMA COBRANÇA V3](https://developers.vindi.com.br/reference/inativar-cobranca.md): INATIVAR UMA COBRANÇA V3
- [ENVIO DE COBRANÇA](https://developers.vindi.com.br/reference/envio-de-cobranca-v1.md): ``` json { "access_token": "seu_access_token_aqui", // string _OBRIGATÓRIO_ – Token de acesso da conta "session_id": "SESSION_123456", // string OPCIONAL – ID do cliente (sessão previamente criada) "email_customer": "[cliente@exemplo.com](https://mailto:cliente@exemplo.com)", // string _OBRIGATÓRIO_ – E-mail do cliente "order_number": "ORDER_123456", // string OPCIONAL – Número do pedido no sistema do lojista "max_split_transaction": 12, // number OPCIONAL – Quantidade máxima de parcelas permitidas "available_payment_methods": null, // string ou null OPCIONAL – Formas de pagamento disponíveis para a compra; enviando null, todas as formas serão aceitas "transaction_product": \[ { "description": "Assinatura Plano Premium", // string _OBRIGATÓRIO_ – Descrição do produto "price_unit": "99.90", // string (decimal) *OBRIGATÓRIO* – Valor unitário do produto "type_product": "S", // string OPCIONAL – Tipo do produto (S = serviço / vazio = produto físico) "shipping": 0, // number OPCIONAL – Indica se o produto utiliza frete (0 = Não / 1 = Sim) "edit": false // boolean OPCIONAL – Permite edição da quantidade do produto no link de pagamento } ] } ```
- [CRIAR CARRINHO DE COMPRA](https://developers.vindi.com.br/reference/criar-carrinho-de-compra.md): CRIAR CARRINHO DE COMPRA
- [CONSULTAR CARRINHO DE COMPRA](https://developers.vindi.com.br/reference/consultar-carrinho-de-compra.md): ## Consulta de Carrinho de Compras Na **API de consulta de carrinho de compras**, existem **dois parâmetros possíveis de busca**, que devem ser utilizados **de forma exclusiva** na requisição: - **`token_transaction`** - **`order_number`** ⚠️ **Importante**: - Não é permitido utilizar os dois parâmetros simultaneamente. - A consulta **não retorna uma lista de carrinhos**. Independentemente do parâmetro utilizado, o retorno será **sempre um carrinho específico**. --- ## Exemplo de parâmetros no body da requisição ``` json { "token_account": "93d71f5187981a7", "token_transaction": "t2b0b4692c473754fa620917d60599a21", "order_number": "" } ``` Nesse exemplo, a consulta está sendo realizada utilizando o **`token_transaction`** como critério de busca. Caso a busca seja feita pelo **`order_number`**, o campo `token_transaction` deve ser enviado vazio ou omitido. ** PORQUE DEU ESSE ERRO: ``` Transação temporária não encontrada 038002 error ```
- [CONSULTAR CLIENTE](https://developers.vindi.com.br/reference/consultar-cliente.md): ## API de Consulta de Cliente A **API de consultar cliente** é utilizada para **validar se um cliente já existe na Vindi**. ### Observações importantes: - Existem **dois parâmetros de busca possíveis**: - `email` - `cpf` - **Não é possível utilizar os dois parâmetros simultaneamente.** - **Não é possível consultar clientes pelo CNPJ.** - A API **não retorna uma lista de clientes**, sempre retorna apenas o cliente correspondente ao parâmetro informado. - O parâmetro `"type_response": "J"` faz com que o retorno seja em **JSON**. Caso não seja enviado, o retorno será em **XML**.
- [SIMULAR O VALOR DO PARCELAMENTO](https://developers.vindi.com.br/reference/simular-parcelamento.md): SIMULAR O VALOR DO PARCELAMENTO
- [RASTREAR UM PEDIDO](https://developers.vindi.com.br/reference/rastrear-pedido.md): RASTREAR UM PEDIDO
- [Introdução à API de Service (Recorrência)](https://developers.vindi.com.br/reference/introducao-a-api-de-venda-recorrente.md): Solução de recorrência/assinaturas da Vindi para quem cobra todos mês
- [Especificações Técnicas](https://developers.vindi.com.br/reference/especificações-técnicas.md)
- [Rate Limit](https://developers.vindi.com.br/reference/rate-limit.md)
- [IPs utilizados na Vindi para enviar webhooks](https://developers.vindi.com.br/reference/ips-utilizados-na-vindi-para-enviar-webhooks-1.md)
- [Segurança e Autenticação](https://developers.vindi.com.br/reference/segurança-e-autenticação.md)
- [Primeiros Passos](https://developers.vindi.com.br/reference/primeiros-passos-api.md)
- [Criando uma chave de acesso](https://developers.vindi.com.br/reference/criando-uma-chave-de-acesso.md)
- [Boas Práticas Webhook](https://developers.vindi.com.br/reference/boas-práticas-webhook.md)
- [Quais são os códigos de retorno HTTP da API](https://developers.vindi.com.br/reference/quais-são-os-códigos-de-retorno-http-da-api-1.md)
- [Utilizando a SDK-PHP](https://developers.vindi.com.br/reference/utilizando-a-sdk-php.md)
- [Bibliotecas](https://developers.vindi.com.br/reference/bibliotecas-1.md)
- [Buscas e Filtros](https://developers.vindi.com.br/reference/buscas-e-filtros-1.md)
- [Webhooks Configurações](https://developers.vindi.com.br/reference/webhooks-configurações.md)
- [Paginação](https://developers.vindi.com.br/reference/paginação.md)
- [Webhooks Formatos e métodos de envio](https://developers.vindi.com.br/reference/webhooks-formatos-e-métodos-de-envio.md)
- [Webhooks](https://developers.vindi.com.br/reference/webhooks-1.md)
- [Webhooks Retentativas](https://developers.vindi.com.br/reference/webhooks-retentativas-1.md)
- [Documentação Interativa](https://developers.vindi.com.br/reference/documentação-interativa.md): Como usar nossa documentação interativa do portal
- [Webhooks Conteúdo da Requisição e Eventos](https://developers.vindi.com.br/reference/webhooks-conteúdo-da-requisição-e-eventos.md)
- [Versionamento e Manutenção](https://developers.vindi.com.br/reference/versionamento-e-manutenção.md)
- [Webhooks Segurança e Testes](https://developers.vindi.com.br/reference/webhooks-segurança-e-testes.md)
- [Payload dos webhooks](https://developers.vindi.com.br/reference/payload-dos-webhooks.md)
- [Endpoints da API Venda Recorrente](https://developers.vindi.com.br/reference/endpoints-da-api-venda-recorrente.md)
- [Cadastra um novo cliente.](https://developers.vindi.com.br/reference/postv1customers-1.md): Utilize esta função para criar novos clientes na plataforma. Cliente é uma das entidades básicas do sistema. Ele representa a pessoa física ou jurídica que possui uma ou mais assinaturas. #### Código da API Quando utilizado, o campo `code` deve ser único em todo escopo da empresa. Recomendamos o uso de um código auto-incrementável do seu próprio banco de dados. Desaconselhamos a utilização de qualquer dado que seja informado pelo cliente, como e-mail ou número do documento.
- [Retorna um cliente específico através do ID.](https://developers.vindi.com.br/reference/getv1customersid-1.md)
- [Atualiza um cliente existente através do ID.](https://developers.vindi.com.br/reference/putv1customersid-1.md): Utilize este método para atualizar um cliente existente. #### Atualizando números de telefone A lista de números de telefone associada ao cliente é representada pelo array `phones`. - Para **atualizar** um objeto existente no array `phones`, simplesmente indique seu ID e os novos atributos. - Para **criar** um novo objeto, informe apenas os atributos sem o ID. - Para **remover** um objeto existente, inclua o atributo `"_destroy": "1"`, sem esquecer de informar o ID. Além disso é possível omitir o parâmetro `phones` na requisição para não atualizar os produtos relacionados.
- [Arquiva um cliente específico através do ID.](https://developers.vindi.com.br/reference/deletev1customersid-1.md): Esta operação irá mover o cliente para uma área especial da plataforma onde não poderá receber novas assinaturas ou sofrer alterações, porém seu histórico será mantido. Todas as assinaturas e faturas pendentes serão canceladas automaticamente.
- [Retorna uma lista de clientes.](https://developers.vindi.com.br/reference/getv1customers-1.md): Utilize este método para listar os clientes associados à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, name, status, code, email, registry_code, created_at e updated_at.
- [Reverte o arquivamento de um cliente.](https://developers.vindi.com.br/reference/postv1customersidunarchive-1.md)
- [Cadastra um novo plano.](https://developers.vindi.com.br/reference/postv1plans-1.md): Verifique documentação dos atributos no método `GET plans/{id}`.
- [Retorna um plano específico através do ID.](https://developers.vindi.com.br/reference/getv1plansid-1.md): Utilize esta função para obter um plano cadastrado na plataforma. Planos são utilizados para definir a base das assinaturas. Uma nova assinatura herdará a maioria dos atributos do plano respectivo no momento de sua criação. Se um plano for alterado, assinaturas associadas não serão atualizadas automaticamente. #### Duração do plano A duração do plano é definida a partir da combinação de 3 atributos: `interval`, `interval_count` e `billing_cycles`. Com esses atributos é possível gerar qualquer combinação possível de periodicidade e duração. Exemplos: Duração |`interval`|`interval_count`|`billing_cycles` ---------------------------------|----------|---------------|---------------- Plano mensal com duração ilimitada |'months' | 1 | (nulo) Plano mensal com duração de 3 meses |'months' | 1 | 3 Plano semanal com duração de 3 meses |'days' | 7 | 12 Plano anual com duração ilimitada |'months' | 12 | (nulo) Plano mensal com duração de 1 ano |'months' | 12 | 1 Calcula-se a duração de um período multiplicando a duração do intervalo (`interval`) pelo número de intervalos (`interval_count`). O número máximo de períodos é definido pelo atributo `billing_cycles`. Através destas combinações é possível gerar planos quinzenais, mensais, semanais, semestrais, trimestrais, anuais, etc. O atributo `interval_name` no retorno exibe o nome do período gerado a partir dessas configurações. #### Precificação Um plano não possui nenhuma informação relacionada ao preço. O valor de uma assinatura será calculado a partir dos produtos associados ao plano. Os produtos associados ao plano estão representados no atributo `plan_items`. #### Cobrança A data da geracão da cobrança de um período deve ser configurada usando os atributos `billing_trigger_type`, que define a orientação da data de cobrança, e `billing_trigger_day`, que define o dia da cobrança. Exemplos: Cobrança| `billing_trigger_type` | `billing_trigger_day` | ---------|-----------------------|---------------------- Exatamente no início do período| 'beginning_of_period' | 0 Cinco dias após o início do período| 'beginning_of_period' | 5 Dez dias antes do término do período| 'end_of_period' | -10 Um dia após o término do período| 'end_of_period' | 1 Exatamento no dia 20 de cada mês| 'day_of_month' | 20 É importante observar que o tipo de cobrança 'day_of_month' só pode ser usado em planos mensais.
- [Atualiza um plano existente.](https://developers.vindi.com.br/reference/putv1plansid-1.md): Verifique documentação dos atributos no método `GET plans/{id}`. #### Atualizando produtos relacionados A lista de produtos relacionados à um plano é representado pelo array `plan_items`. - Para **atualizar** um objeto existente no array `plan_items`, simplesmente indique seu ID e os novos atributos. - Para **criar** um novo objeto, informe apenas os atributos sem o ID. - Para **remover** um objeto existente, inclua o atributo `"_destroy": "1"`, sem esquecer de informar o ID. Além disso é possível omitir o parâmetro `plan_items` na requisição para não atualizar os produtos relacionados.
- [Retorna uma lista de planos.](https://developers.vindi.com.br/reference/getv1plans-1.md): Utilize este método para listar os planos associados à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, installments, name, interval_count, interval, billing_cycles, code, status, billing_trigger_day, billing_trigger_type, created_at e updated_at.
- [Retorna os itens do plano através de seu ID.](https://developers.vindi.com.br/reference/getv1plansidplanitems-1.md): Utilize este método para listar os itens associados a um produto. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination).
- [Cadastra um novo produto.](https://developers.vindi.com.br/reference/postv1products-1.md): Verifique documentação dos atributos no método `GET products/{id}`.
- [Retorna um produto específico através do ID.](https://developers.vindi.com.br/reference/getv1productsid-1.md): Produtos definem os itens associados a uma assinatura ou fatura. #### Precificação A plataforma Vindi suporta vários tipos diferentes de cálculos de precificação para os produtos. Consulte este [artigo](http://atendimento.vindi.com.br/hc/pt-br/articles/203303380) para mais informações sobre os métodos de cálculo.
- [Atualiza um produto existente.](https://developers.vindi.com.br/reference/putv1productsid-1.md): Verifique documentação dos atributos no método `GET products/{id}`.
- [Retorna uma lista de produtos.](https://developers.vindi.com.br/reference/getv1products-1.md): Utilize este método para listar os produtos associados à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, name, code, status, invoice, unit, pricing_schema_id, created_at, updated_at, schema_type e price.
- [Retorna um método de pagamento específico através do ID.](https://developers.vindi.com.br/reference/getv1paymentmethodsid-1.md)
- [Lista todos os métodos de pagamento disponíveis.](https://developers.vindi.com.br/reference/getv1paymentmethods-1.md): Métodos de pagamento representam as opções de pagamento disponíveis para seus clientes. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, name e code.
- [Cria um desconto em uma assinatura existente.](https://developers.vindi.com.br/reference/postv1discounts-1.md)
- [Retorna uma desconto específico através do ID.](https://developers.vindi.com.br/reference/getv1discountsid-1.md): Um desconto pode ser aplicado à um item específico de uma assinatura (`product_item`) e possui duração configurável (`cycles`). Utilize este método para obter detalhes de um desconto específico. #### Duração A duração de um desconto pode ser definida através do atributo `cycles` que representa o número de ciclos de recorrência onde o desconto será aplicado. É possível, por exemplo, configurar um desconto apenas para a próxima fatura, ou então conceder um desconto permanente. Neste último caso, o atributo `cycles` deverá permanecer nulo. #### Tipo Cada desconto possui um tipo de cálculo diferente que deve ser informado no atributo `discount_type`. Os seguintes tipos de desconto estão disponíveis: Tipo|Descrição ----|---- `percentage`|Porcentagem: Desconto baseado na porcentagem informada. Utilize um valor númerico entre 0.01 e 100. `amount`|Valor fixo: Desconto no valor exato informado. Mínimo: 0.01. `quantity`|Quantidade: Apenas para produtos com precificação por quantidade fixa (sem faixas). Informe um valor inteiro maior ou igual a 1. #### Cálculo Todos os descontos ativos serão aplicados no momento da geração da fatura e serão calculados a partir do valor original do item. Caso o total de descontos seja superior ao valor original, o preço final do produto permanecerá R$ 0,00. #### Desconto sobre desconto Se um item possuir mais de um desconto ativo, todos eles serão calculados a partir do valor original, conforme mencionado acima. Como exemplo, considere um item que custava originalmente R$ 100,00 e recebeu dois descontos: R$ 10,00 e 50%: ``` Valor original: R$ 100,00 Desconto 1: R$ 10,00 Desconto 2: 50% de R$ 100,00 = R$ 50,00 -- Valor final do produto: R$ 100,00 - R$ 60,00 = R$ 40,00 ```
- [Cancela um desconto através do ID.](https://developers.vindi.com.br/reference/deletev1discountsid-1.md)
- [Cria uma nova assinatura.](https://developers.vindi.com.br/reference/postv1subscriptions-1.md): Este método irá criar uma assinatura e obrigatoriamente retornar o objeto `subscription`. Se os parâmetros do plano indicarem uma cobrança imediata, o retorno da mesma requisição também irá conter os detalhes da fatura emitida, representada pelo objeto `bill`. Dentro deste objeto você poderá encontrar informações mais detalhadas sobre o processamento da transação (`last_transaction`). #### Exemplo de requisição ``` { "plan_id": 12, "customer_id": 142, "payment_method_code": "credit_card", "product_items": [ { "product_id": 14 } ] } ``` Para mais detalhes e possibilidades de customização, consulte abaixo a seção **Parâmetros**. #### Método de pagamento Para uma lista dos métodos de pagamento disponíveis e seus respectivos códigos, consulte o serviço `GET payment_methods`. A plataforma tomará uma ação diferente dependendo do método de pagamento informado através do parâmetro `payment_method_code`. Caso o método exija, por exemplo, os dados do cartão de crédito do cliente, a plataforma irá verificar se o cliente em questão possui um cartão válido. Se possuir, uma tentativa de cobrança será efetuada. Se não possuir, um e-mail será enviado ao cliente solicitando seus dados de pagamento. Caso a forma de pagamento não exija nenhum dado adicional, um e-mail será enviado ao cliente. Boletos bancários possuem exatamente este comportamento. #### Produtos da assinatura Por padrão, a lista de itens da nova assinatura herdará as configurações de itens do plano informado via `plan_id`. Caso seja necessário, também é possível customizar esta lista de itens no momento da criação da assinatura através do array `product_items`. Através deste array de objetos é possível definir quais serão os produtos (`product_id`), quantidades (`quantity`) e o número de períodos (`cycles`) onde cada produto deverá será aplicado. Este atributo é especialmente útil para definir condições específicas que fogem das condições normais de precificação que você definiu no plano. #### Customização da precificação Caso o atributo `pricing_schema` não seja informado no `product_item`, a plataforma irá assumir a precificação padrão do produto. Se quiser customizar a precificação exclusivamente para esta assinatura, é possível informar o atributo `pricing_schema` com os parâmetros descritos abaixo. Mais detalhes sobre a precificação de produtos podem ser encontrados [neste artigo](http://atendimento.vindi.com.br/hc/pt-br/articles/203303380). #### Descontos Cada produto da assinatura poderá receber um ou mais descontos que serão utilizados no cálculo da geração das faturas. Informe o atributo `discounts` para `product_item`. Caso mais de um desconto seja informado para o mesmo produto, os valores serão sempre calculados a partir do valor inicial. #### Tratamento de assinaturas com pagamentos rejeitados Conforme mencionado anteriormente, a plataforma irá retornar a fatura gerada (`bill`) caso a assinatura possua uma cobrança imediata. Se este retorno possuir uma fatura pendente (`"status": "pending"`) e uma transação rejeitada, você terá as seguintes opções: - **Manter a assinatura ativa** e aguardar a retentativa automática da plataforma na data indicada pelo atributo `next_attempt`. - **Efetuar uma nova tentativa** de cobrança através do método `POST /charges/{id}/charge`. Opcionalmente você poderá informar um novo perfil de pagamento. - **Cancelar a assinatura e a fatura pendente** através do método `DELETE /subscriptions/{id}?cancel_bills=true`. - **Enviar um e-mail** com um link para a tela de pagamento da fatura. Este e-mail poderá ser enviado automaticamente pelas notificações da plataforma (cobrança rejeitada) ou se preferir, manualmente através do seu próprio backend. Neste caso, use o endereço contido no atributo `url` do objeto `bill`.
- [Reativa uma assinatura cancelada através do ID.](https://developers.vindi.com.br/reference/postv1subscriptionsidreactivate-1.md): Utilize esta função para reativar assinaturas canceladas. Leia mais sobre este assunto na [documentação sobre reativação de assinaturas](http://atendimento.vindi.com.br/hc/pt-br/articles/204893474).
- [Retorna uma assinatura específica através do ID.](https://developers.vindi.com.br/reference/getv1subscriptionsid-1.md): A assinatura é uma das entidades principais da plataforma e representa a relação entre um plano e um cliente. É a partir dela que faturas, cobranças e períodos são gerados. #### Períodos Toda assinatura possui obrigatoriamente um ou mais períodos de recorrência. Verifique a documentação do método `GET subscriptions/{id}/periods` para mais detalhes. Os períodos são gerados automaticamente pela plataforma. #### Status |Status|Descrição| |------|---------| |`active`| Assinatura ativa. O atributo `current_period` irá obrigatoriamente conter os dados do período atual. | |`future`| Assinatura programada para uma data no futuro. Verifique o atributo `start_at`. | |`canceled`| Assinatura cancelada. | |`expired` | Assinatura encerrada. Este status ocorre apenas quando a assinatura possui duração limitada. Verifique o atributo `billing_cycles`. | #### Herança de atributos Todos os atributos relacionados à periodicidade da assinatura e precificação dos produtos são herdados no momento da criação e não são atualizados automaticamente quando o plano de origem é alterado. Este comportamento existe para permitir que assinaturas usando mesmo plano possam utilizar condições de precificação diferentes. Ainda assim você pode realizar alterações em massa utilizando a API. #### Descontos Uma lista de descontos ativos será retornada no atributo `discounts` do objeto `product_item`. Caso você crie uma assinatura com cobrança imediata e um desconto temporário (`cycles: 1`), o mesmo será aplicado logo na primeira fatura e portanto não será mais considerado um desconto ativo.
- [Atualiza uma assinatura existente.](https://developers.vindi.com.br/reference/putv1subscriptionsid-1.md): Utilize este método para alterar os atributos de uma assinatura existente. #### Reagendamento da data de cobrança A data de cobrança da assinatura pode ser atualizada através dos parâmetros `billing_trigger_type` e `billing_trigger_day`. Após a atualização, a plataforma irá retornar a próxima data de cobrança calculada no atributo `next_billing_at`. Se esta data for igual ou anterior ao dia corrente, você poderá gerar uma fatura manualmente usando o método `POST /periods/{id}/bill`. A plataforma não irá emitir faturas retroativas automaticamente. Por motivos de retrocompatibilidade, a atualização da data de cobrança diretamente através do parâmetro `next_billing_at` ainda é possível, porém não recomendável. #### Desvincular perfil de pagamento Para desvincular um perfil de pagamento de uma assinatura sem vincular outro perfil, envie: ``` { "payment_profile": { "id": null } } ``` #### Itens da assinatura Para atualizar os itens da assinatura, utilize o serviço `product_items`.
- [Cancela uma assinatura através do ID.](https://developers.vindi.com.br/reference/deletev1subscriptionsid-1.md)
- [Renova uma assinatura existente.](https://developers.vindi.com.br/reference/postv1subscriptionsidrenew-1.md): O processo de renovação de assinaturas é automático. Utilize esse método para adiantar a renovação de uma assinatura.
- [Retorna uma lista de assinaturas.](https://developers.vindi.com.br/reference/getv1subscriptions-1.md): Utilize este método para listar as assinaturas associadas à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca status, id, code, installments, customer_id, interval, interval_count, billing_trigger_day, billing_trigger_type, billing_cycles, plan_id, payment_method_id, start_at, cancel_at, overdue_since, created_at, updated_at e end_at. #### Inadimplência Além dos filtros acima, a busca por assinaturas adimplentes ou inadimplentes pode ser realizada através do atributo `overdue_since` no parâmetro `query`. Exemplos: - Assinaturas adimplentes: `overdue_since = null` - Assinaturas inadimplentes: `overdue_since != null` - Assinaturas inadimplentes há mais de n dias: `overdue_since < 2016-03-15` #### Itens da assinatura Uma assinatura é composta de vários itens representados no array `product_items`. Este endpoint lista apenas os 25 primeiros itens de cada assinatura. Caso queira listar mais itens de uma assinatura, utilize o método da API `GET /subscriptions/{id}/product_items`.
- [Retorna os itens de uma assinatura através do seu ID.](https://developers.vindi.com.br/reference/getv1subscriptionsidproductitems-1.md): Utilize este método para listar os itens associados a uma assinatura. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination).
- [Cadastra um novo item em uma assinatura existente.](https://developers.vindi.com.br/reference/postv1productitems-1.md): Novos itens serão aplicados apenas em novas faturas. Se desejar incluir o novo item em uma fatura existente você deverá cancelar a fatura em questão e efetuar a reemissão. #### Precificação Informe o parâmetro `pricing_schema` apenas se quiser customizar a precificação para o novo item. Consulte este [artigo](http://atendimento.vindi.com.br/hc/pt-br/articles/203303380) para mais informações sobre o cálculo da precificação.
- [Retorna um item da assinatura específico através do ID.](https://developers.vindi.com.br/reference/getv1productitemsid-1.md): Uma assinatura (`subscription`) é composta de um ou mais `product_items`, que representam os itens da assinatura que serão usados para criar as faturas (`bill`) de cada período (`period`).
- [Atualiza um item existente.](https://developers.vindi.com.br/reference/putv1productitemsid-1.md): É possível atualizar um item em uma assinatura existente, porém isso não causará nenhum reflexo imediato nas faturas já emitidas. Alterações em um item serão aplicadas apenas na próxima fatura gerada, porém de qualquer forma é possível cancelar e reemitir uma fatura já gerada. #### Precificação Informe o parâmetro `pricing_schema` apenas se quiser alterar a precificação atual do item. Consulte este [artigo](http://atendimento.vindi.com.br/hc/pt-br/articles/203303380) para mais informações sobre o cálculo da precificação.
- [Remove um item através do ID.](https://developers.vindi.com.br/reference/deletev1productitemsid-1.md)
- [Retorna um período específico através do ID.](https://developers.vindi.com.br/reference/getv1periodsid-1.md): Uma assinatura deve possuir obrigatoriamente um ou mais períodos, que são gerados automaticamente conforme a configuração de cobrança e periodicidade da assinatura. Em uma assinatura baseada em um plano mensal, cada período terá a duração de aproximadamente 30 dias. #### Registros de utilização Todo período deverá possuir um ou mais registros de utilização. A fatura do período será gerada a partir destes registros de utilização. Para produtos configurados com preço fixo ou preço por quantidade, a plataforma irá criar automaticamente um registro de utilização conforme a quantidade indicada na assinatura. Para produtos com preços baseados no volume, nenhum registro será criado automaticamente e o período aguardará obrigatoriamente a informação do registro de utilização. A inclusão do registro pode ser feita através do painel de administração ou pela API. #### Fatura Normalmente um período possuirá uma única fatura que será gerada automaticamente na data `billing_at`, porém em casos especiais um período poderá possuir mais de uma fatura.
- [Atualiza um período existente.](https://developers.vindi.com.br/reference/putv1periodsid-1.md): Atualiza um período existente. #### Data de término A duração de um período pode ser atualizada modificando sua data de término. Esta atualização é possível apenas no último período de uma assinatura. Períodos subsequentes desta assinatura serão calculados conforme a nova data, respeitando o intervalo original. #### Data de cobrança Através deste método também é possível atualizar a data de cobrança de um período, porém a plataforma não irá realizar cobranças retroativas automaticamente. Caso a atualização seja para uma data igual ou anterior ao dia de hoje, será necessário forçar a cobrança usando `POST /periods/{id}/bill`.
- [Emite uma nova fatura baseada em um período.](https://developers.vindi.com.br/reference/postv1periodsidbill-1.md): Há 2 casos onde pode ser necessário gerar uma nova fatura manualmente a partir de um período: 1. Gerar uma fatura que não foi emitida automaticamente por falta de informações de registro de uso; 2. Gerar uma fatura adicional para um período. A plataforma Vindi tenta gerar automaticamente uma nova fatura na data especificada no atributo `billing_at` do período utilizando todos os registros de utilização não faturados até então. A nova fatura é gerada apenas se todos os itens ativos da assinatura possuírem ao menos um registro de utilização, mesmo que algum deles possua o campo `quantity` explicitamente igual a zero. Este comportamento é necessário para evitar a emissão de faturas que não receberam registros de utilização, seja por esquecimento do operador do sistema ou por algum tipo de falha na transmissão dessa informação. Para verificar esses períodos que não foram faturados, consulte o relatório "Períodos não faturados" e pesquise pela data da cobrança programada. #### Exemplo Suponha uma assinatura com a cobrança programada para o último dia do período contendo dois produtos: ``` Mensalidade: Preço fixo - R$ 100,00 Horas de suporte: Preço variável por volume - R$ 15,00/hora ``` O primeiro período será criado com um único registro de utilização com quantidade igual a 1 representando o produto "Mensalidade". A plataforma espera que a quantidade de "Horas de suporte" seja informada via API ou pelo operador do sistema. Se isto não acontecer até a data de cobrança do período, a plataforma **não irá gerar a fatura automaticamente**. Neste caso espera-se que a fatura seja gerada a partir do painel de administração ou deste método via API. Como mencionado acima, também é possível gerar uma fatura adicional incluindo registros de uso que ainda não foram faturados. Isso pode acontecer quando você deseja incluir alguma cobrança adicional no período e faz questão de manter a referência do período.
- [Retorna uma lista de registros de utilização para um período específico.](https://developers.vindi.com.br/reference/getv1periodsidusages-1.md): Utilize este método para listar os registros de utilização associados ao período desejado. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination).
- [Retorna uma lista de períodos.](https://developers.vindi.com.br/reference/getv1periods-1.md): Utilize este método para listar os períodos associadas à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, billing_at, subscription_id, start_at, end_at, cycle, duration, created_at e updated_at.
- [Cria uma nova fatura avulsa.](https://developers.vindi.com.br/reference/postv1bills-1.md): Faturas avulsas são independentes de assinaturas e podem ser usadas para cobrar qualquer tipo de valor não recorrente. Todas as faturas seguirão as configurações de retentativa e notificações previamente configuradas na plataforma. #### Exemplo A maioria dos parâmetros deste método são opcionais. O exemplo abaixo efetua a emissão de uma fatura avulsa usando apenas os atributos obrigatórios: ``` { "customer_id": 28, "payment_method_code": "bank_slip", "bill_items": [ { "product_id": 14, "amount": 100 } ] } ``` Recomendamos que você implemente apenas estes parâmetros obrigatórios e adicione os opcionais a medida que a necessidade sugir. Normalmente o comportamento padrão da plataforma é suficiente para a maioria dos casos de uso. #### Lista de produtos Sua fatura avulsa deve conter no mínimo um item na lista `bill_items`. Você deve referenciar o produto através do parâmetro `product_id` ou `product_code`. Diferente das faturas geradas a partir de assinaturas, o valor dos itens das faturas avulsas pode ser informado através do parâmetro `amount` dentro da lista `bill_items`. Apesar do `bill_item` suportar um esquema de precificação (`pricing_schema`) com quantidade (`quantity`), recomendamos utilizar apenas o parâmetro `amount` para evitar complexidade desnecessária no desenvolvimento. Se `pricing_schema`, `quantity` e `amount` forem informados ao mesmo tempo, garanta que todos sejam mutuamente válidos. #### Método de pagamento É obrigatório informar o código do método de pagamento para a geração da fatura. Caso o método escolhido seja cartão de crédito, por exemplo, a plataforma irá tentar efetuar a cobrança com o cartão já cadastrado para o respectivo cliente. Caso nenhum cartão esteja cadastrado, a plataforma enviará por padrão um e-mail automático solicitando os dados de pagamento. Se preferir, você ainda poderá efetuar a captura dos dados de pagamento de duas outras formas diferentes: - Capture os dados em uma página própria (obrigatoriamente com HTTPS) e informe-os para a Vindi através do método da API `POST payment_profiles` antes de criar a fatura; - Ou então redirecione o cliente para o parâmetro `url` da fatura recém-criada, onde ele poderá imprimir o boleto ou inserir as informações de pagamento dentro do ambiente seguro da Vindi. #### Condição de pagamento Por padrão, a condição de pagamento configurada no método de pagamento será utilizada para emitir a cobrança da fatura avulsa. Se desejar customizar a condição para uma fatura específica, informe o parâmetro `payment_condition`. Caso você receba um erro no atributo `payment_condition` informando que o mesmo é inválido, verifique se os dados de data de vencimento `due_at`, data de agendamento `billing_at` e desconto por pontualidade `payment_condition.payment_condition_discounts.days_before_due` estão válidos. O valor da data do limite de desconto não pode ser retroativa, sendo assim, é possível que o parâmetro `payment_condition` fique inválido mesmo que não tenha sido informado, visto que as informações do método de pagamento escolhido serão utilizadas por padrão.
- [Retorna uma fatura específica através do ID.](https://developers.vindi.com.br/reference/getv1billsid-1.md): A fatura totaliza, em valores financeiros, mercadorias ou serviços que serão cobrados do cliente final. Faturas podem ser classificadas em dois tipos: 1. **Faturas provenientes de assinaturas**: São as faturas geradas a partir de assinaturas e seus respectivos períodos. 2. **Faturas avulsas**: Faturas que não possuem qualquer relação com uma assinatura. #### Faturas provenientes de assinaturas Podem ser geradas de duas formas diferentes: 1. **Automaticamente** no dia programado para cobrança através do atributo `billing_at` do período (apenas se este cumprir com os requisitos de faturamento automático). 2. **Manualmente** através do painel de administração ou pelo método da API `POST /periods/{id}/bill`. #### Aprovação de faturas Ao menos que seja especificado nas configurações da plataforma, toda fatura é gerada com o status "Aguardando aprovação" (`review`). Este status serve para validar os valores que serão enviados e cobrados do cliente final. A fatura será cobrada somente após a aprovação, que pode ser feita manualmente através do painel de administração ou do método da API `POST /bills/{id}/approve`. #### Itens da fatura Uma fatura é composta de vários itens representados no array `bill_items`. Cada item possui um valor e um produto associado. A soma de todos os itens é igual ao total da fatura. A única exceção para esta regra é no caso da aplicação de movimentos adicionais de crédito ou débito. #### Descontos Um desconto será representado por um `bill_item` com `amount` negativo e um objeto `discount` associado. Apenas faturas de assinaturas possuem descontos. Faturas avulsas devem ser geradas com seu valor final. #### Cobranças O ato da aprovação da fatura, seja ele automático ou manual, irá gerar um objeto do tipo cobrança (`charge`). Este objeto é a representação da cobrança enviada ao cliente e controla, entre outras coisas, vencimento, notificações automáticas e número de retentativas. Normalmente uma fatura irá conter uma única cobrança, porém a plataforma suporta múltiplas cobranças para uma mesma fatura.
- [Atualiza uma fatura existente.](https://developers.vindi.com.br/reference/putv1billsid-1.md): Utilize este método para alterar os atributos de uma fatura existente. #### Reagendamento da cobrança agendada Através do atributo `billing_at` é possível atualizar a data da cobrança uma fatura agendada (`status=scheduled`) para qualquer outra data no futuro. Esteja ciente que este método não permite o reagendamento para hoje. Se desejar antecipar imediatamente a cobrança uma fatura agendada, utilize o método `POST /bills/{id}/charge`.
- [Cancela uma fatura através do ID.](https://developers.vindi.com.br/reference/deletev1billsid-1.md)
- [Gera notas fiscais de uma fatura através do ID.](https://developers.vindi.com.br/reference/postv1billsidinvoice-1.md): Utilize esta operação para gerar notas fiscais a partir de uma fatura existente. Para isso é necessário que exista uma integração do tipo nota fiscal ativada e a fatura ainda não possua nenhuma nota fiscal gerada. Múltiplas notas fiscais poderão ser geradas caso você esteja usando configurações com esta finalidade, como por exemplo, a [nota fiscal fracionada](https://atendimento.vindi.com.br/hc/pt-br/articles/115003695667-Nota-fiscal-fracionada). Caso seja necessário emitir notas fiscais avulsas com configurações específicas, utilize o método `POST /invoices`.
- [Antecipa imediatamente a cobrança de uma fatura através do ID.](https://developers.vindi.com.br/reference/postv1billsidcharge-1.md): Utilize este método para antecipar imediatamente a cobrança de uma fatura agendada (`status=scheduled`) ou então para cobrar um saldo devedor. Uma nova cobrança será emitida automaticamente.
- [Aprova uma fatura através do ID.](https://developers.vindi.com.br/reference/postv1billsidapprove-1.md): Ao aprovar a fatura, a cobrança será gerada e processada dependendo do método de pagamento escolhido. Apenas faturas com o status `review` podem ser aprovadas.
- [Retorna uma lista de faturas.](https://developers.vindi.com.br/reference/getv1bills-1.md): Utilize este método para listar as faturas associadas à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, code, installments, period_id, subscription_id, customer_id, amount, status, payment_method_id, seen_at, due_at, billing_at, created_at e updated_at. #### Itens da fatura Uma fatura é composta de vários itens representados no array `bill_items`. Este endpoint lista apenas os 25 primeiros itens de cada fatura. Caso queira listar mais itens de uma fatura, utilize o método da API `GET /bills/{id}/bill_items`.
- [Retorna os itens de fatura através de seu ID.](https://developers.vindi.com.br/reference/getv1billsidbillitems-1.md): Utilize este método para listar os itens associados a uma fatura. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination).
- [Retorna um item específico através do ID.](https://developers.vindi.com.br/reference/getv1billitemsid-1.md): Além das informações básicas sobre o item da fatura, através deste método é possível obter todos os registros de utilização associados ao item.
- [Captura manualmente uma cobrança previamente autorizada.](https://developers.vindi.com.br/reference/postv1chargesidcapture-1.md): Este método permite executar a captura de uma cobrança previamente autorizada através da criação de uma nova transação de captura. É importante verificar se o gateway utilizado está configurado para aceitar capturas manuais. Verifique também o prazo máximo de captura permitido pela adquirente utilizada.
- [Revisa manualmente uma cobrança suspeita de fraude.](https://developers.vindi.com.br/reference/postv1chargesidfraudreview-1.md): Utilize este método para aprovar ou rejeitar uma cobrança suspeita de fraude (`status=fraud_review`). O comportamento desta operação irá depender da configuração da integração antifraude: #### Análise antes da autorização Neste caso a análise ocorre antes da comunicação com a adquirente. - Aprovar (`approve`): A aprovação de uma suspeita de fraude irá disparar a tentativa de aprovação da transação junto à adquirente. Lembre-se que esta transação pode ser aprovada ou aprovada pela adquirente. - Rejeitar (`reject`): A rejeição atualizará o status da transação para rejeitado (`rejected`) com uma mensagem de erro genérica. Nenhuma tentativa é realizada na adquirente. #### Análise depois da autorização A análise ocorre após a autorização da adquirente. - Aprovar (`approve`): A plataforma Vindi executa a operação de captura na adquirente. - Rejeitar (`reject`): A rejeição dispara a operação de cancelamento da autorização na adquirente e gera uma transação de captura com o status `rejected`.
- [Retorna uma cobrança específica através do ID.](https://developers.vindi.com.br/reference/getv1chargesid-1.md): Cobranças representam o valor cobrado do cliente, o método de pagamento utilizado e o número de tentativas restantes. #### Impressão de boleto Utilize o atributo `print_url` para visualizar a url do boleto bancário. É possível definir a data de visualização do boleto informando o parâmetro `seen_at` via query string, seguindo o formato ISO 8601. Por exemplo `seen_at=2017-06-30`. Esta opção permite antecipar a impressão de uma cobrança usando uma data no futuro, pré-calculando a multa e os juros caso seja necessário.
- [Atualiza uma cobrança existente.](https://developers.vindi.com.br/reference/putv1chargesid-1.md): Utilize este método para atualizar cobranças existentes. #### Alterar método de pagamento Não é possível alterar o método de pagamento de uma cobrança existente. Para realizar esta operação, reemita a cobrança informando um novo método de pagamento usando o endpoint `POST /charges/{id}/reissue`.
- [Cancela uma cobrança existente.](https://developers.vindi.com.br/reference/deletev1chargesid-1.md): Utilize este método para efetuar o cancelamento de uma cobrança aguardando pagamento. Após a operação de cancelamento, a cobrança assumirá `status=canceled`.
- [Estorna uma cobrança existente.](https://developers.vindi.com.br/reference/postv1chargesidrefund-1.md): Utilize este método para efetuar o estorno (ou cancelamento) de uma cobrança já efetuada com sucesso. É importante observar que não é possível reverter um estorno realizado com sucesso. Após a operação de estorno, a cobrança assumirá `status=canceled`. O cancelamento da fatura associda é opcional e pode ser informado através da opção `cancel_bill` no corpo da requisição. #### Estorno total e parcial A operação de estorno pode ser realizada na totalidade do valor original ou parcialmente, caso seja necessário. É importante observar que nem todas as adquirentes suportam a modalidade de estorno parcial. Para efetuar o estorno total não é obrigatório informar o parâmetro `amount`. #### Retorno síncrono e assíncrono Caso o estorno retorne uma transação (`last_transaction`) contendo o atributo `status=success`, é possível considerar que a operação foi realizada com sucesso e o valor será creditado na fatura do cliente respeitando as regras da adquirente e do banco emissor. Chamamos esta operação de **estorno síncrono**. Em alguns casos também é possível que a plataforma retorne `status=waiting`. Isto significa que o estorno foi recebido com sucesso, porém ainda depende de um processamento adicional na adquirente. Esta operação é chamada de **estorno assíncrono**. Neste caso, você poderá optar pelo recebimento do webhook "Cobrança estornada" (`charge_refunded`) que será enviado assim que a adquirente emitir a confirmação de estorno. O recebimento da confirmação do estorno pode demorar entre alguns minutos até alguns dias.
- [Efetua uma nova tentativa em uma cobrança existente.](https://developers.vindi.com.br/reference/postv1chargesidcharge-1.md): A plataforma Vindi efetua retentativas automáticas de cobranças no intervalo configurado em cada método de pagamento. Você pode consultar a data da próxima tentativa no atributo `next_attempt` de cada cobrança. Ainda assim poderão haver casos onde seja necessário efetuar uma tentativa extraordinária, com ou sem um novo perfil de pagamento. Apenas cobranças no cartão de crédito e débito em conta poderão sofrer retentativas através deste método. #### Retentativa com o perfil existente Se desejar realizar uma retentativa com o perfil de pagamento atual do cliente, efetue o `POST` sem enviar qualquer informação adicional no corpo da requisição e especifique apenas o ID da cobrança existente. #### Retentativa com novo perfil de pagamento Caso seja possível obter os novos dados de pagamento, use este método para cadastrar o novo perfil de pagamento e efetuar a retentativa da cobrança, tudo em uma única requisição. Envie os dados do perfil de pagamento no corpo da requisição, seguindo os parâmetros descritos abaixo. O cadastro do perfil de pagamento também pode ser realizado através do método `POST /payment_profiles`. #### Cuidados As tentativas automáticas da Vindi são calculadas pensando na proteção do seu contrato de adquirência e na proteção do cartão de crédito ou da conta corrente do seu cliente. Efetuar retentativas desnecessárias repetidamente pode acabar bloqueando o cartão de crédito do seu cliente ou comprometendo a integração com seu banco ou adquirente. Use este método exclusivamente para efetuar retentativas manuais em seu backend ou oferecer ao cliente uma tela para atualização das informações de pagamento. Nunca automatize os envio de retentativas.
- [Reemite uma cobrança existente usando outro método de pagamento.](https://developers.vindi.com.br/reference/postv1chargesidreissue-1.md): Para alterar o método de pagamento de uma cobrança existente é necessário efetuar o processo de reemisão. Através deste serviço, a cobrança informada será cancelada e uma nova cobrança será gerada usando os atributos enviados. #### Parcelamento Caso a reemissão envolva parcelamento, atente-se ao número máximo de parcelas do método de pagamento desejado.
- [Retorna uma lista de cobranças.](https://developers.vindi.com.br/reference/getv1charges-1.md): Utilize este método para listar as cobranças associadas à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, customer_id, bill_id, amount, payment_method_id, due_at, paid_at, installments, attempt_count, next_attempt, status, created_at e updated_at.
- [Retorna uma transação específica através do ID.](https://developers.vindi.com.br/reference/getv1transactionsid-1.md): Transações representam a comunicação com instituições financeiras.
- [Atualiza uma transação existente.](https://developers.vindi.com.br/reference/putv1transactionsid-1.md): Utilize este método para atualizar o atributo "Nosso número" (`gateway_transaction_id`) em transações pendentes emitidas usando boleto bancário. Esta atualização é possível apenas caso o método de pagamento em questão não utilize a sequência autoincrementável da transação.
- [Retorna uma lista de transações.](https://developers.vindi.com.br/reference/getv1transactions-1.md): Utilize este método para listar as transações associadas à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, customer_id, charge_id, gateway_id, connector, payment_method_id, transaction_type, amount, installments, status, import_batch_id, export_batch_id, gateway_authorization, gateway_transaction_id, fraud_detector_score, fraud_detector_status, fraud_detector_id, created_at e updated_at.
- [Insere uma nova transação manual.](https://developers.vindi.com.br/reference/postv1transactions-1.md): Este método deve ser utilizado apenas para efetuar a baixa manual de cobranças pagas através de métodos que não são controlados pela plataforma Vindi, como por exemplo, dinheiro em espécie ou depósito em conta. Quando você utiliza a criação manual de transações, a plataforma Vindi considera que o valor em questão foi de fato **recebido**. Por este motivo, não use este método para conceder descontos, créditos ou abonos. #### Cálculo de multa e juros Caso a configuração do método de pagamento original da cobrança contenha multa e juros, tenha cuidado redobrado ao informar a data de pagamento correta através do atributo `paid_at`.
- [Retorna uma lista de transações de recuperação de inadimplência.](https://developers.vindi.com.br/reference/getv1transactionsrecoveries-1.md): Retorna uma lista de transações com recuperação de inadimplencia de um merchant dentro de um período específico
- [Cadastra um novo perfil de pagamento para um cliente existente.](https://developers.vindi.com.br/reference/postv1paymentprofiles-1.md): O perfil de pagamento representa um cartão de crédito ou uma conta bancária armazenada na plataforma Vindi. Leia mais na [documentação](http://atendimento.vindi.com.br/hc/pt-br/articles/204406204-Perfil-de-pagamento). #### Exemplo de requisição para cartão de crédito ``` { "holder_name": "José da Silva", "card_expiration": "12/2018", "card_number": "5167454851671773", "card_cvv": "123", "payment_method_code": "credit_card", "payment_company_code": "mastercard", "customer_id": 51 } ``` #### Exemplo de requisição para dados bancários ``` { "holder_name": "José da Silva", "registry_code": "27721264391", "bank_branch": "0964", "bank_account": "71233-1", "payment_method_code": "bank_debit", "payment_company_code": "itau", "customer_id": 51 } ``` #### Bandeiras e bancos disponíveis Para uma lista completa de códigos de bancos e bandeiras suportadas pela sua conta, utilize o endpoint `GET /payment_methods` e verifique o atributo `payment_companies.code`. #### Detecção automática de bandeira Caso o parâmetro `payment_company_code` não seja informado, a plataforma irá tentar detectar a bandeira do cartão de crédito através do número informado. Este método não garante a detecção automática de bandeiras sem faixas de BIN/IIN definidas publicamente (Elo, Hipercard, Hiper, etc). Se você pretende utilizar cartões destas bandeiras, solicite a bandeira no seu formulário de pagamento e envie através do parâmetro `payment_company_code`. No caso do débito em conta, `payment_company_code` é obrigatório.
- [Retorna um perfil de pagamento específico através do ID.](https://developers.vindi.com.br/reference/getv1paymentprofilesid-1.md)
- [Atualiza um perfil de pagamento existente através do ID.](https://developers.vindi.com.br/reference/putv1paymentprofilesid-1.md)
- [Inativa um perfil de pagamento existente através do ID.](https://developers.vindi.com.br/reference/deletev1paymentprofilesid-1.md)
- [Retorna uma lista de perfis de pagamento.](https://developers.vindi.com.br/reference/getv1paymentprofiles-1.md): Utilize este método para listar perfis de pagamento associados à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Exemplo Para verificar se determinado cliente possui um cartão de crédito ativo, utilize os seguintes filtros no parâmetro `query`: ``` customer_id=[id do cliente] status=active type=PaymentProfile_CreditCard ``` #### Atributos para busca id, customer_id, card_number_first_six, card_number_last_four, card_expiration, payment_company_id, payment_method_id, status, type, created_at, registry_code, bank_account, bank_branch e updated_at.
- [Verifica a validade de um perfil de pagamento existente através do ID.](https://developers.vindi.com.br/reference/postv1paymentprofilesidverify-1.md): Este método permite verificar se um perfil de pagamento existente é válido na entidade emissora. Apenas o método de pagamento cartão de crédito suporta esta operação. Utilize esta função para validar um perfil de pagamento antes da criação de uma assinatura que não possua cobrança imediata. Este método é desnecessário para assinaturas com cobrança imediata. #### Funcionamento Preferencialmente a plataforma Vindi irá executar o método de validação fornecido nativamente pelas adquirentes. Caso este método não esteja disponível, a plataforma poderá realizar uma autorização seguida de um cancelamento. #### Resultado Para verificar o resultado da validação, verifique no retorno se `status=success`. #### Disponibilidade Esta funcionalidade estará disponível para testes enquanto sua conta Vindi estiver no modo trial. Para habilitar no modo produção, instale a extensão "Transação de verificação" acessando ***Configurações > Extensões & Integrações*** no painel de administração da plataforma. Taxas adicionais por verificação poderão ser cobradas.
- [Cria um novo registro de utilização.](https://developers.vindi.com.br/reference/postv1usages-1.md): Para criar um novo registro de utilização em um período é necessário informar um dos produtos contidos na assinatura. Isso pode ser feito através do atributo `product_id` (ID do produto) ou `product_item_id` (ID do item da assinatura). Ao remover um registro com sucesso, o próprio será retornado no corpo da resposta.
- [Remove um período de utilização através do ID.](https://developers.vindi.com.br/reference/deletev1usagesid-1.md): Somente é possível remover um registro de utilização que não está associado a uma fatura. Se o período já estiver faturado, será necessário cancelar a fatura antes de removê-lo.
- [Emite uma nota fiscal avulsa.](https://developers.vindi.com.br/reference/postv1invoices-1.md): Para emitir notas fiscais você obrigatoriamente deve possuir uma integração habilitada com esta função.
- [Retorna uma nota fiscal específica através do ID.](https://developers.vindi.com.br/reference/getv1invoicesid-1.md)
- [Atualiza uma nota fiscal existente.](https://developers.vindi.com.br/reference/putv1invoicesid-1.md)
- [Cancela uma nota fiscal através do ID.](https://developers.vindi.com.br/reference/deletev1invoicesid-1.md)
- [Efetua uma retentativa de envio de nota fiscal existente.](https://developers.vindi.com.br/reference/postv1invoicesidretry-1.md): Utilize esta função para reenviar notas fiscais que já foram geradas. Verifique o status da nota fiscal antes de utilizar este método e evite uma exportação duplicada indesejada.
- [Retorna uma lista de notas fiscais.](https://developers.vindi.com.br/reference/getv1invoices-1.md): Utilize este método para listar as notas fiscais associadas à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, customer_id, bill_id, integration_id, status, integration_invoice_id, integration_reference, issued_at, created_at e integration_type.
- [Cria um novo movimento financeiro de ajuste.](https://developers.vindi.com.br/reference/postv1movements-1.md): Utilize este método para criar um movimento financeiro de ajuste (crédito).
- [Remove um movimento financeiro pendente através de um ID.](https://developers.vindi.com.br/reference/deletev1movementsid-1.md)
- [Envia uma nova mensagem.](https://developers.vindi.com.br/reference/postv1messages-1.md): Este método permite enviar manualmente mensagens a partir de notificações existentes. Esteja ciente que as notificações desempenham sua função automaticamente e que este método deve ser usado apenas para reenviar mensagens que não chegaram ao destino por erros de cadastro ou recebimento.
- [Retorna uma lista de mensagens.](https://developers.vindi.com.br/reference/getv1messages-1.md): Utilize este método para listar as mensagens enviadas através da sua conta na plataforma Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, notification_type, notification_id, seen_at, customer_id, charge_id e created_at.
- [Retorna uma mensagem específica através do ID.](https://developers.vindi.com.br/reference/getv1messagesid-1.md)
- [Cria um novo lote de exportação.](https://developers.vindi.com.br/reference/postv1exportbatches-1.md)
- [Aprova um lote de exportação específico através do ID.](https://developers.vindi.com.br/reference/postv1exportbatchesidapprove-1.md)
- [Retorna uma lista de lotes de exportação.](https://developers.vindi.com.br/reference/getv1exportbatches-1.md)
- [Retorna um lote de exportação específico através do ID.](https://developers.vindi.com.br/reference/getv1exportbatchesid-1.md)
- [Efetua upload de um novo lote de importação.](https://developers.vindi.com.br/reference/postv1importbatches-1.md): Utilize este método para efetuar o upload de um arquivo de retorno de boleto bancário ou débito em conta. #### Content-Type Este é o único método da API Vindi que deve ser usado no modo [multipart](http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html) com o cabeçalho `Content-Type: multipart/form-data`. Consulte a documentação da sua biblioteca REST e não se esqueça de informar o código do método de pagamento através do parâmetro `payment_method_code`. Também informe o parâmetro `payment_company_code` no caso do débito em conta.
- [Retorna uma lista de lotes de importação.](https://developers.vindi.com.br/reference/getv1importbatches-1.md): Utilize este método para listar os lotes de importação associados à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, payment_method_id, batch_file_size, batch_file_name, batch_fingerprint, created_at e updated_at.
- [Retorna um lote de importação específico através do ID.](https://developers.vindi.com.br/reference/getv1importbatchesid-1.md)
- [Retorna uma pendência específica através do ID.](https://developers.vindi.com.br/reference/getv1issuesid-1.md)
- [Retorna uma lista de pendências.](https://developers.vindi.com.br/reference/getv1issues-1.md): Utilize este método para listar as pendências associadas à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, status, item_id, item_type, issue_type, customer_id, created_at e updated_at.
- [Atualiza uma pendência existente através do ID.](https://developers.vindi.com.br/reference/putv1issuesid-1.md)
- [Cadastra uma nova notificação.](https://developers.vindi.com.br/reference/postv1notifications-1.md)
- [Remove um item da segmentação da notificação.](https://developers.vindi.com.br/reference/deletev1notificationsidnotificationitemsnotificationitemid-1.md)
- [Retorna uma lista de items para segmentação da notificação.](https://developers.vindi.com.br/reference/getv1notificationsidnotificationitems-1.md): Lista de itens para segmentação da notificação. Recomendamos que mantenha esta lista vazia ao menos que precise necessariamente restringir o envio da notificação para um ou mais planos ou métodos de pagamento.
- [Cria um item para segmentação da notificação.](https://developers.vindi.com.br/reference/postv1notificationsidnotificationitems-1.md)
- [Retorna uma notificação através do ID.](https://developers.vindi.com.br/reference/getv1notificationsid-1.md)
- [Atualiza uma notificação.](https://developers.vindi.com.br/reference/putv1notificationsid-1.md)
- [Remove uma notificação.](https://developers.vindi.com.br/reference/deletev1notificationsid-1.md)
- [Retorna uma lista de notificações.](https://developers.vindi.com.br/reference/getv1notifications-1.md): Utilize este método para listar as notificações associadas à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id.
- [Retorna uma empresa específica através do ID.](https://developers.vindi.com.br/reference/getv1merchantsid-1.md)
- [Retorna a empresa atual.](https://developers.vindi.com.br/reference/getv1merchantscurrent-1.md)
- [Retorna uma lista de empresas.](https://developers.vindi.com.br/reference/getv1merchants-1.md)
- [/v1/merchants/{id}](https://developers.vindi.com.br/reference/patchv1merchantsid-1.md)
- [/v1/merchant_users](https://developers.vindi.com.br/reference/postv1merchantusers-1.md): Cadastra um novo usuário associado.
- [/v1/merchant_users/{id}](https://developers.vindi.com.br/reference/getv1merchantusersid-1.md): Retorna um usuário associado através do ID.
- [/v1/merchant_users/{id}](https://developers.vindi.com.br/reference/putv1merchantusersid-1.md): Atualiza um usuário associado.
- [/v1/merchant_users/{id}](https://developers.vindi.com.br/reference/deletev1merchantusersid-1.md): Remove um usuário associado.
- [/v1/merchant_users/{id}/reactivate](https://developers.vindi.com.br/reference/postv1merchantusersidreactivate-1.md): Reativa um usuário desativado por inatividade.
- [Retorna uma lista de usuários associados à empresa atual.](https://developers.vindi.com.br/reference/getv1merchantusers-1.md): Utilize este método para listar os Usuários de um determinado merchant. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca id, email e status.
- [/v1/roles](https://developers.vindi.com.br/reference/getv1roles-1.md): Retorna uma lista de perfis de acesso.
- [/v1/users/current](https://developers.vindi.com.br/reference/getv1userscurrent-1.md): Retorna o usuário atual.
- [Cadastra um novo perfil de pagamento](https://developers.vindi.com.br/reference/postv1publicpaymentprofiles-1.md): Este método permite o cadastro de perfis de pagamento através de uma API específica para chamadas Javascript no browser do seu cliente. Com esta função você reduz o escopo PCI do seu projeto pois os dados do cartão de crédito não irão trafegador em seus servidores. Os parâmetros são praticamente os mesmos do método `POST /payment_profiles`. Para mais informações sobre o cadastro assíncrono via Javascript, consulte este artigo.
- [/v1/affiliates](https://developers.vindi.com.br/reference/postv1affiliates-1.md): Cadastra um novo participante do split de pagamento
- [/v1/affiliates/{id}/verify](https://developers.vindi.com.br/reference/putv1affiliatesidverify-1.md): Executa nova verificação de participante
- [/v1/affiliates/{id}](https://developers.vindi.com.br/reference/getv1affiliatesid-1.md): Retorna um participante do split de pagamentos específico através do ID.
- [/v1/affiliates/{id}](https://developers.vindi.com.br/reference/putv1affiliatesid-1.md): Atualiza um participante do split de pagamentos.
- [Retorna uma lista de participantes do split de pagamentos.](https://developers.vindi.com.br/reference/getv1affiliates-1.md)
- [Retorna uma lista de contas do parceiro.](https://developers.vindi.com.br/reference/getv1partneraccounts-1.md): Utilize este método para listar as contas associadas ao parceiro. Leia a documentação sobre [paginação](https://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](https://atendimento.vindi.com.br/hc/pt-br/articles/204163150).
- [Cadastra uma nova conta do parceiro](https://developers.vindi.com.br/reference/postv1partneraccounts-1.md): A API de parceiros é ideal para parcerias de contas guarda-chuva ou [canais*](https://blog.vindi.com.br/programa-de-parcerias/). Com essa integração, nossos parceiros terão autonomia para criar suas próprias contas SaaS e se conectar à subadquirente da Vindi, via API. Os novos endpoints fazem parte de uma rota de serviços de autoatendimento, permitindo a criação e o credenciamento de subcontas de contas guarda-chuva por meio da API. Com isso, o processo de criação de conta na Vindi Recorrência e na Vindi Pagamentos é automatizado, oferecendo uma experiência mais rápida e eficiente aos nossos parceiros. Para solicitar as credenciais para utilização, fale com a gente na [central de ajuda](https://atendimento.vindi.com.br/hc/pt-br) ou com o seu gerente de contas para que a integração seja liberada. Utilize esta função para criar novas contas.
## Pages
- [Sobre o Developers Vindi](https://developers.vindi.com.br/o-dev-portal.md)