Skip to main content
POST
Crear deuda con debito automatico

Autorizaciones

x-api-key
string
header
requerido

API key del API Gateway de Tapi. Requerida en todas las operaciones. Distinta por ambiente (desarrollo, homologación, producción).

x-authorization-token
string
header
requerido

Token TAPI JWT. Requerido en todas las operaciones. Se envía sin prefijo "Bearer". Ej: x-authorization-token: eyJhbGci...

Encabezados

Idempotency-Key
string

Solo en la deuda suelta. Se usa como externalRequestId de la deuda, y el debtId resultante es debt_<key>.

Cuerpo

application/json

Contrato de creación de deuda con la identidad de producto por referencia (productId o externalProductId), nunca por nombre. No incluye paymentMethods: en v2 la deuda no declara medio de pago, el cobro automático lo gobierna el default del usuario. productName tampoco se acepta (400 INVALID_REQUEST): los productos nunca se crean desde este endpoint. productId y externalProductId son mutuamente excluyentes. Campos aceptados: externalClientId, contactData, amount, currency, dueDate, description, allowOverduePayment, allowPartialPayments, additionalData, productId, externalProductId. Cualquier otro campo (incluidos autopay, paymentMethods, productName y paymentMethod) devuelve 400 con el campo en details[].field.

amount
number
requerido

Monto en pesos (hasta 2 decimales, mínimo 0.01)

Rango requerido: x >= 0.01Debe ser un múltiplo de 0.01
dueDate
string<date>
requerido

Fecha de vencimiento (YYYY-MM-DD), fecha de calendario válida. No se valida que sea futura.

externalClientId
string

Identificador del deudor (externalClientId o contactData, no ambos). Si contactData no se envía, este campo es obligatorio.

contactData
object

Datos completos del deudor inline. Si se envía, externalClientId no se permite. Alternativa a externalClientId.

currency
enum<string>
predeterminado:MXN

Código de moneda ISO 4217 (MXN, ARS, PEN, COP, CLP, USD). Default MXN.

Opciones disponibles:
MXN,
ARS,
PEN,
COP,
CLP,
USD
description
string

Descripción visible al deudor (opcional). Debe ser string (si no, 400).

allowOverduePayment
boolean
predeterminado:true

Si false, no se puede pagar después del dueDate. Solo acepta true/false literal: "true", 1, etc. devuelven 400 con details[].

allowPartialPayments
boolean
predeterminado:true

Habilita pagos parciales. Solo acepta true/false literal: "true", 1, etc. devuelven 400 con details[].

additionalData
object

Datos adicionales propios del cliente. Debe ser un objeto plano; un escalar (string, número o booleano) devuelve 400 INVALID_REQUEST. No puede usar claves reservadas, que TapiPay escribe internamente: description, paymentMethods, productName, externalProductId, debtExpirationDate, overduePayment, allowPartialPayments, recurringDebt, debtReference. Si aparece alguna, la API responde 400 INVALID_REQUEST con details[].field = additionalData. Se persiste en la deuda (en ligas de pago, en la deuda asociada al link; en suscripciones, en las deudas generadas).

Ejemplo:
productId
string

ID del producto en Tapi, formato prd_<número>. Otro formato devuelve 400 INVALID_REQUEST. Excluyente con externalProductId.

Pattern: ^prd_\d+$
externalProductId
string

Tu identificador del producto. Excluyente con productId. No admite los caracteres ', ", \, ; (400).

Respuesta

Deuda creada (con o sin cobro automatico). En modo lote, todas las deudas fueron creadas y data es un array en el orden enviado.

data
object
requestId
string