Gateway - Procesamiento
Link de Pago
6 min
{ "tab" "request", "url" "https //{suga id} sugaway io/p/payment order", "name" "creación de la orden de pago", "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 a la entidad para la cual desea realizar la operación " }, { "kind" "required", "name" "content type", "type" "string", "description" "application/json" } ], "bodydataparameters" \[ { "kind" "required", "name" "total", "type" "number", "description" "monto de la operación formato xxx xx donde el punto es el separador decimal " }, { "kind" "required", "name" "description", "type" "string", "description" "descripción de la operación que será mostrada en la orden de pago " }, { "kind" "optional", "name" "email", "type" "string", "description" "el email al cual será enviada la orden de pago generada si no se provee se usa el teléfono o se retorna la url " }, { "kind" "optional", "name" "phone", "type" "string", "description" "número de celular al cual será enviada la orden generada si no se provee se usa email o se retorna la url el número debe ingresarse sin 0 y sin 15 " }, { "kind" "optional", "name" "reference", "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 no se permiten 2 operaciones en estado pago con el mismo reference " }, { "kind" "optional", "name" "due", "type" "object", "description" "fecha de vencimiento de la orden formato day, month, year" }, { "kind" "required", "name" "due day", "type" "number", "description" "día de vencimiento de la orden " }, { "kind" "required", "name" "due month", "type" "number", "description" "mes de vencimiento de la orden " }, { "kind" "required", "name" "due year", "type" "number", "description" "año de vencimiento de la orden " }, { "kind" "optional", "name" "seconddue", "type" "object", "description" "segundo vencimiento de la orden " }, { "kind" "required", "name" "seconddue days", "type" "number", "description" "días al segundo vencimiento pasado el primer vencimiento " }, { "kind" "required", "name" "seconddue surcharge", "type" "number", "description" "recargo adicional a cobrarse en el segundo vencimiento respecto al total original de la orden " }, { "kind" "optional", "name" "actions", "type" "array", "description" "acciones mostradas en la descripción del pago a realizar este parámetro es un array y puede contener 1 o varias acciones " }, { "kind" "optional", "name" "return url", "type" "string", "description" "url a la cual será enviado el usuario al finalizar el pago " }, { "kind" "optional", "name" "webhook", "type" "string", "description" "url a la cual será informado el pago mediante webhooks ( post )" }, { "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" "items", "type" "array", "description" "elementos que serán mostrados al ingresar a la orden de pago como parte de la descripción del pago " }, { "kind" "optional", "name" "options", "type" "object", "description" "otras opciones de personalización de la orden" }, { "kind" "optional", "name" "options smsmessage", "type" "string", "description" "mensaje a incluirse en el sms enviado al cliente antes del link de la orden el largo máximo para el parámetro smsmessage es de 140 caractéres " }, { "kind" "optional", "name" "options theme", "type" "object", "description" "le permite personalizar su experiencia de cobro para más detalles ver la sección \\"personalización de la ui de pago\\" " }, { "kind" "optional", "name" "sources", "type" "array", "description" "permite la limitación de los medios de pago aceptados de esta forma, en la orden de pago únicamente podrán utilizarse los medios aquí definidos " }, { "kind" "optional", "name" "installments", "type" "array", "description" "permite la limitación de los planes activos al pagar la orden para realizar dicha limitación se debe enviar un array de referencias de planes se definen ejemplos a continuación " }, { "kind" "optional", "name" "customerform", "type" "string", "description" "permite utilizar un formulario diseñado desde sugaway para configurar este campo anteponer \\"custom \\" al id del formulario generado ej \\"custom 45uzcry09\\" ", "" "permite utilizar un formulario diseñado desde sugaway para configurar este campo anteponer \\"custom \\" al id del formulario generado ej \\"custom 45uzcry09\\" " }, { "kind" "optional", "name" "test", "type" "boolean", "description" "activa/desactiva el modo de pruebas en este modo es posible utilizar las tarjetas de prueba definidas en esta documentación valor por defecto false" }, { "kind" "optional", "name" "split", "type" "array", "description" "permite dividir el cobro de la orden en varias entidades de sugaway para más detalles ver la sección \\"marketplace, split, cobro con comisión\\" ", "" "permite dividir el cobro de la orden en varias entidades de sugaway para más detalles ver la sección \\"marketplace, split, cobro con comisión\\" " }, { "kind" "optional", "name" "customer", "type" "object", "description" "objeto con los datos del cliente", "children" \[ { "name" "uid", "kind" "optional", "type" "string", "description" "identificador del cliente en la tienda debe ser único e irrepetible" }, { "name" "createdat", "kind" "optional", "type" "number", "description" "timestamp con la fecha de creación del usuario/cliente en la tienda " }, { "name" "email", "kind" "required", "type" "string", "description" "email del cliente este parametro es necesario " }, { "name" "identification", "kind" "required", "type" "string", "description" "dni del cliente " }, { "name" "name", "kind" "required", "type" "string", "description" "nombre del cliente " }, { "name" "phone", "kind" "optional", "type" "string", "description" "teléfono del cliente " }, { "name" "{field}", "kind" "optional", "type" "string", "description" "puede colocar información sobre su cliente en este objeto el objeto customer no debe superar los 20kb en total " } ], "schema" \[ { "name" "uid", "kind" "optional", "type" "string", "description" "identificador del cliente en la tienda debe ser único e irrepetible" }, { "name" "createdat", "kind" "optional", "type" "number", "description" "timestamp con la fecha de creación del usuario/cliente en la tienda " }, { "name" "email", "kind" "required", "type" "string", "description" "email del cliente este parametro es necesario " }, { "name" "identification", "kind" "required", "type" "string", "description" "dni del cliente " }, { "name" "name", "kind" "required", "type" "string", "description" "nombre del cliente " }, { "name" "phone", "kind" "optional", "type" "string", "description" "teléfono del cliente " }, { "name" "{field}", "kind" "optional", "type" "string", "description" "puede colocar información sobre su cliente en este objeto el objeto customer no debe superar los 20kb en total " } ] }, { "kind" "optional", "name" "multicard", "type" "boolean", "description" "permite abonar la operación en el link de pago con múltiples tarjetas no es compatible con operaciones de tipo split " }, { "kind" "optional", "name" "type", "type" "string", "description" "permite generar un link de pago cerrado o abierto en el caso del link de pago abierto el cliente podrá pagar lo que desee valores admitidos \\"open\\" o \\"closed\\" si no se envía se toma \\"closed\\" por defecto" } ], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "wtv3hgixokdz dmudul5b", "code" "{\n \\"result\\" true,\n \\"data\\" {\n \\"uid\\" \\"jlwou4dzj\\",\n \\"secondduesurcharge\\" 0,\n \\"sources\\" \[],\n \\"installments \[],\n \\"reference\\" \\"mi referencia 123\\",\n \\"return url\\" \\"\\",\n \\"webhook\\" \\"\\",\n \\"emailsubject \\"\\",\n \\"test\\" false,\n \\"customerform\\" \\"default\\",\n \\"description\\" \\"orden de pago con 1 vencimiento\\",\n \\"email\\" \\"\\",\n \\"currency\\" \\"ars\\",\n \\"creator\\" null,\n \\"app\\" \\"5761a3dd8aad6c120042b287\\",\n \\"phone\\" \\"\\",\n \\"duedate\\" \\"2019 12 25t00 00 00 000z\\",\n \\"secondduedate\\" null,\n \\"created\\" \\"2020 11 18t18 43 17 412z\\",\n \\"url\\" \\"http //sugaway com/p/payment order/xxxxxx\\",\n \\"qr\\" \\"\\",\n \\"total\\" 100,\n }\n}", "language" "200" } ], "selectedlanguageid" "wtv3hgixokdz dmudul5b" }, "examples" { "languages" \[ { "id" "gbvga rkv qp99nranzp5", "code" "\<?php\n\n$curl = curl init();\n\ncurl setopt array($curl, array(\n curlopt url => \\"https //{suga id} sugaway io/p/payment order\\",\n curlopt returntransfer => true,\n curlopt encoding => \\"\\",\n curlopt maxredirs => 10,\n curlopt timeout => 30,\n curlopt http version => curl http version 1 1,\n curlopt customrequest => \\"post\\",\n curlopt postfields => \\"{ \\\n\\\t\\\\\\"total\\\\\\" 100,\\\n\\\t\\\\\\"description\\\\\\" \\\\\\"some description 3\\\\\\",\\\n\\\t\\\\\\"actions\\\\\\" \[{\\\n\\\t\\\t\\\\\\"icon\\\\\\" \\\\\\"attachment\\\\\\",\\\n\\\t\\\t\\\\\\"title\\\\\\" \\\\\\"factura\\\\\\",\\\n\\\t\\\t\\\\\\"url\\\\\\" \\\\\\"https //speryans com/mifactura/123\\\\\\"\\\n\\\t}],\\\n\\\t\\\\\\"reference\\\\\\" \\\\\\"mi referencia 123\\\\\\"\\\n}\\",\n curlopt httpheader => array(\n \\"content type application/json\\",\n \\"cache control no cache\\",\n \\"x access token d31f0721 2f85 44e7 bcc6 15e19d1a53cc\\",\n \\"x api key zj8lftbx6ba8d611e9io13fdzawj0qmko1hn1yij\\",\n \\"x lang es\\"\n ),\n));\n\n$response = curl exec($curl);\n$err = curl error($curl);\n\ncurl close($curl);\n\nif ($err) {\n echo \\"curl error # \\" $err;\n} else {\n echo $response;\n}", "language" "curl" }, { "id" "opnbra4uxqpppshclmns2", "code" "var data = json stringify({\n total 100,\n description \\"some description #3\\",\n due {\n day 18,\n month 4,\n year 2021\n },\n seconddue {\n days 10,\n surcharge 30\n },\n actions \[\n {\n icon \\"attachment\\",\n title \\"factura\\",\n url \\"https //speryans com/mifactura/123\\",\n },\n ],\n return url \\"https //{suga id} sugaway io/order123/return\\",\n webhook \\"https //sugaway com/order123/webhook\\",\n reference \\"mi referencia 123\\",\n options {\n smsmessage \\"enviamos la orden generada para su pago\\"\n }\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 //{suga id} sugaway io/p/payment order\\");\nxhr setrequestheader(\\"x api key\\", \\"zj8lftbx6ba8d611e9io13fdzawj0qmko1hn1yij\\");\nxhr setrequestheader(\\"x access token\\", \\"d31f0721 2f85 44e7 bcc6 15e19d1a53cc\\");\nxhr setrequestheader(\\"x lang\\", \\"es\\");\nxhr setrequestheader(\\"content type\\", \\"application/json\\");\nxhr setrequestheader(\\"cache control\\", \\"no cache\\");\n\nxhr send(data);", "language" "javascript" }, { "id" "efdleoove25xmpwe057fl", "code" "\<?php\n\n$request = new httprequest();\n$request >seturl('https //{suga id} sugaway io/p/payment order');\n$request >setmethod(http meth post);\n\n$request >setheaders(array(\n 'cache control' => 'no cache',\n 'content type' => 'application/json',\n 'x lang' => 'es',\n 'x access token' => 'd31f0721 2f85 44e7 bcc6 15e19d1a53cc',\n 'x api key' => 'zj8lftbx6ba8d611e9io13fdzawj0qmko1hn1yij'\n));\n\n$request >setbody('{\n \\"total\\" 100,\n \\"description\\" \\"some description #3\\",\n \\"due\\" {\n \\"day\\" 18,\n \\"month\\" 4,\n \\"year\\" 2021\n },\n \\"seconddue\\" {\n \\"days\\" 10,\n \\"surcharge\\" 30\n },\n \\"actions\\" \[\n {\n \\"icon\\" \\"attachment\\",\n \\"title\\" \\"factura\\",\n \\"url\\" \\"https //speryans com/mifactura/123\\",\n },\n ],\n \\"return url\\" \\"https //sugaway com/order123/return\\",\n \\"webhook\\" \\"https //sugaway com/order123/webhook\\",\n \\"reference\\" \\"mi referencia 123\\",\n \\"options\\" {\n \\"smsmessage\\" \\"enviamos la orden generada para su pago\\"\n }\n}');\n\ntry {\n $response = $request >send();\n\n echo $response >getbody();\n} catch (httpexception $ex) {\n echo $ex;\n}", "language" "php" }, { "id" "fcho4s1e9a3scuoeumeit", "code" "import requests\ndata = json dumps({\n \\"total\\" 100,\n \\"description\\" \\"some description #3\\",\n \\"due\\" {\n \\"day\\" 18,\n \\"month\\" 4,\n \\"year\\" 2021\n },\n \\"seconddue\\" {\n \\"days\\" 10,\n \\"surcharge\\" 30\n },\n \\"actions\\" \[\n {\n \\"icon\\" \\"attachment\\",\n \\"title\\" \\"factura\\",\n \\"url\\" \\"https //speryans com/mifactura/123\\",\n },\n ],\n \\"return url\\" \\"https //sugaway com/order123/return\\",\n \\"webhook\\" \\"https //sugaway com/order123/webhook\\",\n \\"reference\\" \\"mi referencia 123\\",\n \\"options\\" {\n \\"smsmessage\\" \\"enviamos la orden generada para su pago\\"\n }\n})\n\nheaders = {\\"x api key\\" \\"zj8lftbx6ba8d611e9io13fdzawj0qmko1hn1yij\\",\n \\"x access token\\" \\"d31f0721 2f85 44e7 bcc6 15e19d1a53cc\\",\n \\"x lang\\" \\"es\\",\n \\"content type\\" \\"application/json\\",\n \\"cache control\\" \\"no cache\\"}\n\nr = requests post(\\"https //{suga id} sugaway io/p/checkout\\",\n data=data, headers=headers)\n\n# print json response\n# r json()", "language" "python" }, { "id" "acc1bwfg2vg8bua amc3x", "code" "curl x post \\\\\n https //{suga id} sugaway io/p/payment order \\\\\n h 'content type application/json' \\\\\n h 'cache control no cache' \\\\\n h 'x access token d31f0721 2f85 44e7 bcc6 15e19d1a53cc' \\\\\n h 'x api key zj8lftbx6ba8d611e9io13fdzawj0qmko1hn1yij' \\\\\n h 'x lang es' \\\\\n d '{\n \\"total\\" 100,\n \\"description\\" \\"some description #3\\",\n \\"due\\" {\n \\"day\\" 18,\n \\"month\\" 4,\n \\"year\\" 2021\n },\n \\"seconddue\\" {\n \\"days\\" 10,\n \\"surcharge\\" 30\n },\n \\"actions\\" \[\n {\n \\"icon\\" \\"attachment\\",\n \\"title\\" \\"factura\\",\n \\"url\\" \\"https //speryans com/mifactura/123\\",\n },\n ],\n \\"return url\\" \\"https //sugaway com/order123/return\\",\n \\"webhook\\" \\"https //sugaway com/order123/webhook\\",\n \\"reference\\" \\"mi referencia 123\\",\n \\"options\\" {\n \\"smsmessage\\" \\"enviamos la orden generada para su pago\\"\n }\n}'", "language" "shell" } ], "selectedlanguageid" "efdleoove25xmpwe057fl" }, "description" "", "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" } } ejemplos del nodo actions "actions" \[ { "icon" "document", "title" "factura", "url" "https //sugaway com/mifactura/123" }, { "icon" "attachment", "title" "factura 2", "url" "https //sugaway com/mifactura/1234" } ] ejemplos del nodo items { "items" \[ { "image" "https //www sugaway com/wp content/uploads/2019/03/web logo png", "quantity" 2, "description" "mi producto", "total" 50 } ] } las imágenes deben soportar https, de lo contrario no serán mostradas ejemplos del nodo sources { "sources" \["visa", "mastercard"] } ejemplos del nodo installments existen 3 formas de limitar los planes en base a su reference limitar los planes únicamente a los elegidas en el array { "installments" \["1", "3", "ahora 12"] } ocultar determinados planes de todo el conjunto de planes existentes { "installments" \[" ahora 12", " ahora 18"] } atributo "reference" este atributo es utilizado para evitar pagos duplicados debe ser único para cada operación de pago a identificar, ya que sugaway no permitirá 2 transacciones en estado "pago" con el mismo reference { "tab" "examples", "url" "https //{suga id} sugaway io/p/payment order/resend", "name" "reenviar orden de pago", "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" "id", "type" "string", "description" "identificador (uid) de la orden de pago " } ], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "xokidzhtfsizd tz7qjmj", "code" "{}", "language" "200" } ], "selectedlanguageid" "xokidzhtfsizd tz7qjmj" }, "examples" { "languages" \[ { "id" "hwbvrhsnpepqnwjgz8 ia", "code" "var data = json stringify({\n id \\"jlwou4dzj\\"\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 //{suga id} sugaway io/p/payment order/resend\\");\nxhr setrequestheader(\\"x api key\\", \\"zj8lftbx6ba8d611e9io13fdzawj0qmko1hn1yij\\");\nxhr setrequestheader(\\"x access token\\", \\"d31f0721 2f85 44e7 bcc6 15e19d1a53cc\\");\nxhr setrequestheader(\\"x lang\\", \\"es\\");\nxhr setrequestheader(\\"content type\\", \\"application/json\\");\nxhr setrequestheader(\\"cache control\\", \\"no cache\\");\n\nxhr send(data);", "language" "javascript" } ], "selectedlanguageid" "hwbvrhsnpepqnwjgz8 ia" }, "description" "esta api permite reenviar la orden de pago a través de email o teléfono definido en la misma", "currentnewparameter" { "label" "header parameter", "value" "headerparameters" } } { "tab" "request", "url" "https //{suga id} sugaway io/p/payment order/{id}", "name" "eliminar orden de pago", "method" "delete", "request" { "pathparameters" \[], "queryparameters" \[ { "kind" "required", "name" "id", "type" "string", "description" "identificador (uid) de la orden de pago a eliminar " } ], "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" "mipjvghpru7jm7 7fi2oh", "code" "{\n \\"result\\" true\n}", "language" "200" } ], "selectedlanguageid" "mipjvghpru7jm7 7fi2oh" }, "examples" { "languages" \[ { "id" "jmobjquhv5g213jgjasyc", "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 //{suga id} sugaway io/p/payment order/jlwou4dzj\\");\nxhr setrequestheader(\\"x api key\\", \\"zj8lftbx6ba8d611e9io13fdzawj0qmko1hn1yij\\");\nxhr setrequestheader(\\"x access token\\", \\"d31f0721 2f85 44e7 bcc6 15e19d1a53cc\\");\nxhr setrequestheader(\\"x lang\\", \\"es\\");\nxhr setrequestheader(\\"content type\\", \\"application/json\\");\nxhr setrequestheader(\\"cache control\\", \\"no cache\\");\n\nxhr send();", "language" "javascript" } ], "selectedlanguageid" "jmobjquhv5g213jgjasyc" }, "description" "", "currentnewparameter" { "label" "query parameter", "value" "queryparameters" } } { "tab" "examples", "url" "https //{suga id} sugaway io/p/payment order/{id}/paid", "name" "marcar una orden de pago como paga", "method" "post", "request" { "pathparameters" \[ { "kind" "required", "name" "id", "type" "string", "description" "id de la orden de pago a marcar como paga" } ], "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" \[], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "sz1ii0fi6 ybn5ci8d50", "code" "{\n \\"result\\" true,\n \\"view\\" {\n \\"type\\" \\"none\\"\n },\n \\"payment\\" {\n \\"id\\" \\"igev250cr\\",\n \\"description\\" \\"orden de pago con 1 vencimiento\\",\n \\"operation\\" {\n \\"type\\" \\"manual\\"\n },\n \\"status\\" {\n \\"code\\" \\"200\\",\n \\"text\\" \\"aprobado\\",\n \\"message\\" \\"\\"\n },\n \\"total\\" 100,\n \\"currency\\" {\n \\"code\\" \\"ars\\",\n \\"text\\" \\"peso argentino\\",\n \\"symbol\\" \\"$\\"\n },\n \\"riskanalysis\\" {\n \\"band\\" \\"n/a\\",\n \\"level\\" \\"n/a\\"\n },\n \\"created\\" \\"2021 05 28t13 54 37 978z\\",\n \\"updated\\" \\"2021 05 28t13 54 37 986z\\",\n \\"reference\\" \\"mi referencia 123\\"\n },\n \\"user\\" {\n \\"name\\" \\"\\",\n \\"email\\" \\"\\"\n }\n}", "language" "200" }, { "id" "iqdc79gsmihaopjiqj aw", "code" "", "language" "404" } ], "selectedlanguageid" "sz1ii0fi6 ybn5ci8d50" }, "examples" { "languages" \[ { "id" "nepgggopl6la4t9taz7cw", "code" "curl location request post 'https //{suga id} sugaway io/p/payment order/jlwou4dzj/paid' \\\\\n header 'x api key zj8lftbx6ba8d611e9io13fdzawj0qmko1hn1yij' \\\\\n header 'x access token d31f0721 2f85 44e7 bcc6 15e19d1a53cc'", "language" "curl" }, { "id" "odpyda 3vhskbrnbi57mu", "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(\\"post\\", \\"https //{suga id} sugaway io/p/payment order/jlwou4dzj/paid\\");\nxhr setrequestheader(\\"x api key\\", \\"zj8lftbx6ba8d611e9io13fdzawj0qmko1hn1yij\\");\nxhr setrequestheader(\\"x access token\\", \\"d31f0721 2f85 44e7 bcc6 15e19d1a53cc\\");\n\nxhr send();", "language" "javascript" } ], "selectedlanguageid" "odpyda 3vhskbrnbi57mu" }, "description" "", "currentnewparameter" { "label" "path parameter", "value" "pathparameters" } }