Introdução
A API do BravoPay é uma REST API que aceita JSON e usa códigos HTTP padrão. Você consegue criar produtos, checkouts e ler transações programaticamente.
Base URL: https://bravopay.solutions/api/v1
curl https://bravopay.solutions/api/v1/me \
-H "Authorization: Bearer bp_live_..."Autenticação
Toda requisição precisa de uma API Key passada no header Authorization com o esquema Bearer.
Gere uma chave em Configurações → API Keys. A chave aparece uma única vez; guarde com segurança no seu backend (nunca exponha no frontend).
curl https://bravopay.solutions/api/v1/products \
-H "Authorization: Bearer bp_live_xyz..."Erros
A API retorna códigos HTTP padrão. Erros vêm com um corpo JSON contendo error.code e error.message.
{
"error": {
"code": "validation_error",
"message": "Some fields are invalid.",
"details": {
"price_cents": ["Number must be greater than 0"]
}
}
}200/201/204— sucesso400— corpo inválido401— API key ausente ou inválida404— recurso não encontrado422— validação falhou5xx— erro interno
Produtos
O objeto Product representa algo que você vende.
/productsLista os produtos da conta autenticada.
curl https://bravopay.solutions/api/v1/products?limit=20 \
-H "Authorization: Bearer bp_live_..."/productsCria um novo produto.
{
"name": "Curso de tráfego pago",
"description": "Conteúdo + mentoria 30 dias",
"type": "DIGITAL",
"price_cents": 19900,
"currency": "BRL",
"active": true
}/products/{id}Recupera um produto específico.
/products/{id}Atualiza campos do produto (parcial).
{ "active": false, "price_cents": 24900 }/products/{id}Exclui o produto. Checkouts vinculados também são removidos.
Checkouts
Um Checkout é uma página pública de pagamento para um produto.
/checkoutsLista os checkouts.
/checkoutsCria um checkout.
{
"product_id": "ckl_abc123",
"slug": "trafego-pago",
"payment_methods": ["pix", "card"],
"active": true
}/checkouts/{id}Recupera um checkout. O campo url contém a página pública.
/checkouts/{id}Atualiza o checkout.
/checkouts/{id}Exclui o checkout.
Transações
Transações são criadas automaticamente quando um cliente paga em um checkout. Por enquanto só leitura via API.
/transactionsLista as transações. Aceita filtros ?status=PAID&method=PIX.
{
"data": [
{
"id": "txn_...",
"object": "transaction",
"amount_cents": 19900,
"method": "PIX",
"status": "PAID",
"customer": { "email": "comprador@email.com" },
"tracking": { "utm_source": "facebook", "fbclid": "..." },
"paid_at": "2026-05-22T21:53:30Z"
}
],
"has_more": false,
"next_cursor": null
}Conta
Consulta dados da conta + saldo atual.
/meRetorna informações do dono da API key.
{
"object": "account",
"id": "usr_...",
"email": "voce@email.com",
"name": "Seu Nome",
"balance_cents": 0,
"pending_balance_cents": 0,
"currency": "BRL"
}Webhooks
Em breve. O BravoPay vai enviar webhooks pra você quando uma transação for paga, expirar, ser reembolsada ou virar chargeback. Configure URL e eventos em Integrações.
transaction.paidtransaction.expiredtransaction.refundedtransaction.chargeback