Pular para o conteúdo

Lista os cartões salvos

GET /portal/payment-methods

Escopo do token: payment_methods:read. Recurso: Cartões.

Os exemplos leem o token da variável de ambiente HALVER_API_TOKEN (um token sc_live_… criado em Desenvolvedores › Tokens de API). Nunca escreva o token no código.

Janela do terminal
curl "https://dash.halver.com.br/api/v1/portal/payment-methods" \
-H "Authorization: Bearer $HALVER_API_TOKEN"

Cartões salvos (padrão primeiro).

Campos da resposta
  • data array de object obrigatório
    • brand string obrigatório
    • created_at string (date-time) obrigatório
    • customer_id string (uuid) obrigatório
    • expiry_month integer obrigatório
    • expiry_year integer obrigatório
    • holder_name string obrigatório
    • id string (uuid) obrigatório
    • is_default boolean obrigatório
    • last4 string obrigatório
    • provider string obrigatório

      Como a fatura é recebida. manual = Pix direto na conta da empresa, baixado por conciliação ou manualmente. stripe e asaas significam “cobrada num gateway” e aceitam Pix, boleto e cartão: cada cobrança nova sai pelo provedor configurado para a forma (PIX_PROVIDER, BOLETO_PROVIDER, CARD_PROVIDER; veja GET /public/card-config), a cobrança já emitida termina no provedor que a emitiu e um cartão salvo é sempre cobrado no provedor que o salvou. Contratos novos nascem com o provedor configurado (Stripe quando ela está configurada). Um de: asaas, stripe, nupay, manual.

    • type string obrigatório

      Um de: credit_card.

Exemplo de resposta
{
"data": [
{
"brand": "visa",
"created_at": "2026-10-20T18:00:00Z",
"customer_id": "38c54167-ea0a-48dd-84bf-459deb34cae8",
"expiry_month": 12,
"expiry_year": 2030,
"holder_name": "ANA SOUZA",
"id": "b3588322-3d69-442f-8bfb-a261636228e6",
"is_default": false,
"last4": "4242",
"provider": "asaas",
"type": "credit_card"
}
]
}

Todo erro vem como application/problem+json (RFC 9457), com um code estável, a mensagem em português em detail, o motivo de cada campo em errors (nos erros de validação) e o request_id, que você informa ao suporte. Veja a lista completa de códigos.

Status Quando Códigos
401 Não autenticado (token ausente, inválido ou expirado; credenciais inválidas). auth.unauthorized
403 Autenticado, mas sem permissão para a área ou a operação. api_token.insufficient_scope
Exemplo de erro
{
"type": "about:blank",
"title": "Forbidden",
"status": 403,
"detail": "o token não tem o escopo payment_methods:read; crie um token com esse escopo em Desenvolvedores › Tokens de API",
"code": "api_token.insufficient_scope",
"request_id": "6f1c0b2a9e4d7c3b5a8f0e1d"
}