Criando Assinatura
A assinatura representa uma cobrança recorrente baseada em um plano previamente criado. Ao criar uma assinatura, a Barte passa a gerar cobranças automaticamente de acordo com a periodicidade definida no plano.
📌 A confirmação de pagamentos recorrentes sempre ocorre via webhook, independentemente do método de pagamento.
Endpoint
POST /v2/subscriptions
https://api.barte.com/v2/subscriptions
Headers
X-Token-Api: YOUR_API_KEY
Content-Type: application/json
Accept: */*Pré-requisitos
Antes de criar uma assinatura, é necessário:
Ter um plano ativo
Possuir o
uuiddo planoPossuir o
uuiddo comprador (buyer)Definir o método de pagamento aceito pelo plano
Body
Response
Campos mais importantes da resposta
uuid- Identificador único da assinatura. Deve ser salvo para:Consultas futuras
Validação de webhooks
Gestão da assinatura
status- Status atual da assinatura. Exemplos:PENDING→ aguardando primeiro pagamentoACTIVE→ assinatura ativaCANCELED→ assinatura canceladaSUSPENDED→ cobrança interrompida
charges[].uuid- Identificador da cobrança gerada. Necessário para:Estornos
Conciliação
Auditoria
charges[].status- Status da cobrança recorrente. Exemplos:PAIDPENDINGFAILEDABANDONED
Confirmação de pagamento
Após a criação da assinatura:
A primeira cobrança é gerada automaticamente
O pagamento pode ser:
Processado imediatamente (cartão)
Processado de forma assíncrona (PIX / boleto)
Alterações de status sempre geram webhooks
📌 Utilize o webhook como fonte única de verdade para:
Confirmar pagamento
Ativar serviços
Liberar acesso
Fluxo resumido da assinatura
Boas práticas
Sempre armazene:
uuidda assinaturauuiddas cobranças
Utilize webhooks para confirmação
Trate webhooks de forma idempotente
Valide se o plano está ativo antes de criar a assinatura
Use
metadatapara controle internoMonitore falhas de pagamento recorrente
O que não fazer
Criar assinatura com plano inativo
Confirmar pagamento sem webhook
Reutilizar assinaturas canceladas
Assumir sucesso apenas pela resposta da API
Expor sua chave de API no frontend
Last updated
Was this helpful?

