Referencia API
API del portal de cliente
Genera URLs firmadas del portal de cliente MakePay para clientes guardados.
Generar un enlace de portal
Crea un enlace del portal de cliente MakePay desde un perfil de cliente MakePay guardado. Genera el enlace solo cuando el cliente o el merchant entra en facturación, y luego redirige o abre la URL devuelta.
POST /api/partner/v1/makepay/customers/{customerId}/portal
customerId acepta el UUID guardado del cliente o el UID del cliente. El cuerpo de la solicitud está vacío.
curl -X POST "https://www.makecrypto.io/api/partner/v1/makepay/customers/CUSTOMER_ID/portal" \
-H "x-makecrypto-key-id: MAKEPAY_API_KEY_ID" \
-H "x-makecrypto-key-secret: MAKEPAY_API_SECRET" \
-H "Accept: application/json"Autenticación
Las integraciones de servidor autentican con una clave API de MakePay. Las sesiones de navegador pueden llamar la ruta de dashboard con scope de empresa cuando el usuario autenticado tiene settings.manage en el equipo seleccionado. Las solicitudes con clave API no pasan un ID de empresa en la URL porque la clave ya pertenece a una empresa.
| Cabecera | Valor | Notas |
|---|---|---|
x-makecrypto-key-id | ID de clave API de MakePay | Empieza con mk_makepay_ para las APIs de pago de MakePay. |
x-makecrypto-key-secret | Secreto API de un solo uso | Se muestra solo cuando se crea la clave. Guárdalo en tu gestor de secretos del servidor. |
Respuesta
La ruta devuelve el objeto de cliente más un enlace firmado en urls.customerPortal.
{
"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"
}Parámetros de URL firmada
La URL de portal devuelta tiene esta forma:
https://{makepay-or-verified-merchant-domain}/billing?company={companyId}&customer={customerUid}&expires={unixSeconds}&signature={hexHmac}
| Parámetro | Notas |
|---|---|
company | ID de cuenta de empresa MakeCrypto propietaria del cliente. |
customer | UID de cliente MakePay con scope de esa empresa. |
expires | Timestamp Unix en segundos. Los enlaces son válidos por 24 horas. |
signature | Firma HMAC sobre versión, empresa, cliente y valores de expiración. |
MakePay verifica la firma y la expiración antes de cargar datos del portal. No almacenes URLs de portal de forma permanente. Regenera un enlace nuevo en cada clic de botón.
Alcance del portal
El portal muestra solo datos que coinciden con la empresa y el cliente firmados:
- Resumen del perfil del cliente y nombre visible editable.
- Historial de pagos por email de cliente o ID de cliente.
- Enlaces de pago activos o impagos con URLs MakePay alojadas.
- Suscripciones por email de cliente o ID de cliente en metadata.
- Acciones de pausa, reactivación y cancelación para estados de suscripción soportados.
Email, ID de cliente, PDFs, métodos de pago, claves de licencia, cambio de plan y flujos de reanudación de suscripciones canceladas no son mutables en la primera versión del portal.