---
title: Suscripción con DEBIN
slug: suscripcion-con-debin
icon: {"faIcon":"fa-solid fa-piggy-bank"}
docTags: 
createdAt: 2025-05-27T22:51:51.533Z
---

::::VerticalSplit{layout="left"}
:::VerticalSplitItem


::Image[]{src="https://api.archbee.com/api/optimize/wYlzYU9oe8HZjh9BkqeFY/rihxgat2An6h65NlnU16a_image.png" size="84" width="247" height="165" position="center" showCaption="false"}
:::

:::VerticalSplitItem


DEBIN o Débito Inmediato es el reemplazo natural del Débito Directo utilizado durante tantos años. La principal ventaja es que es totalmente digital, administrado por el usuario y seguro ya que puede ser controlado por el usuario directamente desde su banco.
:::
::::

En este documento enseñaremos cómo utilizar esta valiosisima herramienta en nuestro módulo de suscripciones permitiendo cobrar tus suscripciones directamente desde una Cuenta Bancacia (CBU) o una Cuenta Virtual (CVU).
Antes de comenzar, es necesario verificar que el medio de pago DEBIN se encuentre activo en tu consola.

Primeros Pasos

1. Crear o actualizar un Suscriptor: es sumamente importante que tu Suscriptor tenga correctamente configurado en el objeto "customer" en "identification" su CUIT o CUIL ya que si utilizás sólo el DNI este medio de pago no funcionará. Podes ver nuestra documentación [acá](https://ayuda.unicobros.com.ar/suscripciones)
2. Crear la intención para cambiar el medio de pago del Suscriptor
3. Crear un Token de Tipo Cuenta Bancaria
4. Ejecutar el cambio de método de pago.

### Creando una Intención para cambiar el medio de pago

:::ApiMethodV2
```json
{
  "tab": "request",
  "url": "https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source/{priority}}",
  "name": "Crear Intención",
  "method": "GET",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "id",
        "type": "string",
        "description": "ID de la suscripción"
      },
      {
        "name": "sid",
        "kind": "required",
        "type": "string",
        "description": "ID del Suscriptor. Puede ser el ID otorgado por nosotros o tu \"reference\" en el formato REF:{reference}",
        "": "ID del Suscriptor. Puede ser el ID otorgado por nosotros o tu \"reference\" en el formato REF:{reference}"
      },
      {
        "name": "priority",
        "kind": "required",
        "type": "string",
        "description": "Permite configurar la prioridad del medio de pago. Opciones: primary, secondary",
        "": "Permite configurar la prioridad del medio de pago. Opciones: primary, secondary"
      }
    ],
    "queryParameters": [],
    "headerParameters": [
      {
        "kind": "required",
        "name": "x-api-key",
        "type": "string",
        "description": "Clave API de su aplicación."
      },
      {
        "kind": "required",
        "name": "x-access-token",
        "type": "string",
        "description": "Token de Acceso a la entidad para la cual desea realizar la operación."
      }
    ],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "ET-ejMRAdIyvwQsk3nfLp",
        "code": "{\n\t\"result\": true,\n\t\"data\": {\n\t\t\"id\": \"7XVD7ZVKA6LBDILGI3\",\n\t\t\"sid\": \"7376XDPMMW33MQ59NE\",\n\t\t\"priority\": \"primary\",\n\t\t\"status\": \"active\",\n\t\t\"sourcePriority\": \"primary\",\n\t\t\"intent\": {\n\t\t\t\"token\": \"ab5fa79f-2d5f-4c04-a85f-bea9db3e4e20\"\n\t\t}\n\t}\n}",
        "language": "200"
      }
    ],
    "selectedLanguageId": "ET-ejMRAdIyvwQsk3nfLp"
  },
  "examples": {
    "languages": [
      {
        "id": "9Sy1PsfWaqts6A3rHq5f_",
        "language": "curl",
        "code": "curl --location --globoff 'https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source/{priority}}/{id}/{sid}/{priority}' \\\n--header 'Accept: application/json' \\\n--header 'Content-Type: application/json'",
        "customLabel": ""
      },
      {
        "id": "KhXXG8x66GmU2-rc4_P2_",
        "language": "nodejs",
        "code": "var request = require('request');\nvar options = {\n   'method': 'GET',\n   'url': 'https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source/{priority}}/{id}/{sid}/{priority}',\n   'headers': {\n      'Accept': 'application/json',\n      'Content-Type': 'application/json'\n   }\n};\nrequest(options, function (error, response) {\n   if (error) throw new Error(error);\n   console.log(response.body);\n});\n",
        "customLabel": ""
      },
      {
        "id": "aV03tmh_wbEOkh1QuMcde",
        "language": "javascript",
        "code": "var myHeaders = new Headers();\nmyHeaders.append(\"Accept\", \"application/json\");\nmyHeaders.append(\"Content-Type\", \"application/json\");\n\nvar requestOptions = {\n   method: 'GET',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source/{priority}}/{id}/{sid}/{priority}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));",
        "customLabel": ""
      },
      {
        "id": "BQSJsyO8cZyIUMkBPdauF",
        "language": "python",
        "code": "import requests\nimport json\n\nurl = \"https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source/{priority}}/{id}/{sid}/{priority}\"\n\npayload = {}\nheaders = {\n   'Accept': 'application/json',\n   'Content-Type': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n",
        "customLabel": ""
      },
      {
        "id": "T2bW0x-RlvXBStS9ymBbU",
        "language": "ruby",
        "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source/{priority}}/{id}/{sid}/{priority}\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Accept\"] = \"application/json\"\nrequest[\"Content-Type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "T2bW0x-RlvXBStS9ymBbU"
  },
  "description": "Esa API permite crear una intención para cambiar el medio de pago de un suscriptor.",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "hasTryItOut": false,
  "response": [
    {
      "name": "intent",
      "kind": "optional",
      "type": "object",
      "description": "Intención generada",
      "children": [
        {
          "name": "token",
          "kind": "optional",
          "type": "string",
          "description": "Token de la intención generada. Este es el dato importante que debés tomar!"
        }
      ]
    }
  ],
  "autoGeneratedAnchorSlug": "crear-intencin",
  "legacyHash": "p2zMQ5wUr2hGrKv3JgTe3"
}
```
:::

De este endpoint deberás tomar el Token generado dentro de "data" => "intent" => "token". Esto será importante para crear tu Token de la cuenta Bancaria.

### Creando un Token de Tipo Cuenta Bancaria

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.unicobros.com.ar/p/sources/token/{it}",
  "name": "Generar token de medio de pago",
  "method": "POST",
  "request": {
    "pathParameters": [
      {
        "name": "it",
        "kind": "required",
        "type": "string",
        "description": "Token de Intención creado y obtenido en el paso anterior.",
        "": "Token de Intención creado y obtenido en el paso anterior."
      }
    ],
    "queryParameters": [],
    "headerParameters": [
      {
        "kind": "optional",
        "name": "api-key",
        "type": "string",
        "description": "Clave Pública de la entidad. Opcional si se llama desde un servidor utilizando x-api-key + x-access-token.",
        "": "Clave Pública de la entidad. Opcional si se llama desde un servidor utilizando x-api-key + x-access-token."
      },
      {
        "name": "x-api-key",
        "kind": "optional",
        "type": "string",
        "description": "Clave API de su aplicación. Obligatorio si se invoca desde el servidor.",
        "": "Clave API de su aplicación. Obligatorio si se invoca desde el servidor."
      },
      {
        "name": "x-access-token",
        "kind": "optional",
        "type": "string",
        "description": "Token de Acceso a la entidad para la cual desea realizar la operación. Obligatorio si se invoca desde el servidor.",
        "": "Token de Acceso a la entidad para la cual desea realizar la operación. Obligatorio si se invoca desde el servidor."
      }
    ],
    "bodyDataParameters": [
      {
        "kind": "required",
        "name": "source",
        "type": "Object",
        "description": "Objeto con los datos del medio de pago a tokenizar",
        "children": [
          {
            "name": "bank",
            "kind": "optional",
            "type": "Object",
            "description": "Objeto de Medio de pago de Tipo Cuenta Bancaria o Virtual",
            "children": [
              {
                "name": "cbu",
                "kind": "optional",
                "type": "string",
                "description": "CBU sólo Argentina"
              },
              {
                "name": "cvu",
                "kind": "optional",
                "type": "string",
                "description": "CVU Sólo Argentina"
              },
              {
                "name": "identification",
                "kind": "required",
                "type": "string",
                "description": "Identificador del propietario de la cuenta. Sólo CUIL o CUIT es válido."
              }
            ]
          },
          {
            "name": "reference",
            "kind": "required",
            "type": "string",
            "description": "Valor fijo: \"arg.debin\""
          }
        ],
        "schema": [
          {
            "name": "bank",
            "kind": "optional",
            "type": "Object",
            "description": "Objeto de Medio de pago de Tipo Cuenta Bancaria o Virtual",
            "children": [
              {
                "name": "cbu",
                "kind": "optional",
                "type": "string",
                "description": "CBU sólo Argentina"
              },
              {
                "name": "cvu",
                "kind": "optional",
                "type": "string",
                "description": "CVU Sólo Argentina"
              },
              {
                "name": "identification",
                "kind": "required",
                "type": "string",
                "description": "Identificador del propietario de la cuenta. Sólo CUIL o CUIT es válido."
              }
            ]
          },
          {
            "name": "reference",
            "kind": "required",
            "type": "string",
            "description": "Valor fijo: \"arg.debin\""
          }
        ]
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "o_ORAWgyDthqcZlfG6xCr",
        "code": "{\n\t\"result\": true,\n\t\"data\": {\n\t\t\"token\": \"T:8SFZ95LOK9HDMTAMRAFKV9\",\n\t\t\"description\": \"\",\n\t\t\"source\": {\n\t\t\t\"country\": \"arg\",\n\t\t\t\"countries\": [\n\t\t\t\t\"arg\"\n\t\t\t],\n\t\t\t\"references\": [\n\t\t\t\t\"arg.debin\"\n\t\t\t],\n\t\t\t\"reference\": \"arg.debin\",\n\t\t\t\"name\": \"DEBIN\",\n\t\t\t\"shortName\": \"DEBIN\",\n\t\t\t\"visibility\": [\n\t\t\t\t\"direct\"\n\t\t\t],\n\t\t\t\"currency\": \"\",\n\t\t\t\"type\": \"p2p\",\n\t\t\t\"priority\": 0,\n\t\t\t\"action\": \"cashin\",\n\t\t\t\"installments\": {\n\t\t\t\t\"enabled\": true,\n\t\t\t\t\"method\": \"\",\n\t\t\t\t\"numeric\": false,\n\t\t\t\t\"custom\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"charges\": [],\n\t\t\t\t\t\t\"count\": 1,\n\t\t\t\t\t\t\"countries\": [],\n\t\t\t\t\t\t\"name\": \"1 Pago\",\n\t\t\t\t\t\t\"reference\": 1\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t\"childSources\": {}\n\t\t}\n\t}\n}",
        "language": "200"
      }
    ],
    "selectedLanguageId": "o_ORAWgyDthqcZlfG6xCr"
  },
  "examples": {
    "languages": [
      {
        "id": "3RAgx_O4mjdnIUV2Cc8UB",
        "language": "curl",
        "code": "curl --location --globoff 'https://api.unicobros.com.ar/p/sources/token/{it}/{it}' \\\n--header 'Accept: application/json' \\\n--header 'Content-Type: application/json' \\\n--data '{\n  \"source\": {\n    \"bank\": {\n      \"cbu\": \"String\",\n      \"cvu\": \"String\",\n      \"identification\": \"String\"\n    },\n    \"reference\": \"arg.debin\"\n  }\n}'",
        "customLabel": ""
      },
      {
        "id": "xMBFtINxAdqd17MRMQt6B",
        "language": "nodejs",
        "code": "var request = require('request');\nvar options = {\n   'method': 'POST',\n   'url': 'https://api.unicobros.com.ar/p/sources/token/{it}/{it}',\n   'headers': {\n      'Accept': 'application/json',\n      'Content-Type': 'application/json'\n   },\n   body: JSON.stringify({\n      \"source\": {\n         \"bank\": {\n            \"cbu\": \"String\",\n            \"cvu\": \"String\",\n            \"identification\": \"String\"\n         },\n         \"reference\": \"arg.debin\"\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": "e0KroVOU62beJE_6FdZAK",
        "language": "javascript",
        "code": "var myHeaders = new Headers();\nmyHeaders.append(\"Accept\", \"application/json\");\nmyHeaders.append(\"Content-Type\", \"application/json\");\n\nvar raw = JSON.stringify({\n   \"source\": {\n      \"bank\": {\n         \"cbu\": \"String\",\n         \"cvu\": \"String\",\n         \"identification\": \"String\"\n      },\n      \"reference\": \"arg.debin\"\n   }\n});\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.unicobros.com.ar/p/sources/token/{it}/{it}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));",
        "customLabel": ""
      },
      {
        "id": "KN0RvKtD7QdMEEU3zfNaI",
        "language": "python",
        "code": "import requests\nimport json\n\nurl = \"https://api.unicobros.com.ar/p/sources/token/{it}/{it}\"\n\npayload = json.dumps({\n   \"source\": {\n      \"bank\": {\n         \"cbu\": \"String\",\n         \"cvu\": \"String\",\n         \"identification\": \"String\"\n      },\n      \"reference\": \"arg.debin\"\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": "moiGmfrGNpeyVX2XNlMPC",
        "language": "ruby",
        "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.unicobros.com.ar/p/sources/token/{it}/{it}\")\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   \"source\": {\n      \"bank\": {\n         \"cbu\": \"String\",\n         \"cvu\": \"String\",\n         \"identification\": \"String\"\n      },\n      \"reference\": \"arg.debin\"\n   }\n})\n\nresponse = https.request(request)\nputs response.read_body\n",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "moiGmfrGNpeyVX2XNlMPC"
  },
  "description": "A través de esta API se podrá crear el token del medio de pago.",
  "currentNewParameter": {
    "label": "Header Parameter",
    "value": "headerParameters"
  },
  "autoGeneratedAnchorSlug": "generar-token-de-medio-de-pago",
  "legacyHash": "zlkLINAw6-ItRmsvwHZpf"
}
```
:::

Del resultado de este endpoint debes capturar el token devuelto bajo "data" => "token"

### Cambiando el método de pago con un DEBIN

:::ApiMethodV2
```json
{
  "tab": "request",
  "url": "https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source",
  "name": "Asociar DEBIN",
  "method": "POST",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "id",
        "type": "string",
        "description": "ID de la suscripción"
      },
      {
        "name": "sid",
        "kind": "required",
        "type": "string",
        "description": "ID del Suscriptor. Puede ser el ID otorgado por nosotros o tu \"reference\" en el formato REF:{reference}",
        "": "ID del Suscriptor. Puede ser el ID otorgado por nosotros o tu \"reference\" en el formato REF:{reference}"
      }
    ],
    "queryParameters": [],
    "headerParameters": [
      {
        "kind": "required",
        "name": "x-api-key",
        "type": "string",
        "description": "Clave API de su aplicación."
      },
      {
        "kind": "required",
        "name": "x-access-token",
        "type": "string",
        "description": "Token de Acceso a la entidad para la cual desea realizar la operación."
      }
    ],
    "bodyDataParameters": [
      {
        "name": "token",
        "kind": "required",
        "type": "string",
        "description": "Enviar el Token de Medio de pago obtenido en el paso anterior.",
        "": "Enviar el Token de Medio de pago obtenido en el paso anterior."
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "ET-ejMRAdIyvwQsk3nfLp",
        "code": "{\n\t\"result\": true,\n\t\"data\": {\n\t\t\"status\": \"success\",\n\t\t\"code\": \"200\",\n\t\t\"text\": \"Operación Exitosa!\",\n\t\t\"operation\": {\n\t\t\t\"view\": \"default\",\n\t\t\t\"options\": {},\n\t\t\t\"id\": \"CGFMHP3VQMXKOAJIOWPKFX\",\n\t\t\t\"status\": {\n\t\t\t\t\"code\": \"200\",\n\t\t\t\t\"text\": \"Aprobado\",\n\t\t\t\t\"message\": \"Transacción Aprobada\",\n\t\t\t\t\"data\": {},\n\t\t\t\t\"view\": \"default\"\n\t\t\t},\n\t\t\t\"total\": 14.27,\n\t\t\t\"currency\": {\n\t\t\t\t\"value\": \"ARS\",\n\t\t\t\t\"label\": \"Peso Argentino\",\n\t\t\t\t\"symbol\": \"$\",\n\t\t\t\t\"locale\": \"es-AR\",\n\t\t\t\t\"isoCode\": \"032\",\n\t\t\t\t\"exponent\": 2,\n\t\t\t\t\"hidden\": false\n\t\t\t},\n\t\t\t\"data\": [],\n\t\t\t\"actions\": []\n\t\t}\n\t}\n}",
        "language": "200"
      }
    ],
    "selectedLanguageId": "ET-ejMRAdIyvwQsk3nfLp"
  },
  "examples": {
    "languages": [
      {
        "id": "T-O-wDZRpqrgYB_uAh22U",
        "language": "curl",
        "code": "curl --location --globoff 'https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source/{id}/{sid}' \\\n--header 'Accept: application/json' \\\n--header 'Content-Type: application/json' \\\n--data '{\n  \"token\": \"String\"\n}'",
        "customLabel": ""
      },
      {
        "id": "yc12zqKChWEYhtSUkHYRb",
        "language": "nodejs",
        "code": "var request = require('request');\nvar options = {\n   'method': 'POST',\n   'url': 'https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source/{id}/{sid}',\n   'headers': {\n      'Accept': 'application/json',\n      'Content-Type': 'application/json'\n   },\n   body: JSON.stringify({\n      \"token\": \"String\"\n   })\n\n};\nrequest(options, function (error, response) {\n   if (error) throw new Error(error);\n   console.log(response.body);\n});\n",
        "customLabel": ""
      },
      {
        "id": "-M4ZMO6xJUevWYySVnaEF",
        "language": "javascript",
        "code": "var myHeaders = new Headers();\nmyHeaders.append(\"Accept\", \"application/json\");\nmyHeaders.append(\"Content-Type\", \"application/json\");\n\nvar raw = JSON.stringify({\n   \"token\": \"String\"\n});\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source/{id}/{sid}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));",
        "customLabel": ""
      },
      {
        "id": "FQfkdkV-S5ZHtCxsqjUg7",
        "language": "python",
        "code": "import requests\nimport json\n\nurl = \"https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source/{id}/{sid}\"\n\npayload = json.dumps({\n   \"token\": \"String\"\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": "tZbjcYTUgVh2hmLG_BKmG",
        "language": "ruby",
        "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.unicobros.com.ar/p/subscriptions/{id}/subscriber/{sid}/source/{id}/{sid}\")\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   \"token\": \"String\"\n})\n\nresponse = https.request(request)\nputs response.read_body\n",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "tZbjcYTUgVh2hmLG_BKmG"
  },
  "description": "Esa API permite crear una intención para cambiar el medio de pago de un suscriptor.",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "asociar-debin",
  "legacyHash": "0azP3OirxlWEDLfCoWbAT"
}
```
:::

Si obtenes un Status 200 es que la operación fue exitosa y ya tenes tu suscriptor activo via DEBIN con su Cuenta Bancaria (CBU) o con su Cuenta Virtual (CVU).
