Gateway - Procesamiento
Cash Out
5 min
requerimientos completar los primeros pasos generar una llave pública bajo el standard openpgp enviar la llave pública a integraciones\@sugaway com especificando el api key generado en el punto 1 aclaraciones generales cash out se considera una transacción autenticada, el servicio generará un token de autenticación que sólo podrá ser desencriptado con la llave privada generada en el paso 2 de los requerimientos la llave privada deberá ser almacenada de manera segura ya que toda transacción autenticada no podrá ser reversada ni reclamada cada transacción generada deberá ser autenticada con la llave perteneciente al api key o app generada para su aplicativo cada código de autenticación tendrá una vida de 15 minutos, su duración será especificada en la respuesta esta operación sólo podrá ser realizada de servidor a servidor y jamás deberá ser utilizada desde un frontend { "name" "generar autenticación", "method" "post", "url" "https //api sugaway com/p/developer/app/auth", "description" "permite generar un token de autenticación de operación ", "tab" "examples", "examples" { "languages" \[ { "id" "9rou50zriqis7devazorz", "language" "curl", "code" "curl location request post 'https //api sugaway com/p/developer/app/auth' \\\\\n header 'accept application/json' \\\\\n header 'x api key string' \\\\\n header 'x access token string' \\\\\n data raw '{\\"type\\" \\"string\\"}'", "customlabel" "" }, { "id" "waade8bqtgfmucj 0laxh", "language" "nodejs", "code" "var request = require('request');\nvar options = {\n 'method' 'post',\n 'url' 'https //api sugaway com/p/developer/app/auth',\n 'headers' {\n 'accept' 'application/json',\n 'x api key' 'string',\n 'x access token' 'string'\n },\n body '{\\"type\\" \\"string\\"}'\n\n};\nrequest(options, function (error, response) {\n if (error) throw new error(error);\n console log(response body);\n});\n", "customlabel" "" }, { "id" "0u9tail ll okqxmihlt6", "language" "javascript", "code" "var myheaders = new headers();\nmyheaders append(\\"accept\\", \\"application/json\\");\nmyheaders append(\\"x api key\\", \\"string\\");\nmyheaders append(\\"x access token\\", \\"string\\");\n\nvar raw = \\"{\\\\\\"type\\\\\\" \\\\\\"string\\\\\\"}\\";\n\nvar requestoptions = {\n method 'post',\n headers myheaders,\n body raw,\n redirect 'follow'\n};\n\nfetch(\\"https //api sugaway com/p/developer/app/auth\\", requestoptions)\n then(response => response text())\n then(result => console log(result))\n catch(error => console log('error', error));", "customlabel" "" }, { "id" "mxibzlnpdybgx9wl2cexw", "language" "python", "code" "import requests\n\nurl = \\"https //api sugaway com/p/developer/app/auth\\"\n\npayload = \\"{\\\\\\"type\\\\\\" \\\\\\"string\\\\\\"}\\"\nheaders = {\n 'accept' 'application/json',\n 'x api key' 'string',\n 'x access token' 'string'\n}\n\nresponse = requests request(\\"post\\", url, headers=headers, data=payload)\n\nprint(response text)\n", "customlabel" "" }, { "id" "v3xeixvvfht4es1vc7shg", "language" "ruby", "code" "require \\"uri\\"\nrequire \\"net/http\"\n\nurl = uri(\\"https //api sugaway com/p/developer/app/auth\\")\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\[\\"x api key\\"] = \\"string\\"\nrequest\[\\"x access token\\"] = \\"string\\"\nrequest body = \\"{\\\\\\"type\\\\\\" \\\\\\"string\\\\\\"}\\"\n\nresponse = https request(request)\nputs response read body\n", "customlabel" "" } ], "selectedlanguageid" "9rou50zriqis7devazorz" }, "results" { "languages" \[ { "id" "mwpggtgfkqfxn uhz0d9u", "language" "200", "customlabel" "", "code" "{\n \\"result\\" true,\n \\"data\\" {\n \\"token\\" \\"encrypted token\\",\n \\"expiresat\\" 1689884692491\n }\n}" } ], "selectedlanguageid" "mwpggtgfkqfxn uhz0d9u" }, "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[ { "name" "x api key", "kind" "required", "type" "string", "description" "api key que identifica la app", "children" \[] }, { "name" "x access token", "kind" "required", "type" "string", "description" "access token que identifica la entidad sobre la cual se operará", "children" \[] } ], "bodydataparameters" \[ { "name" "type", "kind" "required", "type" "string", "description" "valor 2fa" } ], "formdataparameters" \[] }, "currentnewparameter" { "label" "header parameter", "value" "headerparameters" } } el token retornado sólo podrá ser desencriptado por la llave privada de la llave pública provista generación de transacción paso 1 inicializar cash out { "name" "inicializar el cash out", "method" "post", "url" "https //api sugaway com/p/cashout", "description" "permite iniciar el proceso de cash out de una cuenta", "tab" "examples", "examples" { "languages" \[ { "id" "vta vkenbug9t6 ohey16", "language" "curl", "code" "curl location request post 'https //api sugaway com/p/cashout' \\\\\n header 'accept application/json' \\\\\n header 'x api key string' \\\\\n header 'x access token string' \\\\\n data raw '{\\"total\\" \\"number\\",\\"currency\\" \\"string\\",\\"reference\\" \\"string\\",\\"account\\" \\"string\\",\\"webhook\\" \\"string\\",\\"description\\" \\"string\\",\\"test\\" \\"boolean\\"}'", "customlabel" "" }, { "id" "vhu6p1y6vlnf4mu73tv6b", "language" "nodejs", "code" "var request = require('request');\nvar options = {\n 'method' 'post',\n 'url' 'https //api sugaway com/p/cashout',\n 'headers' {\n 'accept' 'application/json',\n 'x api key' 'string',\n 'x access token' 'string'\n },\n body '{\\"total\\" \\"number\\",\\"currency\\" \\"string\\",\\"reference\\" \\"string\\",\\"account\\" \\"string\\",\\"webhook\\" \\"string\\",\\"description\\" \\"string\\",\\"test\\" \\"boolean\\"}'\n\n};\nrequest(options, function (error, response) {\n if (error) throw new error(error);\n console log(response body);\n});\n", "customlabel" "" }, { "id" "fbhvg 8pioeoox8 vhidr", "language" "javascript", "code" "var myheaders = new headers();\nmyheaders append(\\"accept\\", \\"application/json\\");\nmyheaders append(\\"x api key\\", \\"string\\");\nmyheaders append(\\"x access token\\", \\"string\\");\n\nvar raw = \\"{\\\\\\"total\\\\\\" \\\\\\"number\\\\\\",\\\\\\"currency\\\\\\" \\\\\\"string\\\\\\",\\\\\\"reference\\\\\\" \\\\\\"string\\\\\\",\\\\\\"account\\\\\\" \\\\\\"string\\\\\\",\\\\\\"webhook\\\\\\" \\\\\\"string\\\\\\",\\\\\\"description\\\\\\" \\\\\\"string\\\\\\",\\\\\\"test\\\\\\" \\\\\\"boolean\\\\\\"}\\";\n\nvar requestoptions = {\n method 'post',\n headers myheaders,\n body raw,\n redirect 'follow'\n};\n\nfetch(\\"https //api sugaway com/p/cashout\\", requestoptions)\n then(response => response text())\n then(result => console log(result))\n catch(error => console log('error', error));", "customlabel" "" }, { "id" "rpebsy21nv1vshyzcdk3t", "language" "python", "code" "import requests\n\nurl = \\"https //api sugaway com/p/cashout\\"\n\npayload = \\"{\\\\\\"total\\\\\\" \\\\\\"number\\\\\\",\\\\\\"currency\\\\\\" \\\\\\"string\\\\\\",\\\\\\"reference\\\\\\" \\\\\\"string\\\\\\",\\\\\\"account\\\\\\" \\\\\\"string\\\\\\",\\\\\\"webhook\\\\\\" \\\\\\"string\\\\\\",\\\\\\"description\\\\\\" \\\\\\"string\\\\\\",\\\\\\"test\\\\\\" \\\\\\"boolean\\\\\\"}\\"\nheaders = {\n 'accept' 'application/json',\n 'x api key' 'string',\n 'x access token' 'string'\n}\n\nresponse = requests request(\\"post\\", url, headers=headers, data=payload)\n\nprint(response text)\n", "customlabel" "" }, { "id" "7rryxc cuwsgc08niyxjg", "language" "ruby", "code" "require \\"uri\\"\nrequire \\"net/http\"\n\nurl = uri(\\"https //api sugaway com/p/cashout\\")\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\[\\"x api key\\"] = \\"string\\"\nrequest\[\\"x access token\\"] = \\"string\\"\nrequest body = \\"{\\\\\\"total\\\\\\" \\\\\\"number\\\\\\",\\\\\\"currency\\\\\\" \\\\\\"string\\\\\\",\\\\\\"reference\\\\\\" \\\\\\"string\\\\\\",\\\\\\"account\\\\\\" \\\\\\"string\\\\\\",\\\\\\"webhook\\\\\\" \\\\\\"string\\\\\\",\\\\\\"description\\\\\\" \\\\\\"string\\\\\\",\\\\\\"test\\\\\\" \\\\\\"boolean\\\\\\"}\\"\n\nresponse = https request(request)\nputs response read body\n", "customlabel" "" } ], "selectedlanguageid" "vta vkenbug9t6 ohey16" }, "results" { "languages" \[ { "id" "eiyqhsms h3dbbpez4i7z", "language" "200", "customlabel" "", "code" "{\n \\"result\\" true,\n \\"data\\" {\n \\"intent\\" {\n \\"token\\" \\"9396f724 80cc 49bf 8391 bc18b525e3ac\\"\n }\n }\n}" }, { "id" "fg7p6bbzjazxjnqlvqhfy", "language" "404", "customlabel" "", "code" "{\n \\"message\\" \\"ain't no cake like that \\"\n }" } ], "selectedlanguageid" "eiyqhsms h3dbbpez4i7z" }, "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[ { "name" "x api key", "kind" "required", "type" "string", "description" "clave api de su aplicación ", "children" \[] }, { "name" "x access token", "kind" "required", "type" "string", "description" "token de acceso a su comercio ", "children" \[] } ], "bodydataparameters" \[ { "name" "total", "kind" "required", "type" "number", "description" "total de la operación" }, { "name" "currency", "kind" "required", "type" "string", "description" "código de moneda aceptados ars", "children" \[] }, { "name" "reference", "kind" "required", "type" "string", "description" "factura, recibo o referencia del pago a realizar puede ser un identificador de un sistema externo para seguimiento este identificador pertenece a su sistema pero debe ser único para cada operación suga no permite 2 operaciones con el mismo reference ", "children" \[] }, { "name" "account", "kind" "optional", "type" "string", "description" "cuenta de la entidad este dato es opcional y no debe ser enviado si no es indicado por nuestro equipo", "children" \[] }, { "name" "webhook", "kind" "optional", "type" "string", "description" "url a la cual será informado el pago mediante webhooks (post)", "children" \[] }, { "name" "description", "kind" "optional", "type" "string", "description" "descripción de la operación que será mostrada en la consola de suga ", "children" \[] }, { "name" "test", "kind" "optional", "type" "boolean", "description" "permite colocar la operación en modo test ", "children" \[] }, { "name" "customer", "kind" "optional", "type" "object", "description" "cliente al que se envía el cashout", "children" \[ { "name" "identification", "kind" "optional", "type" "string", "description" "en argentina cuil o cuit" }, { "name" "name", "kind" "optional", "type" "string", "description" "nombre completo del cliente" } ] } ], "formdataparameters" \[] }, "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" } } paso 2 generar token del medio de pago generar token de tipo "bank" paso 3 procesar la operación invocar el procesamiento de la operación