Primeros Pasos
9 min
el servicio de qr interoperable se propone como un sistema completamente interoperable con todos los qr disponibles en los diferentes mercados nuestro objetivo es unificar en un mismo qr todas las especificaciones de cada país, de cada sistema y de cada marca en el caso de las tarjetas nuestro servicio es agnostico y puede ser implementado tanto por bancos, billeteras virtuales como por integradores desde el lado de la aceptación el servicio se encuentra abierto a la incoporación de nuevos operadores y procesadores más allá de los ofrecidos actualmente actualmente interoperable soporta los siguientes medios de pago según el país argentina transferencias 3 0 tarjetas de crédito/prepaga/débito uruguay tarjetas de crédito/prepaga/débito cuenta bancaria ( en progreso ) chile tarjetas de crédito/prepaga/débito conceptos generales operador un operador constituye la entidad que permite administrar múltiples cuentas tanto de comercios como billetera habientes existen 2 tipos de operadores administradores de cuentas bancos, billeteras, recaudadores adquirentes comercios modos de funcionamiento productivos desarrollo o sandbox cliente / billetera habiente dueño de la billetera o cuenta bancaria que iniciará los pagos comercio receptor de los pagos de los clientes / billetera habientes procesadores el servicio provee de diversos procesadores dependiento del medio de pago con el que se necesite pagar medio de pago procesador estado transferencias 3 0 coelsa finalizado transferencias 3 0 newpay / payway finalizado tarjetas de crédito/débito/prepagas mobbex finalizado tarjetas de crédito/débito/prepagas suga finalizado modo modo en progreso mercado pago mercado pago en progreso credenciales existen 2 tipos de credenciales, las de tipo merchant y las de tipo customer, cada una será utilizada para las diferentes acciones del servicio las diferentes llamadas via webhook serán firmadas utilizando el client secret entregado durante la implementación credenciales provistas client id client secret { "tab" "examples", "url" "https //api interoperable ar/app/login", "name" "autenticación", "method" "post", "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[], "bodydataparameters" \[ { "kind" "required", "name" "client id", "type" "string", "description" "client id provisto" }, { "kind" "optional", "name" "client secret", "type" "string", "children" \[], "description" "client id provisto" } ], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "iagvb3p3bsojid8ey6mjb", "code" "{\n\t\\"expires at\\" 1682590149,\n\t\\"prefix\\" \\"bearer\\",\n\t\\"token\\" \\"eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9 eyjhchaioii2ndq1yjljzju4zwqwndazmdawzwjloweilcjlehaioje2odi1otaxndl9 2yrugklmkavb7oowk7calewzob267w15yzajzrsgule\\"\n}", "language" "200", "customlabel" "" }, { "id" "bxkrkonoo8yhtcfx0 evy", "code" "{\n\t\\"data\\" \\"unauthorized\\",\n\t\\"result\\" false\n}", "language" "401", "customlabel" "" } ], "selectedlanguageid" "iagvb3p3bsojid8ey6mjb" }, "examples" { "languages" \[ { "id" "tfjt7eealplctx67w 91l", "code" "curl location request post 'https //api interoperable ar/app/login' \\\\\n header 'accept application/json' \\\\\n data raw '{\\"client id\\" \\"string\\",\\"client secret\\" \\"string\\"}'", "language" "curl", "customlabel" "" }, { "id" "5ztzldum3olvtgkhf9mx4", "code" "var request = require('request');\nvar options = {\n 'method' 'post',\n 'url' 'https //api interoperable ar/app/login',\n 'headers' {\n 'accept' 'application/json'\n },\n body '{\\"client id\\" \\"string\\",\\"client secret\\" \\"string\\"}'\n\n};\nrequest(options, function (error, response) {\n if (error) throw new error(error);\n console log(response body);\n});\n", "language" "nodejs", "customlabel" "" }, { "id" "ijzuazhd0nkgj52ksel8s", "code" "var myheaders = new headers();\nmyheaders append(\\"accept\\", \\"application/json\\");\n\nvar raw = \\"{\\\\\\"client id\\\\\\" \\\\\\"string\\\\\\",\\\\\\"client secret\\\\\\" \\\\\\"string\\\\\\"}\\";\n\nvar requestoptions = {\n method 'post',\n headers myheaders,\n body raw,\n redirect 'follow'\n};\n\nfetch(\\"https //api interoperable ar/app/login\\", requestoptions)\n then(response => response text())\n then(result => console log(result))\n catch(error => console log('error', error));", "language" "javascript", "customlabel" "" }, { "id" "qgt7otdvpgljq5kpya1zt", "code" "import requests\n\nurl = \\"https //api interoperable ar/app/login\\"\n\npayload = \\"{\\\\\\"client id\\\\\\" \\\\\\"string\\\\\\",\\\\\\"client secret\\\\\\" \\\\\\"string\\\\\\"}\\"\nheaders = {\n 'accept' 'application/json'\n}\n\nresponse = requests request(\\"post\\", url, headers=headers, data=payload)\n\nprint(response text)\n", "language" "python", "customlabel" "" }, { "id" "2tgn89eaxj5fgf86gnx5m", "code" "require \\"uri\\"\nrequire \\"net/http\"\n\nurl = uri(\\"https //api interoperable ar/app/login\\")\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 = \\"{\\\\\\"client id\\\\\\" \\\\\\"string\\\\\\",\\\\\\"client secret\\\\\\" \\\\\\"string\\\\\\"}\\"\n\nresponse = https request(request)\nputs response read body\n", "language" "ruby", "customlabel" "" } ], "selectedlanguageid" "2tgn89eaxj5fgf86gnx5m" }, "description" "permite generar la llave jwt para utilizar el servicio ", "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" } } esta llave jwt generada deberá ser enviada en las llamadas a los servicios de la api en el campo authorization { "tab" "examples", "url" "https //api interoperable ar/status", "name" "estado del servicio", "method" "get", "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[], "bodydataparameters" \[], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "u3jcdsxxuvxy 7ikxbsbh", "code" "{\n\t\\"data\\" \\"ok\\",\n\t\\"result\\" true\n}", "language" "200", "customlabel" "" }, { "id" "ep7djdzvfaeeq diqw4i9", "code" "", "language" "500", "customlabel" "" } ], "selectedlanguageid" "u3jcdsxxuvxy 7ikxbsbh" }, "examples" { "languages" \[ { "id" "5rk2ashybmhnaxkjxhsc ", "code" "curl location request get 'https //api interoperable ar/status' \\\\\n header 'accept application/json'", "language" "curl", "customlabel" "" }, { "id" "qo5dtsl0ofrdnr1xjjbvd", "code" "var request = require('request');\nvar options = {\n 'method' 'get',\n 'url' 'https //api interoperable com ar/status',\n 'headers' {\n 'accept' 'application/json'\n }\n};\nrequest(options, function (error, response) {\n if (error) throw new error(error);\n console log(response body);\n});\n", "language" "nodejs", "customlabel" "" }, { "id" "lnom8ce8mi3xjh3mvvjih", "code" "var myheaders = new headers();\nmyheaders append(\\"accept\\", \\"application/json\\");\n\nvar requestoptions = {\n method 'get',\n headers myheaders,\n redirect 'follow'\n};\n\nfetch(\\"https //api interoperable com ar/status\\", requestoptions)\n then(response => response text())\n then(result => console log(result))\n catch(error => console log('error', error));", "language" "javascript", "customlabel" "" }, { "id" "bbnmewducd6orwerbornl", "code" "import requests\n\nurl = \\"https //api interoperable com ar/status\\"\n\npayload={}\nheaders = {\n 'accept' 'application/json'\n}\n\nresponse = requests request(\\"get\\", url, headers=headers, data=payload)\n\nprint(response text)\n", "language" "python", "customlabel" "" }, { "id" "g1pqhddynlrcl3vnzsjw ", "code" "require \\"uri\\"\nrequire \\"net/http\"\n\nurl = uri(\\"https //api interoperable com ar/status\\")\n\nhttps = net http new(url host, url port)\nhttps use ssl = true\n\nrequest = net http get new(url)\nrequest\[\\"accept\\"] = \\"application/json\\"\n\nresponse = https request(request)\nputs response read body\n", "language" "ruby", "customlabel" "" } ], "selectedlanguageid" "5rk2ashybmhnaxkjxhsc " }, "description" "permite conocer el estado del servicio", "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" } }

