{
  "info": {
    "_postman_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "Mobbex API",
    "description": "Colección oficial de endpoints de Mobbex. Incluye Checkout, Link de Pago, Split de Pagos, Dev Connect y Webhooks.\n\n## Configuración inicial\n\n1. Importá esta colección en Postman.\n2. Configurá las variables de entorno:\n   - `base_url`: `https://api.mobbex.com`\n   - `api_key`: tu API key de la consola Mobbex\n   - `access_token`: tu access token de la consola Mobbex\n3. Los headers `x-api-key` y `x-access-token` ya están aplicados a nivel collection.\n\n## Documentación oficial\n\nhttps://mobbex.dev",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      { "key": "in", "value": "header", "type": "string" },
      { "key": "key", "value": "x-api-key", "type": "string" },
      { "key": "value", "value": "{{api_key}}", "type": "string" }
    ]
  },
  "item": [
    {
      "name": "Checkout",
      "description": "Crea checkouts para procesar pagos online con cuotas, wallets y antifraude.",
      "item": [
        {
          "name": "Create Checkout",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "x-api-key", "value": "{{api_key}}" },
              { "key": "x-access-token", "value": "{{access_token}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"total\": 2450,\n  \"currency\": \"ARS\",\n  \"reference\": \"order_9821\",\n  \"description\": \"Compra en tu-tienda.com\",\n  \"return_url\": \"https://tu-tienda.com/ok\",\n  \"webhook\": \"https://tu-tienda.com/webhook\",\n  \"items\": [\n    {\n      \"total\": 2450,\n      \"description\": \"Producto A\",\n      \"quantity\": 1\n    }\n  ],\n  \"customer\": {\n    \"name\": \"Juan Perez\",\n    \"email\": \"juan@ejemplo.com\",\n    \"identification\": \"20123456789\"\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/p/checkout",
              "host": ["{{base_url}}"],
              "path": ["p", "checkout"]
            },
            "description": "Crea un checkout con un monto total. Retorna una URL lista para redirigir al comprador."
          },
          "response": []
        },
        {
          "name": "Create Checkout with Split de Pagos",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "x-api-key", "value": "{{api_key}}" },
              { "key": "x-access-token", "value": "{{access_token}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"total\": 10000,\n  \"currency\": \"ARS\",\n  \"reference\": \"order_split_7821\",\n  \"description\": \"Marketplace - 2 proveedores\",\n  \"return_url\": \"https://tu-tienda.com/ok\",\n  \"split\": [\n    {\n      \"tax_id\": \"30-71234567-4\",\n      \"total\": 6000,\n      \"reference\": \"prov_a\",\n      \"description\": \"Proveedor A\"\n    },\n    {\n      \"tax_id\": \"30-71234568-2\",\n      \"total\": 3000,\n      \"reference\": \"prov_b\",\n      \"description\": \"Proveedor B\"\n    }\n  ]\n}"
            },
            "url": {
              "raw": "{{base_url}}/p/checkout",
              "host": ["{{base_url}}"],
              "path": ["p", "checkout"]
            },
            "description": "Checkout con Split de Pagos: el array split reparte el total entre múltiples destinatarios. La comisión queda en la cuenta originante."
          },
          "response": []
        },
        {
          "name": "Create Embedded Checkout",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "x-api-key", "value": "{{api_key}}" },
              { "key": "x-access-token", "value": "{{access_token}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"total\": 2450,\n  \"currency\": \"ARS\",\n  \"reference\": \"order_embed_9821\",\n  \"description\": \"Compra embebida\",\n  \"return_url\": \"https://tu-tienda.com/ok\",\n  \"options\": {\n    \"embed\": true,\n    \"redirect\": false\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/p/checkout",
              "host": ["{{base_url}}"],
              "path": ["p", "checkout"]
            },
            "description": "Checkout embebido: con options.embed true, el checkout se renderiza dentro de tu dominio como iframe seguro."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Link de Pago",
      "description": "Órdenes de pago persistentes que se comparten por link.",
      "item": [
        {
          "name": "Create Payment Order",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "x-api-key", "value": "{{api_key}}" },
              { "key": "x-access-token", "value": "{{access_token}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"total\": 8500,\n  \"description\": \"Curso de diseño UX\",\n  \"reference\": \"curso_ux_nov_001\",\n  \"return_url\": \"https://tu-tienda.com/ok\",\n  \"webhook\": \"https://tu-tienda.com/webhook\",\n  \"due\": {\n    \"day\": 22,\n    \"month\": 11,\n    \"year\": 2026\n  },\n  \"customer\": {\n    \"name\": \"Maria Lopez\",\n    \"email\": \"maria@ejemplo.com\",\n    \"identification\": \"27987654321\"\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/p/payment_order",
              "host": ["{{base_url}}"],
              "path": ["p", "payment_order"]
            },
            "description": "Crea un link de pago con fecha de vencimiento. Retorna una URL persistente para compartir con el cliente."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Dev Connect",
      "description": "Onboarding de cuentas vinculadas para apps y plataformas SaaS.",
      "item": [
        {
          "name": "Create Connect Request",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "x-api-key", "value": "{{api_key}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"return_url\": \"https://tu-app.com/callback\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/p/developer/connect",
              "host": ["{{base_url}}"],
              "path": ["p", "developer", "connect"]
            },
            "description": "Genera una solicitud de conexión. Retorna un ID y una URL a la que redirigir al usuario para autorizar la vinculación."
          },
          "response": []
        },
        {
          "name": "Get Credentials",
          "request": {
            "method": "GET",
            "header": [
              { "key": "x-api-key", "value": "{{api_key}}" }
            ],
            "url": {
              "raw": "{{base_url}}/p/developer/connect/:connect_id/credentials",
              "host": ["{{base_url}}"],
              "path": ["p", "developer", "connect", ":connect_id", "credentials"],
              "variable": [
                { "key": "connect_id", "value": "oZWpdzX7y", "description": "ID retornado por Create Connect Request" }
              ]
            },
            "description": "Tras la autorización del usuario, obtené el Access Token y los datos de la entidad vinculada."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Operations",
      "description": "Consulta de operaciones y transacciones hijas.",
      "item": [
        {
          "name": "Get Operation by Reference",
          "request": {
            "method": "GET",
            "header": [
              { "key": "x-api-key", "value": "{{api_key}}" },
              { "key": "x-access-token", "value": "{{access_token}}" }
            ],
            "url": {
              "raw": "{{base_url}}/p/operations/:reference",
              "host": ["{{base_url}}"],
              "path": ["p", "operations", ":reference"],
              "variable": [
                { "key": "reference", "value": "order_9821", "description": "La reference que usaste al crear el checkout" }
              ]
            },
            "description": "Consulta el estado actual de una operación por su reference."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Refunds",
      "description": "Devoluciones totales o parciales.",
      "item": [
        {
          "name": "Create Refund",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "x-api-key", "value": "{{api_key}}" },
              { "key": "x-access-token", "value": "{{access_token}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"total\": 1200,\n  \"emitter\": \"merchant\",\n  \"description\": \"Devolucion parcial solicitada por cliente\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/operation/:operation_id/refund",
              "host": ["{{base_url}}"],
              "path": ["operation", ":operation_id", "refund"],
              "variable": [
                { "key": "operation_id", "value": "abc123xyz", "description": "ID de la operación a devolver" }
              ]
            },
            "description": "Crea una devolución total o parcial. Si omitís total, se devuelve el monto completo."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Webhooks (Reference)",
      "description": "Estos endpoints NO se invocan — son los webhooks que Mobbex envía a tu server.\n\nConfigurá la URL de tu webhook en el parámetro `webhook` al crear checkout/payment_order/subscription, o desde la consola.\n\nTu endpoint debe:\n- Soportar TLS 1.2+\n- Responder con 200 OK\n- Verificar la firma HMAC si está configurada\n- Idempotencia: el mismo evento puede llegar más de una vez",
      "item": [
        {
          "name": "Checkout Webhook (incoming)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"checkout\",\n  \"data\": {\n    \"result\": true,\n    \"checkout\": {\n      \"uid\": \"JlwOU4dzj\",\n      \"reference\": \"order_9821\"\n    },\n    \"payment\": {\n      \"id\": \"abc123xyz\",\n      \"status\": {\n        \"code\": 200,\n        \"text\": \"Aprobado\"\n      },\n      \"total\": 2450\n    },\n    \"customer\": {\n      \"name\": \"Juan Perez\",\n      \"email\": \"juan@ejemplo.com\"\n    },\n    \"source\": {\n      \"type\": \"card\",\n      \"name\": \"Visa\",\n      \"number\": \"**** 4242\"\n    }\n  }\n}"
            },
            "url": {
              "raw": "https://tu-tienda.com/webhook",
              "protocol": "https",
              "host": ["tu-tienda", "com"],
              "path": ["webhook"]
            },
            "description": "Payload de ejemplo que Mobbex envía a tu URL cuando una operación cambia de estado. Referencia para desarrollo local con ngrok o similar."
          },
          "response": []
        },
        {
          "name": "Subscription Execution Webhook (incoming)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"subscription:execution\",\n  \"data\": {\n    \"result\": true,\n    \"subscription\": {\n      \"uid\": \"sub_abc123\",\n      \"reference\": \"plan_premium_mensual\"\n    },\n    \"subscriber\": {\n      \"uid\": \"subscriber_xyz\",\n      \"reference\": \"user_001\"\n    },\n    \"execution\": {\n      \"uid\": \"exec_456\",\n      \"date\": \"2026-11-15\",\n      \"total\": 2500\n    },\n    \"payment\": {\n      \"status\": {\n        \"code\": 200,\n        \"text\": \"Aprobado\"\n      }\n    }\n  }\n}"
            },
            "url": {
              "raw": "https://tu-tienda.com/webhook",
              "protocol": "https",
              "host": ["tu-tienda", "com"],
              "path": ["webhook"]
            },
            "description": "Payload de ejemplo de un webhook de ejecución de suscripción. Se dispara en cada cobro recurrente."
          },
          "response": []
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "base_url",
      "value": "https://api.mobbex.com",
      "type": "string",
      "description": "Base URL de la API de Mobbex."
    },
    {
      "key": "api_key",
      "value": "YOUR_API_KEY",
      "type": "string",
      "description": "API Key de tu cuenta Mobbex (sacala de https://mobbex.com/console)."
    },
    {
      "key": "access_token",
      "value": "YOUR_ACCESS_TOKEN",
      "type": "string",
      "description": "Access Token de tu entidad Mobbex (sacalo de https://mobbex.com/console)."
    }
  ]
}
