1. Assinaturas - Recorrência
SYNC-DOCUMENTATION
  • Introdução
  • Auth Token
    • Gera o token de utilização da aplicação
      POST
  • Saldo
    • Retorna o Saldo do Usuário
      GET
  • Transações
    • Consulta status da transação
      GET
  • Utmify
    • Salvar Token
      POST
    • Desativa Token
      POST
  • Partner
    • Consulta dados do Parceiro
      GET
  • Cartão de Crédito
    • Selar um cartão
      POST
    • Cobrar no cartão
      POST
  • Pix - CashIn
    • Solicitação de depósito via Pix
      POST
  • Old API
    • CashIn
      POST
    • Consulta os dados do Parceiro
      GET
  • Assinaturas - Recorrência
    • Assinatura com Cartão de Crédito
    • Planos
      • Listar planos
      • Criar plano
      • Detalhe do plano
      • Editar plano
      • Arquivar plano
      • Assinantes do plano
    • Assinantes
      • Cadastrar assinante
      • Listar assinantes
      • Detalhe da assinatura
      • Cancelar assinatura
      • Pausar assinatura
      • Reativar assinatura
      • Reenviar cobrança
      • Trocar plano da assinatura
    • Notificações
      • Listar entregas de um webhook
    • Splits
      • Adicionar recebedor de split a um plano
      • Listar splits enviados (perspectiva do seller)
      • Listar convites recebidos (perspectiva do recebedor)
      • Aceitar convite de split
      • Rejeitar convite de split
      • Cancelar split (perspectiva do seller)
    • Produtos — Planos
      • Listar planos aninhados a um produto
      • Criar plano aninhado a um produto
      • Atualizar plano aninhado
      • Desativar plano aninhado
      • Marcar plano como padrão do produto
  • Reembolsos
    • Solicitar reembolso de uma venda
      POST
    • Consultar uma solicitação de reembolso
      GET
  • Raiz
  • Webhooks
    • Cash-In
      • Cash-in criado (cobrança PIX gerada)
      • Cash-in atualizado (mudança de status)
      • Cash-in legado (notificação mínima)
    • Cash-Out
      • Cash-out criado (saque solicitado)
      • Cash-out atualizado (mudança de status do saque)
    • Cartão de Crédito
      • Cartão de crédito — cobrança criada
      • Cartão de crédito — mudança de status
    • Transações - Completo
      • Cobrança de transação criada
      • Transação teve mudança de status
    • Listar webhooks
    • Criar webhook
    • Atualizar webhook
    • Excluir webhook
    • Rotacionar o segredo de assinatura
  • Esquemas
    • Webhook
      • CashIn
        • onCreate
        • onUpdate
        • CashinCreated
        • CashinUpdated
        • CashinOld
      • CashOut
        • onCreate
        • onUpdate
      • Cash-In
        • CashinCreated
        • CashinUpdated
        • CashinOld
    • TransactionEvent
    • BillingMethod
    • CardTokenRequest
    • WebhookInput
    • CreditCardCreatePayload
    • CashinCreated
    • CreditCardCreated
    • RefundReason
    • CashoutCreated
    • CreditCardUpdated
    • CreditCardStatusPayload
    • CardToken
    • Transaction
    • CashinUpdated
    • CashoutUpdated
    • Webhook
    • PlanStatus
    • RefundStatus
    • SplitStatus
    • CashinOld
    • RefundWebhookPayload
    • Customer
    • CreatedWebhook
    • CreditCardPaymentRequest
    • RefundRejectionCategory
    • PaymentMethod
    • CreditCardPaymentAccepted
    • DebtorAccount
    • SubscriptionSplit
    • WebhookListItem
    • Payment
    • WebhookDelivery
    • RefundRequest
    • SplitRecipientPayload
    • SimpleError
    • RefundTransaction
    • SubscriptionSplitInvite
    • StoreProductPlanRequest
    • RotatedWebhookSecret
    • Card
    • CodedError
    • RefundEvent
    • SubscriptionStatus
    • Checkout
    • UpdateProductPlanRequest
    • RefusedError
    • ChargeStatus
    • PaymentLink
    • AntiFraudError
    • Error
    • Tracking
    • ValidationError
    • PlanResource
    • PaginationMeta
    • ChargeResource
    • SubscriptionResource
    • EnrollPaymentQrCode
    • EnrollPaymentPixAutomatico
    • WebhookResource
    • NotFoundError
    • WebhookEnvelope
    • ChargeBlock
    • MandateBlock
    • WebhookDeliveryResource
  1. Assinaturas - Recorrência

Assinatura com Cartão de Crédito

Integração — assinatura no cartão de crédito (API parceira)#

Como criar um plano cobrado no cartão e matricular um assinante pela API parceira.
Base URL: https://api.syncpayments.com.br/api/partner/v1
Autenticação: Authorization: Bearer <token> em todas as chamadas.

1. Criar o plano#

Uma vez por plano.
Restrições específicas do cartão:
RegraDetalhe
Teto por cicloR$ 10.000,00
billing_methodImutável depois de criado
periodicity_daysNão pode mudar depois que o plano é espelhado na adquirente
Resposta 201 traz o token do plano, usado no passo 3.

2. Selar o cartão#

Uma vez por adesão. O selo é de uso único e tem validade curta: um selo, uma cobrança.
Formato exigido:
number — 13 a 19 dígitos, validado por Luhn
expiry_month — 2 dígitos (01–12)
expiry_year — 4 dígitos
cvv — 3 ou 4 dígitos
Resposta 201:
{ "data": { "token": "card_token.<blob>", "brand": "visa", "last4": "1111", "expires_at": 1757369000 } }
O número do cartão nunca precisa ser guardado do seu lado — só o token, até a chamada do passo 3.

3. Matricular o assinante#

Diferenças em relação a um plano de PIX:
CampoComportamento no cartão
card.tokenObrigatório (e proibido em planos de PIX)
phoneObrigatório — a adquirente recusa a criação sem ele
charge_nowProibido — a cobrança no cartão é sempre imediata
customer_ipOpcional, mas recomendado
Sobre o customer_ip: envie o IP do comprador final, não o do seu servidor. Ele alimenta a análise antifraude. Como a chamada é servidor a servidor, sem esse campo não há IP de comprador nenhum para avaliar; e enviar o IP do seu servidor faria uma tentativa fraudulenta de um comprador afetar todas as suas adesões seguintes.

4. Interpretar a resposta#

A resposta é 201 tanto na aprovação quanto na recusa. Quem decide é payment.status.
{
  "subscription_token": "8f1c…",
  "status": "pending_first_payment",
  "billing_method": "credit_card",
  "payment": {
    "type": "credit_card",
    "status": "approved",
    "card_brand": "visa",
    "card_last4": "1111"
  }
}
Dois pontos que costumam confundir:
status vem pending_first_payment mesmo com payment.status: "approved". A autorização é síncrona, a ativação não. Trate approved como "cartão autorizado, aguarde a confirmação".
declined não traz motivo, e o selo já foi consumido. A recusa não distingue cartão sem limite, bloqueio antifraude ou indisponibilidade do provedor — expor isso transformaria o endpoint em ferramenta de teste de cartões roubados. Para tentar de novo, volte ao passo 2 e gere um selo novo.

5. Liberar o acesso pelo webhook#

Não libere o acesso com base no approved do passo 4. Espere o evento assinatura_ativada.
Eventos relevantes no cartão:
EventoQuando
assinatura_ativadaPrimeiro ciclo confirmado — é aqui que o acesso é liberado
cobranca_pagaQualquer ciclo confirmado
assinatura_renovadaCiclo seguinte cobrado
assinatura_em_atrasoCobrança não confirmada dentro do prazo
assinatura_canceladaAssinatura encerrada

Limites de requisição#

Aplicados apenas a planos de cartão; planos de PIX não são afetados.
LimiteJanela
10 adesões por conta1 minuto
5 adesões por documento (CPF/CNPJ)1 hora
Ao estourar, a resposta é 429.

Erros comuns#

SituaçãoResposta
card ausente em plano de cartão422 em card
card enviado em plano de PIX422 em card
phone ausente em plano de cartão422 em phone
charge_now enviado em plano de cartão422 em charge_now
customer_ip malformado422 em customer_ip
Cartão indisponível para a conta422 em billing_method
Plano inexistente, inativo ou de outra conta404
Limite de requisições estourado429
O 422 em billing_method cobre três causas — recurso não habilitado, permissão de cartão via API ausente, ou conta sem credencial de adquirente ativa. A mensagem é a mesma nos três casos; para resolver, fale com o suporte.

Resumo do fluxo por assinante#

POST /card-tokens                              → card_token.<blob>
POST /subscription-plans/{token}/enroll        → payment.status
        ├── approved  → aguarde assinatura_ativada → libere o acesso
        └── declined  → novo selo, nova tentativa
Modificado em 2026-09-09 13:24:00
Página anterior
Consulta os dados do Parceiro
Próxima página
Listar planos
Built with