---
title: Integración Transparente
slug: integracion-transparente
docTags: 
createdAt: 2025-05-27T23:58:53.621Z
---

:::hint{type="warning"}
## Información Importante

Para utilizar cualquiera de los métodos descriptos a continuación e ingresar los datos de los medios de pago a través de API, por favor contacta a ayuda\@mobbex.com e indica los accesos que necesitas. Además, el sitio debe cumplir con una serie de requisitos, incluyendo las normas PCI DSS.&#x20;
:::

Mediante este conjunto de APIs se le permitirá procesar pagos de manera 100% transparente sin utilizar nuestra UI. Esto permite embeber los pagos en sistemas propios, aplicaciones móviles o lugares donde se necesita alto nivel de personalización. Para utilizar esta metodología es necesario contar con certificación PCI DSS debido a que se estarán manipulando datos de tarjetas. Cabe aclarar que esta API no podrá utilizarse si no se contacta previamente con nuestro equipo para recibir autorización y de ser utilizado sin la autorización previa no podrá seguir esta guia ya que muchos de los pasos la API los entrega sólo con autorización previa.

### Creando el Pago (Intención)

El primer paso para iniciar un pago Transparente requiere la creación del Token de Intención de Pago a través de la API de Checkout.

[API Checkout](https://mobbex.dev/checkout)

Si invocaste correctamente la API y estás habilitado obtendrás el Intent Token dentro de "data" => "intent" => "token". Este es el dato relevante de la respuesta del API y el que deberás guardar ya que será utilizado en las APIs sucesivas.úúúí

### Detección de Medio de Pago (Opcional)

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.mobbex.com/p/sources/detect/{{intent_token}}",
  "name": "Detección de Medios de Pago",
  "method": "POST",
  "request": {
    "pathParameters": [
      {
        "name": "intent_token",
        "kind": "optional",
        "type": "string",
        "description": "Intent Token Obtenido al crear el Checkout",
        "": "Intent Token Obtenido al crear el Checkout"
      }
    ],
    "queryParameters": [
      {
        "name": "srm",
        "kind": "optional",
        "type": "string",
        "description": "Opción para una respuesta más simple. Opciones: default, slim",
        "": "Opción para una respuesta más simple. Opciones: default, slim"
      }
    ],
    "headerParameters": [
      {
        "kind": "optional",
        "name": "api-key",
        "type": "string",
        "description": "Llave Pública"
      }
    ],
    "bodyDataParameters": [
      {
        "kind": "required",
        "name": "type",
        "type": "string",
        "description": "Fijo: \"card\""
      },
      {
        "kind": "required",
        "name": "data",
        "type": "Object",
        "description": "Objeto de tipo JSON con datos de la Tarjeta.",
        "": "required",
        "children": [
          {
            "name": "bin",
            "kind": "required",
            "type": "string",
            "description": "BIN de 8 Dígitos"
          }
        ],
        "schema": [
          {
            "name": "bin",
            "kind": "required",
            "type": "string",
            "description": "BIN de 8 Dígitos"
          }
        ]
      },
      {
        "kind": "optional",
        "name": "options",
        "type": "Object",
        "description": "Objeto de tipo JSON con opciones de detección",
        "": "optional",
        "children": [
          {
            "name": "installments",
            "kind": "optional",
            "type": "boolean",
            "description": "Habilita el cálculo de cuotas"
          }
        ],
        "schema": [
          {
            "name": "installments",
            "kind": "optional",
            "type": "boolean",
            "description": "Habilita el cálculo de cuotas"
          }
        ]
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "iSplS0wLD0_UWQkTMAgqs",
        "code": "{\n\t\"result\": true,\n\t\"data\": {\n\t\t\"source\": {\n\t\t\t\"references\": [\n\t\t\t\t\"mastercard.galicia\",\n\t\t\t\t\"mastercard\"\n\t\t\t],\n\t\t\t\"reference\": \"mastercard.galicia\",\n\t\t\t\"name\": \"Mastercard Banco Galicia\",\n\t\t\t\"card\": {\n\t\t\t\t\"issuer\": {\n\t\t\t\t\t\"name\": \"Banco Galicia\"\n\t\t\t\t},\n\t\t\t\t\"level\": \"classic\",\n\t\t\t\t\"product\": {\n\t\t\t\t\t\"code\": {\n\t\t\t\t\t\t\"length\": 3,\n\t\t\t\t\t\t\"name\": \"CVC\",\n\t\t\t\t\t\t\"position\": 1\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"Mastercard\",\n\t\t\t\t\t\"gaps\": [\n\t\t\t\t\t\t4,\n\t\t\t\t\t\t8,\n\t\t\t\t\t\t12\n\t\t\t\t\t],\n\t\t\t\t\t\"lengths\": [\n\t\t\t\t\t\t16\n\t\t\t\t\t],\n\t\t\t\t\t\"variant\": \"credit\",\n\t\t\t\t\t\"validation\": [\n\t\t\t\t\t\t\"length\",\n\t\t\t\t\t\t\"exp\",\n\t\t\t\t\t\t\"cvv\",\n\t\t\t\t\t\t\"luhn\"\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"type\": \"card\"\n\t\t},\n\t\t\"installments\": [\n\t\t\t{\n\t\t\t\t\"uid\": \"H3DICnXN~\",\n\t\t\t\t\"reference\": \"1\",\n\t\t\t\t\"name\": \"1 cuota\",\n\t\t\t\t\"description\": \"\",\n\t\t\t\t\"count\": 1,\n\t\t\t\t\"tags\": [],\n\t\t\t\t\"totals\": {\n\t\t\t\t\t\"total\": 100000,\n\t\t\t\t\t\"currency\": {\n\t\t\t\t\t\t\"value\": \"ARS\",\n\t\t\t\t\t\t\"symbol\": \"$\",\n\t\t\t\t\t\t\"isoCode\": \"032\",\n\t\t\t\t\t\t\"exponent\": 2\n\t\t\t\t\t},\n\t\t\t\t\t\"installment\": {\n\t\t\t\t\t\t\"amount\": 100000,\n\t\t\t\t\t\t\"count\": 1\n\t\t\t\t\t},\n\t\t\t\t\t\"financial\": {\n\t\t\t\t\t\t\"percentage\": 0,\n\t\t\t\t\t\t\"amount\": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"uid\": \"r9S2DNeb0\",\n\t\t\t\t\"reference\": \"3\",\n\t\t\t\t\"name\": \"3 cuotas\",\n\t\t\t\t\"description\": \"\",\n\t\t\t\t\"count\": 3,\n\t\t\t\t\"tags\": [],\n\t\t\t\t\"totals\": {\n\t\t\t\t\t\"total\": 100000,\n\t\t\t\t\t\"currency\": {\n\t\t\t\t\t\t\"value\": \"ARS\",\n\t\t\t\t\t\t\"symbol\": \"$\",\n\t\t\t\t\t\t\"isoCode\": \"032\",\n\t\t\t\t\t\t\"exponent\": 2\n\t\t\t\t\t},\n\t\t\t\t\t\"installment\": {\n\t\t\t\t\t\t\"amount\": 33333.33,\n\t\t\t\t\t\t\"count\": 3\n\t\t\t\t\t},\n\t\t\t\t\t\"financial\": {\n\t\t\t\t\t\t\"percentage\": 0,\n\t\t\t\t\t\t\"amount\": 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t\"type\": \"card\"\n\t}\n}",
        "language": "200"
      }
    ],
    "selectedLanguageId": "iSplS0wLD0_UWQkTMAgqs"
  },
  "examples": {
    "languages": [
      {
        "id": "zlZMMlIOZkSRIuGHwa2X-",
        "language": "curl",
        "code": "curl --location --globoff 'https://api.mobbex.com/p/sources/detect/{{intent_token}}/{intent_token}' \\\n--header 'Accept: application/json' \\\n--header 'Content-Type: application/json' \\\n--data '{\n  \"type\": \"String\",\n  \"data\": {\n    \"bin\": \"String\"\n  }\n}'",
        "customLabel": ""
      },
      {
        "id": "n5Yuc1NmZ2aX8OyuzXvkc",
        "language": "nodejs",
        "code": "var request = require('request');\nvar options = {\n   'method': 'POST',\n   'url': 'https://api.mobbex.com/p/sources/detect/{{intent_token}}/{intent_token}',\n   'headers': {\n      'Accept': 'application/json',\n      'Content-Type': 'application/json'\n   },\n   body: JSON.stringify({\n      \"type\": \"String\",\n      \"data\": {\n         \"bin\": \"String\"\n      }\n   })\n\n};\nrequest(options, function (error, response) {\n   if (error) throw new Error(error);\n   console.log(response.body);\n});\n",
        "customLabel": ""
      },
      {
        "id": "UaZm1X0qM9hUxezmb2n1t",
        "language": "javascript",
        "code": "var myHeaders = new Headers();\nmyHeaders.append(\"Accept\", \"application/json\");\nmyHeaders.append(\"Content-Type\", \"application/json\");\n\nvar raw = JSON.stringify({\n   \"type\": \"String\",\n   \"data\": {\n      \"bin\": \"String\"\n   }\n});\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.mobbex.com/p/sources/detect/{{intent_token}}/{intent_token}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));",
        "customLabel": ""
      },
      {
        "id": "90PTIrhILEEvRoRA3ZZT3",
        "language": "python",
        "code": "import requests\nimport json\n\nurl = \"https://api.mobbex.com/p/sources/detect/{{intent_token}}/{intent_token}\"\n\npayload = json.dumps({\n   \"type\": \"String\",\n   \"data\": {\n      \"bin\": \"String\"\n   }\n})\nheaders = {\n   'Accept': 'application/json',\n   'Content-Type': 'application/json'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n",
        "customLabel": ""
      },
      {
        "id": "dyCLiBwCkJ4UtZwIq0AM0",
        "language": "ruby",
        "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.mobbex.com/p/sources/detect/{{intent_token}}/{intent_token}\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Accept\"] = \"application/json\"\nrequest[\"Content-Type\"] = \"application/json\"\nrequest.body = JSON.dump({\n   \"type\": \"String\",\n   \"data\": {\n      \"bin\": \"String\"\n   }\n})\n\nresponse = https.request(request)\nputs response.read_body\n",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "n5Yuc1NmZ2aX8OyuzXvkc"
  },
  "description": "Permite detectar el Medio de pago actual y calcular sus Cuotas si están disponibles.",
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "autoGeneratedAnchorSlug": "deteccin-de-medios-de-pago",
  "legacyHash": "UjbgzKOumv1hPgGuZFA7s"
}
```
:::

### Procesamiento

**Importante**

- Si se utiliza la detección de cuotas se debe utilizar el campo "installment" sino debe enviarse "installmentCount" de lo contrario el servicio procesará el pago en 1 cuota si es crédito por defecto.
- La detección de cuotas es opcional y no debe utilizarse si la gestión de las mismas se hace de manera externa.

:::ApiMethodV2
```json
{
  "tab": "request",
  "url": "https://api.mobbex.com/p/operations/{{intent_token}}",
  "name": "Procesamiento de la Operación",
  "method": "POST",
  "request": {
    "pathParameters": [],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [
      {
        "kind": "required",
        "name": "source",
        "type": "Object",
        "description": "Medio de Pago a procesar. Ver ejemplo abajo"
      },
      {
        "kind": "optional",
        "name": "installmentCount",
        "type": "Number",
        "description": "Cantidad de Cuotas cuando no se utiliza la detección de Cuotas.",
        "": "Cantidad de Cuotas cuando no se utiliza la detección de Cuotas."
      },
      {
        "name": "installment",
        "kind": "optional",
        "type": "string",
        "description": "Si se utiliza la detección de cuotas del endpoint anterior opcional, se debe enviar el UID de la cuota en este campo.",
        "": "Si se utiliza la detección de cuotas del endpoint anterior opcional, se debe enviar el UID de la cuota en este campo."
      },
      {
        "kind": "optional",
        "name": "customer",
        "type": "Object",
        "description": "Información del Comprador",
        "children": [
          {
            "name": "name",
            "kind": "optional",
            "type": "string",
            "description": "Nombre del Cliente"
          },
          {
            "name": "identification",
            "kind": "optional",
            "type": "string",
            "description": "Número de ID Personal. Ej DNI"
          },
          {
            "name": "email",
            "kind": "optional",
            "type": "string",
            "description": "Email del Cliente"
          },
          {
            "name": "phone",
            "kind": "optional",
            "type": "string",
            "description": "Teléfono del Cliente"
          }
        ]
      },
      {
        "name": "authCode",
        "kind": "optional",
        "type": "string",
        "description": "Código de Autenticación de la Operación. Sólo para operaciones donde el mismo sea requerido.",
        "children": []
      },
      {
        "name": "source",
        "kind": "optional",
        "type": "object",
        "description": "Medio de pago a procesar",
        "": "Medio de pago a procesar",
        "children": [
          {
            "name": "card",
            "kind": "optional",
            "type": "object",
            "description": "Objeto con los datos de la tarjeta",
            "children": [
              {
                "name": "number",
                "kind": "required",
                "type": "string",
                "description": "PAN completo de la Tarjeta"
              },
              {
                "name": "month",
                "kind": "required",
                "type": "number",
                "description": "Mes de Vencimiento"
              },
              {
                "name": "year",
                "kind": "required",
                "type": "number",
                "description": "Año de Vencimiento"
              },
              {
                "name": "identification",
                "kind": "required",
                "type": "string",
                "description": "DNI, CUIL, CUIT del Tarjeta-habiente. Necesario en Argentina."
              },
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": "Nombre como aparece en la Tarjeta"
              }
            ]
          }
        ],
        "schema": [
          {
            "name": "card",
            "kind": "optional",
            "type": "object",
            "description": "Objeto con los datos de la tarjeta",
            "children": [
              {
                "name": "number",
                "kind": "required",
                "type": "string",
                "description": "PAN completo de la Tarjeta"
              },
              {
                "name": "month",
                "kind": "required",
                "type": "number",
                "description": "Mes de Vencimiento"
              },
              {
                "name": "year",
                "kind": "required",
                "type": "number",
                "description": "Año de Vencimiento"
              },
              {
                "name": "identification",
                "kind": "required",
                "type": "string",
                "description": "DNI, CUIL, CUIT del Tarjeta-habiente. Necesario en Argentina."
              },
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": "Nombre como aparece en la Tarjeta"
              }
            ]
          }
        ]
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "Z_y_2Rp7H75vZqzd-mX6V",
        "code": "{\n    \"id\": \"kS6D18unD\",\n    \"status\": {\n        \"code\": \"200\",\n        \"text\": \"Aprobado\",\n        \"message\": \"Transacción Aprobada\"\n    }\n}",
        "language": "200"
      }
    ],
    "selectedLanguageId": "Z_y_2Rp7H75vZqzd-mX6V"
  },
  "examples": {
    "languages": [
      {
        "id": "o4UfzaXjtMzdkeXdVMp5W",
        "language": "curl",
        "code": "curl --location -g --request POST 'https://api.sugaway.com/p/operations/{{intent_token}}' \\\n--header 'Accept: application/json' \\\n--data-raw '{\"source\":\"string\",\"installment\":\"string\",\"wallet\":\"string\",\"installmentCount\":\"string\",\"customer\":\"Object\",\"authCode\":\"string\"}'",
        "customLabel": ""
      },
      {
        "id": "PMGswSlcq_0KrULpRvR_r",
        "language": "nodejs",
        "code": "var request = require('request');\nvar options = {\n   'method': 'POST',\n   'url': 'https://api.sugaway.com/p/operations/{{intent_token}}',\n   'headers': {\n      'Accept': 'application/json'\n   },\n   body: '{\"source\":\"string\",\"installment\":\"string\",\"wallet\":\"string\",\"installmentCount\":\"string\",\"customer\":\"Object\",\"authCode\":\"string\"}'\n\n};\nrequest(options, function (error, response) {\n   if (error) throw new Error(error);\n   console.log(response.body);\n});\n",
        "customLabel": ""
      },
      {
        "id": "vT66OW4dqAuQN5lZPqj0h",
        "language": "javascript",
        "code": "var myHeaders = new Headers();\nmyHeaders.append(\"Accept\", \"application/json\");\n\nvar raw = \"{\\\"source\\\":\\\"string\\\",\\\"installment\\\":\\\"string\\\",\\\"wallet\\\":\\\"string\\\",\\\"installmentCount\\\":\\\"string\\\",\\\"customer\\\":\\\"Object\\\",\\\"authCode\\\":\\\"string\\\"}\";\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.sugaway.com/p/operations/{{intent_token}}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));",
        "customLabel": ""
      },
      {
        "id": "-3VfeqnhOhGVku1GwT8At",
        "language": "python",
        "code": "import requests\n\nurl = \"https://api.sugaway.com/p/operations/{{intent_token}}\"\n\npayload = \"{\\\"source\\\":\\\"string\\\",\\\"installment\\\":\\\"string\\\",\\\"wallet\\\":\\\"string\\\",\\\"installmentCount\\\":\\\"string\\\",\\\"customer\\\":\\\"Object\\\",\\\"authCode\\\":\\\"string\\\"}\"\nheaders = {\n   'Accept': 'application/json'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n",
        "customLabel": ""
      },
      {
        "id": "8NJJcR1WyWR4OBcbUVV0T",
        "language": "ruby",
        "code": "require \"uri\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.sugaway.com/p/operations/{{intent_token}}\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Accept\"] = \"application/json\"\nrequest.body = \"{\\\"source\\\":\\\"string\\\",\\\"installment\\\":\\\"string\\\",\\\"wallet\\\":\\\"string\\\",\\\"installmentCount\\\":\\\"string\\\",\\\"customer\\\":\\\"Object\\\",\\\"authCode\\\":\\\"string\\\"}\"\n\nresponse = https.request(request)\nputs response.read_body\n",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "o4UfzaXjtMzdkeXdVMp5W"
  },
  "description": "Permite procesar la operación con toda la información recolectada.",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "autoGeneratedAnchorSlug": "procesamiento-de-la-operacin",
  "legacyHash": "ksQrXmELXf-zx7MRHWoPL"
}
```
:::

