Referencia API

Referencia

Rutas, modelos de objetos, enums, configuración y formato de errores.

Referencia de rutas

MétodoRuta
GET/api/partner/v1/companies

Auth

Sesión

Uso

Listar empresas del usuario

Devuelve los equipos disponibles para las herramientas del portal del usuario MakeCrypto autenticado.

POST/api/partner/v1/onboarding/company

Auth

Secreto de onboarding de partner

Uso

Crear enlace de onboarding de empresa

Crea un borrador de onboarding prellenado por el partner y devuelve una URL de reclamo para el merchant.

GET/api/partner/v1/makepay/payment-links

Auth

Clave API de MakePay

Uso

Listar o crear enlaces de pago

Lee los enlaces de pago de la empresa de la clave API o crea enlaces de checkout alojado MakePay.

POST/api/partner/v1/makepay/payment-links

Auth

Clave API de MakePay o público

Uso

Listar o crear enlaces de pago

Lee los enlaces de pago de la empresa de la clave API o crea enlaces de checkout alojado MakePay.

POST/gateway/pay/{makepayKeyId}

Auth

Clave pública de formulario

Uso

Enviar formulario HTML de pago

Recibe campos de formulario del navegador, crea un enlace de pago alojado y redirige al comprador al checkout.

GET/api/partner/v1/makepay/payment-links/{uid}

Auth

Clave API de MakePay

Uso

Obtener o actualizar enlace de pago

Lee el detalle de un enlace de pago o cambia su estado a active, paused o archived.

PATCH/api/partner/v1/makepay/payment-links/{uid}

Auth

Clave API de MakePay

Uso

Obtener o actualizar enlace de pago

Lee el detalle de un enlace de pago o cambia su estado a active, paused o archived.

POST/api/partner/v1/makepay/payment-links/{uid}/send-request-email

Auth

Clave API de MakePay

Uso

Enviar solicitud de pago

Envía o reenvía el enlace alojado al email del cliente.

GET/api/partner/v1/makepay/subscriptions

Auth

Clave API de MakePay

Uso

Listar o crear suscripciones

Devuelve planes de suscripción recurrente de MakePay o crea una suscripción y la primera factura.

POST/api/partner/v1/makepay/subscriptions

Auth

Clave API de MakePay

Uso

Listar o crear suscripciones

Devuelve planes de suscripción recurrente de MakePay o crea una suscripción y la primera factura.

GET/api/partner/v1/makepay/customers

Auth

Clave API de MakePay

Uso

Listar o actualizar clientes

Devuelve perfiles de clientes MakePay o crea/actualiza clientes por email.

POST/api/partner/v1/makepay/customers

Auth

Clave API de MakePay

Uso

Listar o actualizar clientes

Devuelve perfiles de clientes MakePay o crea/actualiza clientes por email.

POST/api/partner/v1/makepay/customers/{customerId}/portal

Auth

Clave API de MakePay

Uso

Crear enlace del portal de cliente

Genera bajo demanda una URL firmada del portal de cliente MakePay válida por 24 horas.

GET/api/partner/v1/timezones

Auth

Público

Uso

Listar zonas horarias

Devuelve identificadores de zona horaria IANA soportados.

GET/api/partner/v1/makepay/settings

Auth

Clave API de MakePay

Uso

Leer o actualizar configuración de MakePay

Lee o actualiza liquidación, redirecciones, comisiones y manejo de pagos incompletos.

PUT/api/partner/v1/makepay/settings

Auth

Clave API de MakePay

Uso

Leer o actualizar configuración de MakePay

Lee o actualiza liquidación, redirecciones, comisiones y manejo de pagos incompletos.

GET/api/partner/v1/makepay/destination-assets

Auth

Clave API de MakePay

Uso

Listar activos de destino

Devuelve los activos de liquidación soportados y el activo predeterminado actual.

GET/api/partner/v1/makepay/webhook-requests

Auth

Clave API de MakePay

Uso

Listar entregas de webhook

Consulta intentos de entrega de webhooks de pago y suscripción, junto con su estado de reintento.

OAuth de onboarding para partners

POST /api/partner/v1/onboarding/company puede incluir un objeto opcional oauth. MakeCrypto valida la app OAuth, URI de redirección, scopes y desafío PKCE antes de crear el enlace de onboarding. Cuando el merchant completa el onboarding, MakeCrypto crea la empresa, concede a la app OAuth acceso a esa empresa y redirige al redirectUri registrado con un code de autorización.

{
  "idempotencyKey": "merchant_123",
  "company": {
    "name": "Acme Markets",
    "website": "https://acme.example"
  },
  "oauth": {
    "clientId": "mco_app_example",
    "redirectUri": "https://apps.makecrypto.io/oauth/callback",
    "scope": "company:read makepay:payment-links:write makepay:settings:read",
    "state": "merchant_123",
    "codeChallenge": "PKCE_S256_CODE_CHALLENGE",
    "codeChallengeMethod": "S256"
  }
}

La app partner debe conservar el code_verifier PKCE correspondiente e intercambiar el código devuelto mediante POST /oauth/token.

CampoTipoNotas
idstringUUID interno.
uidstringIdentificador público de enlace de pago usado en rutas de checkout alojado y embebido.
status"active" | "paused" | "archived"Estado del enlace gestionado por el merchant.
payloadPaymentLinkPayloadPedido, importe, cliente, redirección, metadata, marca y campos runtime del merchant.
created_atstringTimestamp ISO.
updated_atstringTimestamp ISO.
expires_atstring | nullTimestamp de expiración resuelto, o null sin expiración.
publicUrlstringURL de checkout alojado MakePay, incluida en respuestas de creación, listado, detalle y actualización de estado.

PaymentLinkPayload

CampoTipoNotas
titlestringEtiqueta visible del pago.
descriptionstringDescripción visible al cliente.
amountstringImporte decimal a cobrar.
fiatCurrencystringMoneda visual opcional como USD o EUR.
currencystringSímbolo de liquidación como USDT, USDC o BTC.
assetstringIdentificador exacto del activo de destino. Úsalo cuando un símbolo exista en varias cadenas.
orderIdstringReferencia de pedido o factura del merchant.
customerEmailstringUsado para emails y payloads de webhook.
clientIdstringIdentificador opcional de cliente en el lado merchant.
returnUrlstringURL del merchant para navegación de retorno genérica.
successUrlstringURL del merchant para pagos completados.
failureUrlstringURL del merchant para pagos fallidos o cancelados.
expirationTime"15m" | "1h" | "12h" | "24h" | "72h" | "never"Duración solicitada del enlace de pago.
metadataRecord<string, unknown>Metadata definida por el merchant y devuelta en dashboards y webhooks.
runtimeMode"merchant_target_net_v2"Inyectado por la API para enlaces de pago nuevos.
billingVersion"v2"Inyectado por la API para enlaces de pago nuevos.
merchantNamestringInyectado desde la marca de empresa cuando está disponible.
merchantPictureUrlstringInyectado desde el perfil de empresa cuando está disponible.
merchantLogoUrlstringInyectado desde la marca del merchant cuando está disponible.
merchantPaymentLinkTheme"light" | "dark" | "system"Inyectado desde la configuración de tema del checkout del merchant.

Objeto Customer

CampoTipoNotas
idstringUUID interno.
uidstringIdentificador público de cliente MakePay usado en enlaces del portal.
emailstringEmail del cliente.
namestring | nullNombre visible del cliente. Editable desde el portal.
clientIdstring | nullIdentificador de cliente del merchant. Solo lectura en el portal.
metadataRecord<string, unknown>Metadata definida por el merchant.
createdAtstringTimestamp ISO.
updatedAtstringTimestamp ISO.
urls{ customerPortal: string }Presente en respuestas de generación de portal. No persistas esta URL.

Respuesta del portal de cliente

POST /api/partner/v1/makepay/customers/{customerId}/portal devuelve una URL de portal firmada para el cliente guardado.

json
{
  "ok": true,
  "companyId": "acct_123",
  "customer": {
    "id": "b834dd77-69b8-41a9-a4b6-95bc9dd14c2d",
    "uid": "cus_01hzy4k6p4w9y2x7e2z7n8a2xm",
    "email": "buyer@example.com",
    "name": "Ada Lovelace",
    "clientId": "client_1042",
    "metadata": {
      "source": "api"
    },
    "createdAt": "2026-04-20T10:00:00.000Z",
    "updatedAt": "2026-04-20T10:00:00.000Z",
    "urls": {
      "customerPortal": "https://makepay.io/billing?company=acct_123&customer=cus_01hzy4k6p4w9y2x7e2z7n8a2xm&expires=1776765600&signature=8d1f..."
    }
  },
  "expiresAt": "2026-04-21T10:00:00.000Z"
}

La URL es válida por 24 horas y usa el payment_link_domain verificado de la empresa cuando está disponible. Si no, cae al origen público de MakePay.

Parámetro de queryNotas
companyID de cuenta de empresa MakeCrypto propietaria del cliente.
customerUID de cliente MakePay.
expiresTimestamp Unix en segundos.
signatureFirma HMAC sobre v1:{companyId}:{customerUid}:{expires}.

Genera enlaces de portal bajo demanda cuando el cliente abre facturación. URLs expiradas, alteradas o de otro cliente se rechazan antes de cargar datos del portal.

Objeto Subscription

CampoTipoNotas
idstringUUID interno.
uidstringIdentificador de suscripción visible para el merchant.
status"active" | "paused" | "overdue" | "cancelled"Estado actual de la suscripción.
customerEmailstringEmail del cliente usado para recordatorios y coincidencia en portal.
labelstringEtiqueta de suscripción visible al cliente.
descriptionstring | nullDescripción opcional.
amountUsdstringImporte recurrente en USD.
settlementAssetstringIdentificador del activo de liquidación de destino.
cadence"weekly" | "biweekly" | "monthly" | "custom_months" | "yearly"Cadencia visual.
billingIntervalUnit"week" | "month" | "year"Unidad del intervalo de facturación.
billingIntervalCountnumberNúmero de unidades entre ciclos.
startAtstringTimestamp ISO del primer ciclo de facturación.
timezonestringZona horaria IANA usada para recordatorios.
metadataRecord<string, unknown>Metadata definida por el merchant y ajustes avanzados de redirección/tolerancia.
cyclesSubscriptionCycle[]Ciclos generados devueltos por rutas de listado y llamadas de dashboard.

Las suscripciones pasan a overdue cuando un ciclo impago supera por al menos 24 horas su timestamp dueAt. MakePay envía un webhook firmado makepay.subscription.status_changed cada vez que cambia el estado de la suscripción.

MakePaySettings

CampoTipoNotas
status"active" | "paused"Disponibilidad del producto para el equipo.
defaultDestinationAssetstring | nullIdentificador de activo predeterminado usado cuando los enlaces solo envían currency.
feePaidBy"client" | "merchant"Determina si el cliente o el merchant absorbe las comisiones de MakePay.
returnRedirectUrlstring | nullRedirección fallback después del checkout.
successRedirectUrlstring | nullRedirección después de un pago completado.
failureRedirectUrlstring | nullRedirección después de pago cancelado o fallido.
underpaymentPercentEnabledbooleanHabilita tolerancia porcentual.
underpaymentPercentThresholdnumberPorcentaje permitido de pago insuficiente.
underpaymentFixedEnabledbooleanHabilita tolerancia fija.
underpaymentFixedThresholdnumberImporte fijo permitido de pago insuficiente.

DestinationAsset

CampoTipoNotas
assetIdentifierstringIdentificador canónico de cadena, símbolo y contrato.
chainCodestringCódigo de cadena de liquidación.
chainNamestringNombre legible de la cadena.
symbolstringSímbolo del activo.
namestringNombre del activo.
decimalsnumberDecimales del token.
isDefaultbooleanIndica si este activo es el predeterminado actual de la empresa.

Valores de estado

  • active: el enlace puede abrirse y pagarse.
  • paused: el enlace sigue visible para el merchant pero no debe aceptar nuevos inicios de pago.
  • archived: el enlace se oculta de vistas activas y debe tratarse como cerrado.

Valores de estado de suscripción:

  • active: la suscripción cobra facturas programadas con normalidad.
  • paused: recordatorios y cambios de merchant/cliente han pausado la suscripción.
  • overdue: al menos un ciclo impago lleva 24 horas o más vencido.
  • cancelled: la suscripción terminó y los ciclos generados impagos se cancelan.

Formato de error

Los errores devuelven JSON con error y, cuando está disponible, errorCode.

{
  "errorCode": "invalid_destination_asset",
  "error": "payload.asset ETH.USDT-... is not available for supported settlement routes."
}

¿Necesitas ayuda con la configuración de partner?

Abre la vista de detalles del enlace de pago en MakeCrypto para copiar los snippets generados para un UID de pago real, o vuelve al portal para gestionar la configuración del merchant.

Abrir portal