MOBBEX AVANZADO
PARTNERS PCI
Integración Transparente
4 min
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 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 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) { "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" } } 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 { "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" } }