---
title: Tokenización de Tarjetas y Cuentas Bancarias - Wallet Transparent
slug: tokenizacion-de-tarjetas-y-cuentas-bancarias
description: Learn how to implement Virtual Wallet functionality using the Mobbex API with this comprehensive document. Discover code examples for managing customers, payment methods, and generating payment tokens. Seamlessly tokenize cards and facilitate payments whi
icon: {"faIcon":"fa-solid fa-credit-card"}
docTags: 
createdAt: 2021-01-25T20:23:16.000Z
---

Este módulo permite la implementación de la funcionalidad de Billetera Virtual o Wallet a través de API, permitiendo la tokenización de tarjetas y su posterior utilización para realizar cobros sin necesidad de que el cliente tenga que reingresar todos los datos de la tarjeta (a excepción del CVV o código de seguridad que siempre es requerido)

### Administración de Clientes

:::ApiMethodV2
```json
{
  "tab": "request",
  "url": "https://api.mobbex.com/p/wallet",
  "name": "Creación de Cliente",
  "method": "POST",
  "request": {
    "pathParameters": [],
    "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 del comercio"
      }
    ],
    "bodyDataParameters": [
      {
        "kind": "required",
        "name": "reference",
        "type": "string",
        "description": "Referencia interna única que permite identificar a su cliente dentro de su aplicación y dentro de Mobbex."
      },
      {
        "kind": "required",
        "name": "customer",
        "type": "Object",
        "description": "Objeto con los datos del cliente."
      },
      {
        "kind": "required",
        "name": "customer.email",
        "type": "string",
        "description": "Email del cliente."
      },
      {
        "kind": "required",
        "name": "customer.name",
        "type": "string",
        "description": "Nombre del cliente."
      },
      {
        "kind": "required",
        "name": "customer.identification",
        "type": "string",
        "description": "DNI o Identificación del cliente."
      },
      {
        "kind": "optional",
        "name": "test",
        "type": "Boolean",
        "description": "Permite colocar al cliente en modo de pruebas y realizar operaciones con tarjetas de prueba."
      },
      {
        "kind": "optional",
        "name": "features",
        "type": "Array",
        "description": "Array de strings que permite configurar características específicas para el cliente."
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "nrrbQaXkmnOxMrRVa1eHn",
        "code": "{\n  \"result\": true,\n  \"data\": {\n    \"uid\": \"SEAW3SDTIF5E3OFHT\",\n    \"test\": true,\n    \"customerData\": {\n      \"identification\": \"12123123\",\n      \"email\": \"demo@mobbex.com\",\n      \"name\": \"Demo\"\n    },\n    \"status\": \"active\",\n    \"_id\": \"60a408e3d7816c3dd4ca5f3de\",\n    \"reference\": \"my_unique_reference\",\n    \"entity\": \"984660654629173000df9552\",\n    \"created\": \"2021-05-18T18:35:15.451Z\",\n    \"updated\": \"2021-05-18T18:35:15.459Z\",\n    \"sources\": [],\n    \"__v\": 0\n  }\n}",
        "language": "200"
      },
      {
        "id": "68kA22mbqaYYV-1dVGadZ",
        "code": "{\n}",
        "language": "404"
      }
    ],
    "selectedLanguageId": "nrrbQaXkmnOxMrRVa1eHn"
  },
  "examples": {
    "languages": [
      {
        "id": "h9gkaEMshQm1qTZPhDW2n",
        "code": "curl --location --request POST 'https://api.mobbex.com/p/wallet' \\\r\n--header 'x-api-key: zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj' \\\r\n--header 'x-access-token: d31f0721-2f85-44e7-bcc6-15e19d1a53cc' \\\r\n--header 'Content-Type: application/json' \\\r\n--data-raw '{\r\n    \"reference\": \"my_unique_reference\",\r\n    \"customer\": {\r\n        \"email\": \"demo@mobbex.com\",\r\n        \"name\": \"Cliente Demo\",\r\n        \"identification\": \"12123123\"\r\n    },\r\n    \"test\": \"true\"\r\n}'",
        "language": "curl"
      },
      {
        "id": "DBxGojvczT3G3wSDtTqUZ",
        "code": "",
        "language": "none"
      }
    ],
    "selectedLanguageId": "h9gkaEMshQm1qTZPhDW2n"
  },
  "description": "A partir de esta API se crean los clientes a los cuales luego se le asocian las diferentes tarjetas",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "autoGeneratedAnchorSlug": "creacin-de-cliente",
  "legacyHash": "Oeup46VEfNMXMUjP3XRPT"
}
```
:::

**Ejemplos del nodo&#x20;**`features`**:**

- *validate\_id*: Validate ID controlará el DNI del cliente contra el Tarjeta-Habiente, rechazando la operación en caso de no coincidir.
- *accept\_no\_funds*: Accept No Funds aceptará los casos donde la tarjeta no posea fondos como un caso válido de tokenización.

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.mobbex.com/p/wallet/{customerUID}",
  "name": "Consultar Cliente",
  "method": "GET",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "customerUID",
        "type": "string",
        "description": "UID del cliente obtenido al crearlo"
      }
    ],
    "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 del comercio"
      }
    ],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "-vP-Eb2Wm513SXO1t6R6p",
        "code": "{\n  \"result\": true,\n  \"data\": {\n    \"_id\": \"60a40c08d7816c3dd4ca5f41\",\n    \"uid\": \"SEAW3SDTIF5E3OFHT\",\n    \"test\": true,\n    \"customerData\": {\n      \"identification\": \"12123123\",\n      \"email\": \"demo@mobbex.com\",\n      \"name\": \"Demo\"\n    },\n    \"status\": \"active\",\n    \"reference\": \"my_unique_reference\",\n    \"entity\": {\n      \"_id\": \"984660654629173000df9552\",\n      \"name\": \"Demo Entity\",\n      \"uid\": \"H1rJEXyr\",\n      \"description\": \"\",\n      \"logo\": {\n        \"filename\": \"car.jpg\",\n        \"url\": \"https://s3.amazonaws.com/mobbex/files/images/34cfcef0-fd4c-42f5-8bce-0c6f57e68035.jpg\",\n        \"mimetype\": \"image/jpeg\",\n        \"extension\": \"jpg\",\n        \"size\": 10490,\n        \"width\": 170,\n        \"height\": 170,\n        \"sizes\": [\n          \"medium\",\n          \"small\",\n          \"square\"\n        ],\n        \"versions\": [\n          \"https://s3.amazonaws.com/mobbex/files/images/34cfcef0-fd4c-42f5-8bce-0c6f57e68035-medium.jpg\",\n          \"https://s3.amazonaws.com/mobbex/files/images/34cfcef0-fd4c-42f5-8bce-0c6f57e68035-small.jpg\",\n          \"https://s3.amazonaws.com/mobbex/files/images/34cfcef0-fd4c-42f5-8bce-0c6f57e68035-square.jpg\"\n        ]\n      },\n      \"tax_id\": \"99999999999\",\n      \"countryReference\": \"ARG\"\n    },\n    \"created\": \"2021-05-18T18:48:40.555Z\",\n    \"updated\": \"2021-05-18T18:48:40.557Z\",\n    \"sources\": [\n      {\n        \"uid\": \"7IG1F2KOJF4IELRL5W\",\n        \"name\": \"Visa Débito terminada en 0010\",\n        \"cardNumber\": \"450799******0010\",\n        \"priority\": \"primary\"\n      }\n    ],\n    \"__v\": 0\n  }\n}",
        "language": "200"
      },
      {
        "id": "oSeQUgnICLyKNZwT34I-_",
        "code": "{\n    \"message\": \"Ain't no cake like that.\"\n}",
        "language": "404"
      }
    ],
    "selectedLanguageId": "-vP-Eb2Wm513SXO1t6R6p"
  },
  "examples": {
    "languages": [
      {
        "id": "vZHDFAZamVVDHYPjtAVTO",
        "code": "curl --location --request GET 'https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT' \\\r\n--header 'x-api-key: zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj' \\\r\n--header 'x-access-token: d31f0721-2f85-44e7-bcc6-15e19d1a53cc'",
        "language": "curl"
      },
      {
        "id": "VFZoDI1xWckQxoZcQD65a",
        "code": "",
        "language": "none"
      }
    ],
    "selectedLanguageId": "vZHDFAZamVVDHYPjtAVTO"
  },
  "description": "Permite consultar los datos de un cliente por ",
  "currentNewParameter": {
    "label": "Header Parameter",
    "value": "headerParameters"
  },
  "autoGeneratedAnchorSlug": "consultar-cliente",
  "legacyHash": "pbDWLP-Sldq4NS-RnglxE"
}
```
:::

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.mobbex.com/p/wallet/{customerUID}/action/edit",
  "name": "Editar Cliente",
  "method": "POST",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "customerUID",
        "type": "string",
        "description": "UID del cliente obtenido al crearlo."
      }
    ],
    "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 del comercio."
      }
    ],
    "bodyDataParameters": [
      {
        "kind": "optional",
        "name": "reference",
        "type": "string",
        "description": "Nueva referencia del cliente."
      },
      {
        "kind": "optional",
        "name": "customer",
        "type": "Object",
        "description": "Objeto con los nuevos datos del cliente."
      },
      {
        "kind": "required",
        "name": "customer.email",
        "type": "string",
        "description": "Nuevo email del cliente."
      },
      {
        "kind": "required",
        "name": "customer.identification",
        "type": "string",
        "description": "Nueva identificación del cliente."
      },
      {
        "kind": "required",
        "name": "customer.name",
        "type": "string",
        "description": "Nuevo nombre del cliente."
      },
      {
        "kind": "optional",
        "name": "test",
        "type": "Boolean",
        "description": "Permite cambiar el modo del cliente"
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "D0lwf6x3BXe56UmQeUr5w",
        "code": "{\n  \"result\": true,\n  \"data\": {}\n}",
        "language": "200"
      },
      {
        "id": "ELDLuWb_fCMbgkFRyZpXh",
        "code": "{\n    \"message\": \"Ain't no cake like that.\"\n}",
        "language": "404"
      }
    ],
    "selectedLanguageId": "D0lwf6x3BXe56UmQeUr5w"
  },
  "examples": {
    "languages": [
      {
        "id": "wKP1VP2hP3YNdNVyESED2",
        "code": "curl --location --request POST 'https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT/action/edit' \\\r\n--header 'x-api-key: zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj' \\\r\n--header 'x-access-token: d31f0721-2f85-44e7-bcc6-15e19d1a53cc' \\\r\n--header 'Content-Type: application/json' \\\r\n--data-raw '{\r\n    \"reference\": \"my_new_unique_reference\",\r\n    \"customer\": {\r\n        \"email\": \"demo@mobbex.com\",\r\n        \"name\": \"Cliente Demo\",\r\n        \"identification\": \"12123123\"\r\n    },\r\n    \"test\": \"false\"\r\n}'",
        "language": "curl"
      },
      {
        "id": "4swEQKJrFfN6fXuzYdg4_",
        "code": "var myHeaders = new Headers();\nmyHeaders.append(\"x-api-key\", \"zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj\");\nmyHeaders.append(\"x-access-token\", \"d31f0721-2f85-44e7-bcc6-15e19d1a53cc\");\nmyHeaders.append(\"Content-Type\", \"application/json\");\n\nvar raw = JSON.stringify({\n  \"reference\": \"my_new_unique_reference\",\n  \"customer\": {\n    \"email\": \"demo@mobbex.com\",\n    \"name\": \"Cliente Demo\",\n    \"identification\": \"12123123\"\n  },\n  \"test\": \"false\"\n});\n\nvar requestOptions = {\n  method: 'POST',\n  headers: myHeaders,\n  body: raw,\n  redirect: 'follow'\n};\n\nfetch(\"https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT/action/edit\", requestOptions)\n  .then(response => response.text())\n  .then(result => console.log(result))\n  .catch(error => console.log('error', error));",
        "language": "javascript"
      }
    ],
    "selectedLanguageId": "wKP1VP2hP3YNdNVyESED2"
  },
  "description": "",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "autoGeneratedAnchorSlug": "editar-cliente",
  "legacyHash": "Dscv2diIKhAAC1h0tDeqS"
}
```
:::

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.mobbex.com/p/wallet/{customerUID}/action/delete",
  "name": "Eliminar un cliente",
  "method": "DELETE",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "customerUID",
        "type": "string",
        "description": "UID del cliente generado al crearlo."
      }
    ],
    "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 del comercio."
      }
    ],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "VxZav4n-HuUJFVb3YAKz8",
        "code": "{\n  \"result\": true,\n  \"data\": {}\n}",
        "language": "200"
      },
      {
        "id": "iKZxeFhjtI-PlU2VMqZhZ",
        "code": "{\n    \"message\": \"Ain't no cake like that.\"\n}",
        "language": "404"
      }
    ],
    "selectedLanguageId": "VxZav4n-HuUJFVb3YAKz8"
  },
  "examples": {
    "languages": [
      {
        "id": "AduSqmteza5I_tSU00IDx",
        "code": "curl --location --request DELETE 'https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT/action/delete' \\\r\n--header 'x-api-key: zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj' \\\r\n--header 'x-access-token: d31f0721-2f85-44e7-bcc6-15e19d1a53cc'",
        "language": "curl"
      },
      {
        "id": "yu18YzpdrfHkUlFg-v66z",
        "code": "",
        "language": "none"
      }
    ],
    "selectedLanguageId": "AduSqmteza5I_tSU00IDx"
  },
  "description": "",
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "autoGeneratedAnchorSlug": "eliminar-un-cliente",
  "legacyHash": "znGAKXsADgN-w3MXdHnWD"
}
```
:::

## Administración de Medios de Pago

:::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 operatoria\@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;
:::

### Ingresar los datos vía API

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.mobbex.com/p/sources/token",
  "name": "Generar token de medio de pago",
  "method": "POST",
  "request": {
    "pathParameters": [],
    "queryParameters": [],
    "headerParameters": [
      {
        "kind": "required",
        "name": "api-key",
        "type": "string",
        "description": "Clave Pública de la entidad"
      }
    ],
    "bodyDataParameters": [
      {
        "kind": "required",
        "name": "source",
        "type": "Object",
        "description": "Objeto con los datos del medio de pago a tokenizar",
        "children": [
          {
            "name": "card",
            "kind": "optional",
            "type": "Object",
            "description": "Objeto con los datos de la tarjeta.",
            "children": [
              {
                "name": "number",
                "kind": "required",
                "type": "string",
                "description": "PAN o Número de la tarjeta."
              },
              {
                "name": "month",
                "kind": "required",
                "type": "string",
                "description": "Mes de expiración de la tarjeta con formato XX"
              },
              {
                "name": "year",
                "kind": "required",
                "type": "string",
                "description": "Año de expiración de la tarjeta con formato YY"
              },
              {
                "name": "identification",
                "kind": "optional",
                "type": "string",
                "description": "Número de documento del tarjetahabiente"
              },
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": "Nombre del tarjetahabiente."
              },
              {
                "name": "securityCode",
                "kind": "optional",
                "type": "string",
                "description": "Código de Seguridad de la tarjeta a tokenizar. Valor opcional. Sólo requerido en el caso de activar la opción de validar la tarjeta."
              }
            ]
          },
          {
            "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": "alias",
                "kind": "optional",
                "type": "string",
                "description": "Alias de CBU o CVU. Sólo Argentina."
              },
              {
                "name": "identification",
                "kind": "optional",
                "type": "string",
                "description": "Identificador del propietario de la cuenta"
              }
            ]
          }
        ]
      },
      {
        "kind": "optional",
        "name": "test",
        "type": "Boolean",
        "description": "Habilita el modo de pruebas. Esto permite tokenizar tarjetas de prueba para realizar operaciones en este modo."
      },
      {
        "kind": "optional",
        "name": "validate",
        "type": "Boolean",
        "description": "Activando esta opción, se realiza una operación de validación de la tarjeta como mecanismo para aceptar la misma como válida."
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "o_ORAWgyDthqcZlfG6xCr",
        "code": "{\n    \"result\": true,\n    \"data\": {\n        \"token\": \"T:Y_50ND1cD\",\n        \"description\": \"Visa Débito terminada en 0010\",\n        \"source\": {\n            \"references\": [\n                \"visa.debit\"\n            ],\n            \"reference\": \"visa.debit\",\n            \"generic\": \"visa.debit\",\n            \"compatReference\": \"visa.debit\",\n            \"name\": \"Visa Débito\",\n            \"shortName\": \"Visa Débito\",\n            \"currency\": \"ARS\",\n            \"card\": {\n                \"level\": \"classic\",\n                \"product\": {\n                    \"name\": \"Visa Débito\",\n                    \"shortName\": \"Visa Débit\",\n                    \"variant\": \"debit\",\n                    \"lengths\": [\n                        16\n                    ],\n                    \"gaps\": [\n                        4,\n                        8,\n                        12\n                    ],\n                    \"code\": {\n                        \"name\": \"CVV\",\n                        \"length\": 3,\n                        \"position\": 1\n                    },\n                    \"logo\": \"https://res.mobbex.com/images/sources/png/visa.png\",\n                    \"validation\": [\n                        \"length\",\n                        \"exp\",\n                        \"cvv\",\n                        \"luhn\"\n                    ]\n                },\n                \"issuer\": {\n                    \"shortName\": \"Visa\",\n                    \"name\": \"Visa\",\n                    \"color\": \"#122d98\",\n                    \"type\": \"unknown\",\n                    \"logo\": \"https://res.mobbex.com/images/sources/png/visa.png\"\n                }\n            },\n            \"type\": \"card\",\n            \"priority\": 0\n        },\n        \"isValid\": true\n    }\n}",
        "language": "200"
      },
      {
        "id": "0PydOENP-ABcAY9sKiONj",
        "code": "{\n    \"message\": \"Ain't no cake like that.\"\n}",
        "language": "404"
      }
    ],
    "selectedLanguageId": "o_ORAWgyDthqcZlfG6xCr"
  },
  "examples": {
    "languages": [
      {
        "id": "MKDnCDDInMyWaKbJbMBQc",
        "code": "curl --location --request POST 'https://api.mobbex.com/p/sources/token' \\\n--header 'api-key: 6Icjn_XjdKf51ZS71234K506bPRha_nSVvwS' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"source\": {\n        \"card\": {\n            \"number\": \"4507990000000010\",\n            \"month\": \"12\",\n            \"year\": \"34\",\n            \"identification\": \"12123123\",\n            \"name\": \"Cliente Demo\"\n        }\n    }\n}'",
        "language": "curl"
      },
      {
        "id": "UavO-AO-SergUGR-TtC3x",
        "code": "var data = JSON.stringify({\r\n  \"source\": {\r\n    \"card\": {\r\n      \"number\": \"4507990000000010\",\r\n      \"month\": 12,\r\n      \"year\": 34,\r\n      \"identification\": \"12123123\",\r\n      \"name\": \"Cliente Demo\"\r\n    }\r\n  }\r\n});\r\n\r\nvar xhr = new XMLHttpRequest();\r\nxhr.withCredentials = true;\r\n\r\nxhr.addEventListener(\"readystatechange\", function() {\r\n  if(this.readyState === 4) {\r\n    console.log(this.responseText);\r\n  }\r\n});\r\n\r\nxhr.open(\"POST\", \"https://api.mobbex.com/p/sources/token\");\r\nxhr.setRequestHeader(\"api-key\", \"6Icjn_XjdKf51ZS71234K506bPRha_nSVvwS\");\r\nxhr.setRequestHeader(\"Content-Type\", \"application/json\");\r\n\r\nxhr.send(data);",
        "language": "javascript"
      }
    ],
    "selectedLanguageId": "MKDnCDDInMyWaKbJbMBQc"
  },
  "description": "A través de esta API se podrá crear el token del medio de pago necesario para agregarlo a la billetera.",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "autoGeneratedAnchorSlug": "generar-token-de-medio-de-pago",
  "legacyHash": "g5QwMkb5s5l98uOUar56p"
}
```
:::

:::hint{type="info"}
## Medio de pago válido

Un medio de pago es válido al crear su token únicamente si la propiedad "isValid" retornada en la respuesta es verdadera. En caso contrario, el medio de pago no es válido.
:::



:::ApiMethodV2
```json
{
  "tab": "request",
  "url": "https://api.mobbex.com/p/wallet/{customerUID}/source",
  "name": "Agregar medio de pago al cliente",
  "method": "POST",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "customerUID",
        "type": "string",
        "description": "UID del customer obtenido al crearlo"
      }
    ],
    "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 del comercio."
      }
    ],
    "bodyDataParameters": [
      {
        "kind": "required",
        "name": "token",
        "type": "string",
        "description": "ID del token generado."
      },
      {
        "kind": "optional",
        "name": "priority",
        "type": "string",
        "description": "Nivel de prioridad del token en la cuenta del cliente. Valores admitidos: \"primary\", \"secondary\", \"none\". Por defecto el primer medio es agregado con la prioridad \"primary\", el segundo con \"secondary\" y el resto con \"none\". "
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "hDMbHqyBSIutIsxTt53gV",
        "code": "{\n  \"result\": true,\n  \"data\": {\n    \"status\": \"success\",\n    \"code\": \"200\",\n    \"text\": \"El método de pago se agregó exitosamente.\",\n    \"sourceUid\": \"YBATG1W8SO3SGHMZT\"\n    \"operation\": {\n      \"view\": \"result\",\n      \"options\": {},\n      \"id\": \"rj_4H4Ohc\",\n      \"status\": {\n        \"code\": \"200\",\n        \"text\": \"Aprobado\",\n        \"message\": \"Transacción Aprobada\"\n      },\n      \"total\": 13.15,\n      \"currency\": {\n        \"value\": \"TEST\",\n        \"label\": \"Test Money\",\n        \"symbol\": \"T$\",\n        \"hidden\": false\n      },\n      \"data\": [],\n      \"actions\": []\n    }\n  }\n}",
        "language": "200"
      },
      {
        "id": "xQPvoMRoSCjyJpntmf4Di",
        "code": "{\n    \"message\": \"Ain't no cake like that.\"\n}",
        "language": "404"
      }
    ],
    "selectedLanguageId": "hDMbHqyBSIutIsxTt53gV"
  },
  "examples": {
    "languages": [
      {
        "id": "TkNGZbW94hJJT3Wz6J4_Z",
        "code": "curl --location --request POST 'https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT/source' \\\r\n--header 'x-api-key: zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj' \\\r\n--header 'x-access-token: d31f0721-2f85-44e7-bcc6-15e19d1a53cc' \\\r\n--header 'Content-Type: application/json' \\\r\n--data-raw '{\r\n    \"token\": \"T:Y_50ND1cD\",\r\n    \"priority\": \"primary\"\r\n}'",
        "language": "curl"
      },
      {
        "id": "UFQ4FIwZNnFVSaw8JNY5d",
        "code": "var data = JSON.stringify({\n  \"token\": \"T:Y_50ND1cD\",\n  \"priority\": \"primary\"\n});\n\nvar xhr = new XMLHttpRequest();\nxhr.withCredentials = true;\n\nxhr.addEventListener(\"readystatechange\", function() {\n  if(this.readyState === 4) {\n    console.log(this.responseText);\n  }\n});\n\nxhr.open(\"POST\", \"https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT/source\");\nxhr.setRequestHeader(\"x-api-key\", \"zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj\");\nxhr.setRequestHeader(\"x-access-token\", \"d31f0721-2f85-44e7-bcc6-15e19d1a53cc\");\nxhr.setRequestHeader(\"Content-Type\", \"application/json\");\n\nxhr.send(data);",
        "language": "javascript"
      }
    ],
    "selectedLanguageId": "TkNGZbW94hJJT3Wz6J4_Z"
  },
  "description": "",
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "autoGeneratedAnchorSlug": "agregar-medio-de-pago-al-cliente",
  "legacyHash": "peq_nYUjMxv_koAXku6MV"
}
```
:::



:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.mobbex.com/p/wallet/{customerUID}/source/{sourceUID}/action/edit",
  "name": "Editar un medio de pago",
  "method": "POST",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "customerUID",
        "type": "string",
        "description": "UID del customer obtenido al crearlo"
      },
      {
        "kind": "required",
        "name": "sourceUID",
        "type": "string",
        "description": "UID del source a editar"
      }
    ],
    "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 al comercio"
      }
    ],
    "bodyDataParameters": [
      {
        "kind": "optional",
        "name": "priority",
        "type": "string",
        "description": "Nivel de prioridad del token en la cuenta del cliente. Valores admitidos: \"primary\", \"secondary\", \"none\"."
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "XIrpGeKVxkoKTbsqXl309",
        "code": "{\n  \"result\": true,\n  \"data\": {}\n}",
        "language": "200"
      },
      {
        "id": "_rOncTO4ttjq82U0Wa1dt",
        "code": "",
        "language": "404"
      }
    ],
    "selectedLanguageId": "XIrpGeKVxkoKTbsqXl309"
  },
  "examples": {
    "languages": [
      {
        "id": "MVki_DPWPz6tJoOak2sxh",
        "code": "curl --location --request POST 'https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT/source/YBATG1W8SO3SGHMZT/action/edit' \\\r\n--header 'x-api-key: zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj' \\\r\n--header 'x-access-token: d31f0721-2f85-44e7-bcc6-15e19d1a53cc' \\\r\n--header 'Content-Type: application/json' \\\r\n--data-raw '{\r\n    \"priority\": \"secondary\"\r\n}'",
        "language": "curl"
      },
      {
        "id": "2oL8vlQkm0kCS-Eb8AMs4",
        "code": "var data = JSON.stringify({\r\n  \"priority\": \"secondary\"\r\n});\r\n\r\nvar xhr = new XMLHttpRequest();\r\nxhr.withCredentials = true;\r\n\r\nxhr.addEventListener(\"readystatechange\", function() {\r\n  if(this.readyState === 4) {\r\n    console.log(this.responseText);\r\n  }\r\n});\r\n\r\nxhr.open(\"POST\", \"https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT/source/YBATG1W8SO3SGHMZT/action/edit\");\r\nxhr.setRequestHeader(\"x-api-key\", \"zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj\");\r\nxhr.setRequestHeader(\"x-access-token\", \"d31f0721-2f85-44e7-bcc6-15e19d1a53cc\");\r\nxhr.setRequestHeader(\"Content-Type\", \"application/json\");\r\n\r\nxhr.send(data);",
        "language": "javascript"
      }
    ],
    "selectedLanguageId": "MVki_DPWPz6tJoOak2sxh"
  },
  "description": "",
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "autoGeneratedAnchorSlug": "editar-un-medio-de-pago",
  "legacyHash": "NMQBeP6vtpuJH5PSSXg9c"
}
```
:::

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.mobbex.com/p/wallet/{customerUID}/source/{sourceUID}/action/delete",
  "name": "Eliminar medio de pago del cliente",
  "method": "DELETE",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "customerUID",
        "type": "string",
        "description": "UID del cliente"
      },
      {
        "kind": "required",
        "name": "sourceUID",
        "type": "string",
        "description": "UID del medio de pago a eliminar"
      }
    ],
    "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 de la entidad"
      }
    ],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "_bCQKxN3jTzOv6WJg9cIp",
        "code": "{\n  \"result\": true,\n  \"data\": {}\n}",
        "language": "200"
      },
      {
        "id": "_iPIjms79r_SYrI-1hEwJ",
        "code": "",
        "language": "404"
      }
    ],
    "selectedLanguageId": "_bCQKxN3jTzOv6WJg9cIp"
  },
  "examples": {
    "languages": [
      {
        "id": "7LGB7Uw8oMurmcsr4DsFk",
        "code": "curl --location --request DELETE 'https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT/source/YBATG1W8SO3SGHMZT/action/delete' \\\r\n--header 'x-api-key: zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj' \\\r\n--header 'x-access-token: d31f0721-2f85-44e7-bcc6-15e19d1a53cc'",
        "language": "curl"
      },
      {
        "id": "IWGX7XhHisrbAIOCulr-Z",
        "code": "var xhr = new XMLHttpRequest();\nxhr.withCredentials = true;\n\nxhr.addEventListener(\"readystatechange\", function() {\n  if(this.readyState === 4) {\n    console.log(this.responseText);\n  }\n});\n\nxhr.open(\"DELETE\", \"https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT/source/YBATG1W8SO3SGHMZT/action/delete\");\nxhr.setRequestHeader(\"x-api-key\", \"zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj\");\nxhr.setRequestHeader(\"x-access-token\", \"d31f0721-2f85-44e7-bcc6-15e19d1a53cc\");\n\nxhr.send();",
        "language": "javascript"
      }
    ],
    "selectedLanguageId": "7LGB7Uw8oMurmcsr4DsFk"
  },
  "description": "",
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "autoGeneratedAnchorSlug": "eliminar-medio-de-pago-del-cliente",
  "legacyHash": "zWK1c0MbogmNPey5IxSug"
}
```
:::

### Procesamiento de Operaciones

A partir de un cliente y un medio de pago, podemos generar una operación utilizando la siguiente API:

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.mobbex.com/p/wallet/{customerUID}/payment",
  "name": "Generar Operación",
  "method": "POST",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "customerUID",
        "type": "string",
        "description": "UID del cliente de la billetera"
      }
    ],
    "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"
      }
    ],
    "bodyDataParameters": [
      {
        "kind": "required",
        "name": "source",
        "type": "string",
        "description": "UID del medio de pago a utilizar del cliente. Si no es enviado, se utilizará el medio de pago primario si existe."
      },
      {
        "kind": "required",
        "name": "reference",
        "type": "string",
        "description": "Referencia de la operación. Este valor debe ser único y no podrán existir 2 operaciones en estado Aprobado con el mismo reference."
      },
      {
        "kind": "optional",
        "name": "test",
        "type": "Boolean",
        "description": "Permite realizar operaciones en modo de pruebas, utilizando las tarjeta de prueba."
      },
      {
        "kind": "required",
        "name": "total",
        "type": "Number",
        "description": "Total de la operación. Formato XXX.xx donde el PUNTO es el separador de decimales."
      },
      {
        "kind": "optional",
        "name": "intent",
        "type": "string",
        "description": "Tipo de operatoria de la operación. Ver documentación sobre operatoria en 2 pasos."
      },
      {
        "kind": "optional",
        "name": "split",
        "type": "Array",
        "description": "Array de objetos sobre los cuales se va a realizar el split si esta funcionalidad es requerida. Para más información ver documentación \"Marketplace y Split de pagos\"."
      },
      {
        "kind": "optional",
        "name": "description",
        "type": "string",
        "description": "Descripción de la operación a realizar."
      },
      {
        "kind": "optional",
        "name": "currency",
        "type": "string",
        "description": "Moneda de la operación. Valores admitidos: \"ARS\". Valor por defecto: \"ARS\"."
      },
      {
        "kind": "optional",
        "name": "installment",
        "type": "string",
        "description": "Referencia del plan de cuotas con el cual se va a procesar la operación. Valor por defecto \"1\"."
      },
      {
        "kind": "optional",
        "name": "webhook",
        "type": "string",
        "description": "URL a la cual será informado el pago mediante WebHooks (POST)"
      },
      {
        "kind": "optional",
        "name": "securityCode",
        "type": "string",
        "description": "Código de seguridad de la tarjeta, sólo si la misma lo requiere."
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "PT0TZO03hg5v874oUPtnK",
        "code": "{\n  \"result\": true,\n  \"data\": {\n    \"result\": true,\n    \"view\": {\n      \"type\": \"card\"\n    },\n    \"payment\": {\n      \"id\": \"XrJzmlavI\",\n      \"description\": \"Test Payment\",\n      \"operation\": {\n        \"type\": \"payment.v2\"\n      },\n      \"status\": {\n        \"code\": \"200\",\n        \"text\": \"Aprobado\",\n        \"message\": \"Transacción Aprobada\"\n      },\n      \"total\": 100,\n      \"currency\": {\n        \"code\": \"TEST\",\n        \"text\": \"Test Money\",\n        \"symbol\": \"T$\"\n      },\n      \"riskAnalysis\": {\n        \"band\": \"N/A\",\n        \"level\": \"N/A\"\n      },\n      \"created\": \"2021-05-18T18:58:51.882Z\",\n      \"updated\": \"2021-05-18T18:58:52.019Z\",\n      \"reference\": \"202105271429\",\n      \"source\": {\n        \"name\": \"Visa Débito\",\n        \"type\": \"card\",\n        \"reference\": \"visa.debit\",\n        \"number\": \"450799******0010\",\n        \"cardholder\": {\n          \"name\": \"Demo\",\n          \"identification\": \"12123123\"\n        },\n        \"expiration\": {\n          \"month\": \"12\",\n          \"year\": \"34\"\n        },\n        \"installment\": {\n          \"description\": \"1\",\n          \"amount\": 0,\n          \"count\": 1,\n          \"reference\": \"\"\n        }\n      }\n    },\n    \"user\": {\n      \"name\": \"Demo\",\n      \"email\": \"demo@mobbex.com\"\n    },\n    \"source\": {\n      \"name\": \"Visa Débito\",\n      \"type\": \"card\",\n      \"reference\": \"visa.debit\"\n    }\n  }\n}",
        "language": "200"
      },
      {
        "id": "1nnlriRtWqAZN4xiZpQoM",
        "code": "",
        "language": "404"
      }
    ],
    "selectedLanguageId": "PT0TZO03hg5v874oUPtnK"
  },
  "examples": {
    "languages": [
      {
        "id": "JlBoQw90TRZZ1XcepGlxn",
        "code": "curl --location --request POST 'https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT/operation' \\\r\n--header 'x-api-key: zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj' \\\r\n--header 'x-access-token: d31f0721-2f85-44e7-bcc6-15e19d1a53cc' \\\r\n--header 'Content-Type: application/json' \\\r\n--data-raw '{\r\n    \"source\": \"YBATG1W8SO3SGHMZT\",\r\n    \"total\": 100.50,\r\n    \"reference\": \"202105271429\",\r\n    \"webhook\": \"https://mobbex.com/process/webhook\",\r\n    \"securityCode\": \"200\",\r\n    \"test\": true\r\n\r\n}'",
        "language": "curl"
      },
      {
        "id": "aQ5z0we3OAj1PgmbskDC1",
        "code": "var data = JSON.stringify({\r\n  \"source\": \"YBATG1W8SO3SGHMZT\",\r\n  \"total\": 100.5,\r\n  \"reference\": \"202105271429\",\r\n  \"webhook\": \"https://mobbex.com/process/webhook\",\r\n  \"securityCode\": \"200\",\r\n  \"test\": true\r\n});\r\n\r\nvar xhr = new XMLHttpRequest();\r\nxhr.withCredentials = true;\r\n\r\nxhr.addEventListener(\"readystatechange\", function() {\r\n  if(this.readyState === 4) {\r\n    console.log(this.responseText);\r\n  }\r\n});\r\n\r\nxhr.open(\"POST\", \"https://api.mobbex.com/p/wallet/SEAW3SDTIF5E3OFHT/operation\");\r\nxhr.setRequestHeader(\"x-api-key\", \"zJ8LFTBX6Ba8D611e9io13fDZAwj0QmKO1Hn1yIj\");\r\nxhr.setRequestHeader(\"x-access-token\", \"d31f0721-2f85-44e7-bcc6-15e19d1a53cc\");\r\nxhr.setRequestHeader(\"Content-Type\", \"application/json\");\r\n\r\nxhr.send(data);",
        "language": "javascript"
      }
    ],
    "selectedLanguageId": "JlBoQw90TRZZ1XcepGlxn"
  },
  "description": "",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "autoGeneratedAnchorSlug": "generar-operacin",
  "legacyHash": "xUdbmOyeaCzPlSV0xDs_E"
}
```
:::



