Axuz Developers

POST /teams/{teamId}/billing/invoices/{invoiceId}/charge

Cobra fatura open em payment_method salvo

  • Access: Team admin
  • Service: https://api-billing.axuz.net

Accepted authentication

  • sessionCookie — Sessão plena Axuz (cookie de sessão da casa). Sessão restrita é 403 enrollment_required.
  • bearerSession — JWT de acesso da sessão em `Authorization: Bearer`.

Sucesso imediato → 200. Pending (SCA / async) → 202 (webhook confirma). Falha → 502 com o motivo.

Parameters

NameInTypeRequiredDescription
teamIdpathstringyes
invoiceIdpathstringyes

Request body

application/json

NameTypeRequiredDescription
payment_method_idstringno

UUID de payment_methods; vazio = default do time

{
  "payment_method_id": "string"
}

Responses

200

pago

NameTypeRequiredDescription
okbooleanno
statusstringno
provider_idstringno

202

pending (aguarda webhook)

NameTypeRequiredDescription
okbooleanno
statusstringno
provider_idstringno
requires_webhookbooleanno

400

input inválido

NameTypeRequiredDescription
errorstringyes

401

Sem credencial valida

NameTypeRequiredDescription
errorstringyes

403

Sem permissao (nao e owner/admin; token sem escopo; token de integracao em rota nao permitida)

NameTypeRequiredDescription
errorstringyes

404

recurso não encontrado

NameTypeRequiredDescription
errorstringyes

409

fatura já paga / não cobrável

NameTypeRequiredDescription
errorstringyes

429

Limite de requisições excedido.

NameTypeRequiredDescription
errorstringyes

500

Erro interno. Tente de novo com backoff; reporte o X-Request-Id.

NameTypeRequiredDescription
errorstringyes

502

falha do gateway

NameTypeRequiredDescription
errorstringyes

503

gateway não configurado

NameTypeRequiredDescription
errorstringyes

Examples

"Try it" is turned off in this reference. Use the examples with your test credential.

curl

curl -sS -X POST 'https://api-billing.axuz.net/teams/TEAM_ID/billing/invoices/INVOICE_ID/charge' \
  -H "Authorization: Bearer $AXUZ_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"payment_method_id":"string"}'

Node.js

const res = await fetch("https://api-billing.axuz.net/teams/TEAM_ID/billing/invoices/INVOICE_ID/charge", {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.AXUZ_TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "payment_method_id": "string"
  }),
});
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
console.log(await res.json());

Python

import os
import requests

res = requests.request(
    "POST",
    "https://api-billing.axuz.net/teams/TEAM_ID/billing/invoices/INVOICE_ID/charge",
    headers={
        "Authorization": f"Bearer {os.environ['AXUZ_TOKEN']}",
    },
    json={
        "payment_method_id": "string",
    },
    timeout=30,
)
res.raise_for_status()
print(res.json())