Saltar al contenido principal
POST
Crear orden de pago

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

Cuerpo

application/json

Registra una deuda y pide en el mismo request el cargo a la cuenta bancaria que el usuario registró. Solo acepta estos campos: cualquier otro devuelve 400 INVALID_REQUEST. La deuda no admite pagos parciales.

externalRequestId
string
requerido

Llave de idempotencia de la orden. El debtId resultante es debt_. Ante un 500, reintenta con el mismo valor.

Required string length: 1 - 250
externalClientId
string
requerido

Identificador de un contacto existente. Si no existe, 404 CONTACT_NOT_FOUND.

Minimum string length: 1
amount
number
requerido

Monto en pesos, hasta 2 decimales.

Rango requerido: x >= 0.01
paymentMethodType
enum<string>
requerido

Medio con el que se cobra. Por ahora solo la cuenta bancaria registrada.

Opciones disponibles:
BANK_ACCOUNT
externalPaymentMethodId
string | null

Cuenta con la que se cobra, tal como la devuelve GET /payment-methods. Tiene que ser una cuenta vigente del usuario y del tipo de paymentMethodType; si no, 422 PAYMENT_METHOD_NOT_AVAILABLE. Si no se envía, se cobra con la cuenta predeterminada del usuario.

Minimum string length: 1
Ejemplo:

"b7e4a0c2-9f13-4e6d-8a25-71c3d9e0b4f8"

dueDate
string<date>

Vencimiento de la deuda (YYYY-MM-DD). Si no se envía, la fecha de hoy en America/Mexico_City más 7 días.

description
string
Required string length: 1 - 255
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. 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:
companyCode
string

Solo si tu cliente tiene varias companies.

Respuesta

Deuda registrada y cargo pedido

data
object
requestId
string