1. Partner API (OAuth)
Payday Payments
  • API Transaccional (API KEY)
    • Crear Clabe
      POST
    • Listar Transacciones
      GET
    • Listar Transaccion
      GET
    • Listar Transacciones X CLABE
      GET
    • Crear Payment Intent
      POST
    • Listar Payment Intents
      GET
    • Obtener Payment Intent
      GET
    • Cancelar Payment Intent
      POST
    • Crear webhook
      POST
    • Borrar Webhook
      DELETE
    • Evento - Transaction Income
    • Evento - Payment Receive
    • Consultar Transferencia X TxID
      GET
    • Consultar Detalle Transferencia
      GET
    • Cancelar Transferencia
      POST
  • Connect API
    • Implementacion Connect
    • Crear regla de split
      POST
    • Listar Reglas Split
      GET
    • Obtener regla split por id
      GET
    • Actualizar regla split
      PUT
    • Eliminar regla split
      DELETE
    • Enlazar Connect
      PUT
    • Desactivar Connect
      PUT
    • Crear cuentas conectadas
      POST
    • Listar cuentas conectadas
      GET
    • Obtener cuenta conectada por id
      GET
    • Actualizar cuenta conectada
      PUT
    • Eliminar cuenta conectada
      DELETE
    • Listar Transferencias Manuales
      GET
    • Libera un transfer de hold manual
      POST
  • Partner API (OAuth)
    • Obtener Token
      POST
    • Crear Cuenta
      POST
    • Configurar Cuenta Bancaria
      PUT
    • Crear API Key Transaccional
      POST
    • Rotar API Key Transaccional
      POST
    • Revocar API Key
      DELETE
  1. Partner API (OAuth)

Crear Cuenta

POST
/api/partner/v1/accounts
Crea una cuenta de partner en el sistema: alta de Tenant + asociación/creación del usuario owner admin con contraseña temporal.
Objetivo
Provisionar un tenant nuevo.
Generar centroCosto automático de 3 dígitos.
Crear o vincular usuario owner.
Devolver datos operativos iniciales del account.
Seguridad requerida
Bearer token de partner (client_credentials).
Scope obligatorio: onboarding.write.
Headers obligatorios:
Authorization: Bearer access_token
Idempotency-Key: uuid V4
X-Request-Id: uuid V7
X-Timestamp: epoch_millis
X-Nonce: base64url_16bytes
Content-Digest: SHA-256=base64url_hash_body
X-Signature: hmac_sha256_base64url
X-Signature-Key-Id: v1
Canonical para firma
Método: POST
Path firmado (como está implementado): /accounts
Query canonical: vacío si no hay query params
Estructura:
METHOD\nPATH\nQUERY\nCONTENT_DIGEST\nTIMESTAMP\nNONCE\nIDEMPOTENCY_KEY
Request body
  "externalAccountId": "cli_000123",
  "tenantId": "pay_01J9DEMO001",
  "tenantName": "Cliente Demo SA de CV",
  "owner": {
    "email": "admin@cliente.com",
    "name": "Admin Cliente"
  },
  "metadata": {
    "segment": "retail"
  }
}
Campos requeridos
externalAccountId (string)
tenantId (string, único global)
tenantName (string)
owner.email (string)
owner.name (string)
Reglas de negocio
tenantId no puede existir previamente.
externalAccountId debe ser único por partner.
centroCosto se asigna automáticamente en formato 000-999.
Si el owner no existe, se crea con password temporal.
Si el owner ya existe, solo se vincula al tenant y no se devuelve password temporal.
Respuesta exitosa 201
  "accountId": "acc_xxx",
  "tenantId": "pay_01J9DEMO001",
  "centroCosto": "047",
  "status": "active",
  "owner": {
    "userId": "6801abcdef123456",
    "email": "admin@cliente.com",
    "temporaryPassword": "....",
    "mustResetPassword": true
  }
}
📌
Nota: temporaryPassword solo aparece cuando el usuario se crea por primera vez.
Errores comunes
400 campos requeridos faltantes o inválidos.
401 token inválido/expirado, firma inválida, timestamp fuera de ventana.
403 scope insuficiente (onboarding.write).
404 partner inactivo/no encontrado (en validación de seguridad).
409 tenantId duplicado o externalAccountId duplicado para ese partner.
503 no se pudo asignar centroCosto.

Solicitud

Autorización
Proporciona tu token bearer en el encabezado
Authorization
al realizar solicitudes a recursos protegidos.
Ejemplo:
Authorization: Bearer ********************
Parámetros de Header

Parámetros del Body application/jsonRequerido

Ejemplos

Respuestas

🟢200Éxito
application/json
Bodyapplication/json

Solicitud Ejemplo de Solicitud
Shell
JavaScript
Java
Swift
curl --location 'https://stp.paydaymx.com/api/partner/v1/accounts' \
--header 'Idempotency-Key: ' \
--header 'X-Request-Id: ' \
--header 'X-Timestamp: ' \
--header 'X-Nonce: ' \
--header 'Content-Digest: ' \
--header 'X-Signature: ' \
--header 'X-Signature-Key-Id: v1' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "externalAccountId": "cli_000123",
    "tenantId": "pay_01J9DEMO001",
    "tenantName": "Cliente Demo SA de CV",
    "owner": {
      "email": "admin@clientedemo.com",
      "name": "Admin Cliente"
    },
    "metadata": {
      "segment": "retail"
    }
  }'
Respuesta Ejemplo de Respuesta
{
    "accountId": "acc_e92fACyl1R_DeoQE",
    "tenantId": "pay_01J9DEMO001",
    "centroCosto": "031",
    "status": "active",
    "owner": {
        "userId": "69db364bf1954699dc26d41f",
        "email": "admin@clientedemo.com",
        "temporaryPassword": "g3wsVRugNpqnfJg5EXhvFhBuoCDFoXOi",
        "mustResetPassword": true
    }
}
Modificado en 2026-04-12 21:26:34
Anterior
Obtener Token
Siguiente
Configurar Cuenta Bancaria
Built with