Facturación
Métodos de pago, suscripciones y compras. Lo que cobra lo confirma una persona.
Privacidad y analítica
Utilizamos cookies técnicas necesarias y, solo si das tu consentimiento, analítica y pixels de marketing para mejorar la web y medir campañas.
Métodos de pago, suscripciones y compras. Lo que cobra lo confirma una persona.
Actualizado el 1 de enero de 1970
Equipo de Nömad: crea un presupuesto en borrador para la marca o guarda cambios de uno en borrador (version es la que se vio).
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.quotes.save |
| Herramienta MCP | billing_quotes_save |
| Alcance | billing.write |
| Rol mínimo | Facturación |
| Confirmación humana | No |
| Puertas | API, MCP, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
id?: string // uuid
version?: integer // –9007199254740991
createKey?: string // uuid
name: string // ≤ 200
currency: "eur" | "usd" | "gbp"
validUntil: string | null
items: Array<{
id: string // uuid
productId: string // ≤ 120
title: string // ≤ 240
quantity: integer // –1000000
unitAmount: integer // 0–2147483647
components: Array<{
serviceId: string // uuid
title: string // ≤ 240
quantity: number // –1000000
unit: string // ≤ 30
unitPrice: integer | null
}> // ≤ 100 items
}> // ≤ 100 items
}Salida
{
id: string // uuid
}Equipo de Nömad: marca un presupuesto como enviado, aceptado, rechazado o caducado.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.quotes.transition |
| Herramienta MCP | billing_quotes_transition |
| Alcance | billing.write |
| Rol mínimo | Facturación |
| Confirmación humana | No |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
quoteId: string // uuid
version: integer // -9007199254740991–9007199254740991
status: "sent" | "accepted" | "rejected" | "expired"
}Salida
{
id: string // uuid
}Equipo de Nömad: convierte un presupuesto aceptado en pedido.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.quotes.convert |
| Herramienta MCP | billing_quotes_convert |
| Alcance | billing.write |
| Rol mínimo | Facturación |
| Confirmación humana | No |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
quoteId: string // uuid
}Salida
{
orderId: string
}Equipo de Nömad: crea un pedido de la marca con las líneas indicadas, sin presupuesto.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.orders.create_manual |
| Herramienta MCP | billing_orders_create_manual |
| Alcance | billing.write |
| Rol mínimo | Facturación |
| Confirmación humana | No |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
id?: string // uuid
version?: integer // –9007199254740991
createKey?: string // uuid
name: string // ≤ 200
currency: "eur" | "usd" | "gbp"
validUntil: string | null
items: Array<{
id: string // uuid
productId: string // ≤ 120
title: string // ≤ 240
quantity: integer // –1000000
unitAmount: integer // 0–2147483647
components: Array<{
serviceId: string // uuid
title: string // ≤ 240
quantity: number // –1000000
unit: string // ≤ 30
unitPrice: integer | null
}> // ≤ 100 items
}> // ≤ 100 items
}Salida
{
orderId: string
}Abre en Stripe el alta de una tarjeta o domiciliación para quien paga la marca y devuelve el secreto con el que el navegador la completa. Solo personas de la marca con acceso a facturación; el equipo de Nömad nunca cambia la tarjeta de un cliente.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.payment_methods.start_setup |
| Herramienta MCP | billing_payment_methods_start_setup |
| Alcance | billing.write |
| Rol mínimo | Facturación |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{}Salida
{
clientSecret: string
publishableKey: string
preferSepa: boolean
}Tras completar el alta en el navegador, guarda el método como el de cobro de quien paga la marca y devuelve el método guardado. Solo acepta un alta creada para ese pagador.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.payment_methods.confirm_setup |
| Herramienta MCP | billing_payment_methods_confirm_setup |
| Alcance | billing.write |
| Rol mínimo | Facturación |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
setupIntentId: string
}Salida
{
method: {
id: string
methodType: "card" | "sepa_debit" | "other"
displayBrand: string | null
last4: string | null
expMonth: integer | null
expYear: integer | null
wallet: string | null
createdAt: string
}
| null
}Cambia el plan de pago de la marca o su periodicidad. Subir se cobra ahora con prorrateo (puede pedir confirmar el pago en el navegador); bajar se programa para la renovación.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.plan.change |
| Herramienta MCP | billing_plan_change |
| Alcance | billing.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
productId: string // ≤ 80
interval: "month" | "year"
}Salida
{
type: "upgrade" | "downgrade" | "interval_change"
effectiveDate?: string
requiresAction?: boolean
clientSecret?: string
}Deshace la bajada de plan o la baja a Free programadas para la renovación: el plan actual sigue renovándose.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.plan.cancel_scheduled_change |
| Herramienta MCP | billing_plan_cancel_scheduled_change |
| Alcance | billing.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}Activa o desactiva la renovación automática del plan de pago al final del periodo.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.plan.set_auto_renewal |
| Herramienta MCP | billing_plan_set_auto_renewal |
| Alcance | billing.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
enabled: boolean
}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}Cancela ya la suscripción de pago en Stripe y deja la marca en el plan Free, con su presupuesto de Nödo.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.plan.downgrade_to_free |
| Herramienta MCP | billing_plan_downgrade_to_free |
| Alcance | billing.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}Programa la baja a Free al final del periodo pagado (o pasa a Free ya si no hay suscripción en Stripe). Devuelve la fecha en que se hace efectiva, si se conoce.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.plan.cancel |
| Herramienta MCP | billing_plan_cancel |
| Alcance | billing.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{}Salida
{
effectiveDate: string | null
}Abre el pago en Stripe de un plan de pago para la marca (al terminar el Genoma o desde «Plan») y devuelve su dirección. El plan se activa cuando Stripe confirma el pago.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.plan.start_checkout |
| Herramienta MCP | billing_plan_start_checkout |
| Alcance | billing.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
brandShortId: string // ≤ 40 · The brand's short id, checked against the brand being paid for.
productId: string // ≤ 80
interval: "month" | "year"
}Salida
{
url: string // uri · The Stripe page to send the person to.
}Abre el portal de cliente de Stripe de quien paga la marca (plan, método de pago, facturas) y devuelve su dirección.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.portal.open |
| Herramienta MCP | billing_portal_open |
| Alcance | billing.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
brandShortId: string // ≤ 40
}Salida
{
url: string // uri · The Stripe page to send the person to.
}Abre el pago en Stripe de un paquete de créditos Nödo y devuelve su dirección. Los créditos llegan cuando Stripe confirma el pago.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.credits.start_checkout |
| Herramienta MCP | billing_credits_start_checkout |
| Alcance | billing.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
packId: string // ≤ 80
returnTo?: string | null // A path inside this brand's app to come back to.
checkoutAttemptId?: string | null // Same id on a retry: the same Stripe page comes back.
}Salida
{
url: string // uri · The Stripe page to send the person to.
}Congela el contrato aceptado de un producto del Store (tarifa y extras) y abre su pago en Stripe, puntual o como suscripción. Devuelve la dirección del pago.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.store.start_checkout |
| Herramienta MCP | billing_store_start_checkout |
| Alcance | billing.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
productId: string // ≤ 120
successUrl: string // ≤ 2000 · An address inside the app; the session id is appended.
cancelUrl: string // ≤ 2000 · An address inside the app.
paymentType?: "full" | "remaining" // default "full"
billingMode?: "auto" | "one_time" | "recurring" // default "auto"
selectedPriceId?: string // ≤ 120
checkoutAttemptId?: string // ≤ 64
selectedExtras?: Array<{
lineKey: string // ≤ 120
quantity: integer // -9007199254740991–9007199254740991
}> // ≤ 50 items
attribution?: unknown // Campaign attribution the browser consented to; analytics only.
}Salida
{
url: string | null
}Abre en Stripe el pago del importe pendiente de un pedido de la marca y devuelve su dirección. La vuelta es siempre la página de pedidos de la marca.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.orders.pay_remaining |
| Herramienta MCP | billing_orders_pay_remaining |
| Alcance | billing.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
orderId: string // uuid
}Salida
{
url: string | null
}Quien llegó a un límite de uso sin poder cambiar el plan avisa a quienes pagan la marca, con un enlace directo al plan. Un aviso por persona y día; quien pregunta no recibe nada.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/billing.usage.ask_for_more |
| Herramienta MCP | billing_usage_ask_for_more |
| Alcance | billing.write |
| Rol mínimo | Lector |
| Confirmación humana | No |
| Puertas | API, MCP, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
reason: "feature_not_in_plan" | "allowance_exhausted" | "spend_cap_reached" | "payment_required" | "operation_too_large" | "ai_paused" | "rate_limited" | "provider_unavailable"
feature: "chat" | "voice" | "image" | "video" | "research" | "brand_setup" | "publishing" | "heartbeat" | "embedding" | "capability" | "library_export"
}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}