Axuz Developers

POST /teams/{teamId}/billing/payment-methods

Cria método (manual ou via gateway)

  • Acesso: Admin da equipe
  • Serviço: https://api-billing.axuz.net

Autenticação aceita

  • 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`.

Responde POST /teams/{teamId}/billing/ payment-methods. Quando provider não-manual, chama o adapter pra garantir customer + attach do payment_method no gateway e persiste os dados retornados (last4/brand oficiais). Efeitos: chamada externa ao provider (Stripe/MP), INSERT em payment_methods, opcional UPDATE pra marcar como default. Falha do provider aborta antes do INSERT (nunca persiste método parcial). Auditado como billing.payment_method.added.

Parâmetros

NomeEmTipoObrigatórioDescrição
teamIdpathstringsim

Corpo da requisição

application/json · Obrigatório

NomeTipoObrigatórioDescrição
providerstringnão

default = gateway.Default

provider_method_idstringnão
kindstringnão
display_labelstringnão
brandstringnão
last4stringnão
exp_monthinteger | nullnão
exp_yearinteger | nullnão
make_defaultbooleannão
tokenstringnão

Stripe Elements tokenisation (pm_*) — repassa ao adapter

gateway_payloadobjectnão
{
  "provider": "string",
  "provider_method_id": "string",
  "kind": "manual",
  "display_label": "string",
  "brand": "string",
  "last4": "string",
  "exp_month": 1,
  "exp_year": 1,
  "make_default": true,
  "token": "string",
  "gateway_payload": {}
}

Respostas

201

criado

NomeTipoObrigatórioDescrição
idstring<uuid>não

400

input inválido

NomeTipoObrigatórioDescrição
errorstringsim

401

Sem credencial valida

NomeTipoObrigatórioDescrição
errorstringsim

403

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

NomeTipoObrigatórioDescrição
errorstringsim

429

Limite de requisições excedido.

NomeTipoObrigatórioDescrição
errorstringsim

500

erro interno

NomeTipoObrigatórioDescrição
errorstringsim

502

falha do gateway

NomeTipoObrigatórioDescrição
errorstringsim

503

gateway não configurado

NomeTipoObrigatórioDescrição
errorstringsim

Exemplos

O "Try it" está desligado nesta referência. Use os exemplos com a sua credencial de teste.

curl

curl -sS -X POST 'https://api-billing.axuz.net/teams/TEAM_ID/billing/payment-methods' \
  -H "Authorization: Bearer $AXUZ_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"provider":"string","provider_method_id":"string","kind":"manual","display_label":"string","brand":"string","last4":"string","exp_month":1,"exp_year":1,"make_default":true,"token":"string","gateway_payload":{}}'

Node.js

const res = await fetch("https://api-billing.axuz.net/teams/TEAM_ID/billing/payment-methods", {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.AXUZ_TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "provider": "string",
    "provider_method_id": "string",
    "kind": "manual",
    "display_label": "string",
    "brand": "string",
    "last4": "string",
    "exp_month": 1,
    "exp_year": 1,
    "make_default": true,
    "token": "string",
    "gateway_payload": {}
  }),
});
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/payment-methods",
    headers={
        "Authorization": f"Bearer {os.environ['AXUZ_TOKEN']}",
    },
    json={
        "provider": "string",
        "provider_method_id": "string",
        "kind": "manual",
        "display_label": "string",
        "brand": "string",
        "last4": "string",
        "exp_month": 1,
        "exp_year": 1,
        "make_default": True,
        "token": "string",
        "gateway_payload": {},
    },
    timeout=30,
)
res.raise_for_status()
print(res.json())