Tarjeta Presente
API para procesamiento con SDK
5 min
we consta básicamente de los siguientes pasos generación de la intención de pago (intent token) detección de tarjeta ingresada (opcional) creación de token de tarjeta (se gestiona a través del sdk) procesamiento de la operación (se gestiona a través del sdk) generación de intent token el primer paso para realizar una operación en modalidad tarjeta presente es obtener el intent token, en el cuál se definen todas las características de la operación la api a utilizar es { "tab" "request", "url" "https //api mobbex com/p/pos/physical", "name" "creación de intent token para tarjeta presente", "method" "post", "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[ { "kind" "optional", "name" "api key", "type" "string", "description" "llave privada de la entidad" } ], "bodydataparameters" \[ { "kind" "required", "name" "total", "type" "number", "children" \[], "description" "total de la operación" }, { "kind" "required", "name" "serialnumber", "type" "string", "children" \[], "description" "serial reference generado por el sdk identificatorio del lector" }, { "kind" "optional", "name" "test", "type" "boolean", "children" \[], "description" "indica si la operación realizada está en modo test" }, { "kind" "optional", "name" "currency", "type" "string", "children" \[], "description" "moneda de la operación formato iso 4217" }, { "kind" "optional", "name" "otheramount", "type" "number", "children" \[], "description" "importe adicional de la operación aplica unicamente para operatorias de cashback, la entidad debe estar habilitada para tal fin " }, { "kind" "optional", "name" "submerchant", "type" "object", "children" \[ { "kind" "required", "name" "reference", "type" "string", "description" "el campo reference permite identificar al comercio de manera única y evita la duplicación de comercios este campo según el país suele estar asociado al identificador tributario ( cuit en argentina ) o el id de su base de datos este campo le permitirá buscar y encontrar el comercio via api o en el backend " }, { "kind" "required", "name" "country", "type" "string", "description" "código de país del comercio formato iso 3166 3" }, { "kind" "required", "name" "legalname", "type" "string", "description" "nombre legal del comercio como se encuentra registrado en el fisco" }, { "kind" "required", "name" "name", "type" "string", "description" "nombre de fantasía del comercio" }, { "kind" "required", "name" "taxidtype", "type" "string", "description" "tipo de identificador tributario valores aceptados argentina arg cuit, arg cuil, arg dni chile chl rut uruguay ury rut méxico mex rfc" }, { "kind" "required", "name" "taxid", "type" "string", "description" "identificador tributario basado en el tipo elegido " }, { "kind" "required", "name" "mcc", "type" "string", "description" "mcc del subcomercio (ver código de comercio en la sección agregadores)" }, { "kind" "required", "name" "city", "type" "string", "description" "ciudad del comercio" }, { "kind" "required", "name" "state", "type" "string", "description" "provincia o estado del comercio para argentina se debe utilizar la clasificacion propuesta ( ver cod de provincias argentina en la sección agregadores) " }, { "kind" "required", "name" "address", "type" "object", "children" \[ { "kind" "required", "name" "street", "type" "string", "description" "calle" }, { "kind" "required", "name" "number", "type" "string", "description" "altura" }, { "kind" "required", "name" "notes", "type" "string", "description" "información adicional sobre la direccion" } ], "description" "información sobre la dirección del comercio" }, { "kind" "optional", "name" "currency", "type" "string", "description" "moneda por defecto del subcomercio si no se envía, se define por defecto la moneda oficial del país " }, { "kind" "required", "name" "owner", "type" "object", "children" \[ { "kind" "required", "name" "name", "type" "string", "description" "nombre del titular" }, { "kind" "required", "name" "lastname", "type" "string", "description" "apellido del titular" }, { "kind" "required", "name" "identification", "type" "string", "description" "documento de identidad del titular del comercio" }, { "kind" "required", "name" "identificationtype", "type" "string", "description" "tipo de identificador tributario valores aceptados argentina arg cuit, arg cuil, arg dni chile chl rut uruguay ury rut méxico mex rfc" } ], "description" "información sobre el responsable/titular del comercio" }, { "name" "zipcode", "kind" "required", "type" "string", "description" "código postal de la entidad para argentina, indicar el nuevo cpa de 8 dígitos" } ], "description" "objeto que contiene toda la información relacionada al subcomercio, requerido en agrupadores o pay fac" }, { "kind" "optional", "name" "intent", "type" "string", "children" \[], "description" "flujo de la operación, permite soportar operaciones en 2 pasos valores posibles \\"payment 2 step\\", \\"payment v2\\" por defecto la captura de la operación es automática" }, { "kind" "optional", "name" "reference", "type" "string", "children" \[], "description" "reference externa de la operación asignada por el consumidor del servicio " }, { "kind" "optional", "name" "description", "type" "string", "children" \[], "description" "descripción de la operación" }, { "kind" "optional", "name" "webhook", "type" "string", "children" \[], "description" "url donde se realizará la notificación sobre las actualizaciones sobre el cobro realizado " } ], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "fyockhxnqwh0h vzm7tnn", "code" "{\n \\"result\\" true,\n \\"data\\" {\n \\"intent\\" {\n \\"type\\" \\"payment v2\\",\n \\"token\\" \\"620198a7 291e 4bde 9248 43b34d59e8c9\\"\n },\n \\"test\\" true\n }\n}", "language" "200" } ], "selectedlanguageid" "fyockhxnqwh0h vzm7tnn" }, "examples" { "languages" \[ { "id" "caei7 ofl5f0i7kagwby1", "code" "curl location request post 'https //api mobbex com/p/pos/physical' \\\\\n header 'api key 8bjocpu4xw5gchsp5ydhzsmhmnqu1kfw7nw' \\\\\n header 'x lang es' \\\\\n header 'content type application/json' \\\\\n data raw '{\n\t\\"total\\" 3 21,\n\t\\"serialnumber\\" \\"2gkj23h1324\\",\n\t\\"currency\\" \\"ars\\",\n\t\\"description\\" \\"description\\",\n\t\\"test\\" true\n}'", "language" "curl" } ], "selectedlanguageid" "caei7 ofl5f0i7kagwby1" }, "description" "", "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" } } parámetro a almacenar se debe guardar el valor de "data intent token" para ser utilizado en las siguientes operaciones detección de tarjeta ingresada una vez obtenido el intent token de la operación, es posible realizar la detección de la tarjeta ingresada por el cliente para visualizar los planes de cuotas definidos para la misma esta detección se realiza sobre el bin de la tarjeta, es decir, sobre los primeros 6 dígitos del pan esta api se encuentra restringida a los comercios que hayan solicitado el módulo de cálculo de promociones la api a utilizar es { "tab" "examples", "url" "https //api mobbex com/p/sources/detect/{{intent token}}", "name" "detección de tarjeta", "method" "post", "request" { "pathparameters" \[], "queryparameters" \[ { "kind" "optional", "name" "intent token", "type" "string", "description" "intent token correspondiente al checkout creado anteriormente" } ], "headerparameters" \[ { "kind" "optional", "name" "api key", "type" "string", "description" "llave pública de la entidad" } ], "bodydataparameters" \[ { "kind" "required", "name" "type", "type" "string", "description" "tipo de medio de pago a consultar valor fijo \\"card\\"" }, { "kind" "optional", "name" "data", "type" "object", "description" "objeto de tipo json con los datos de la tarjeta a detectar " }, { "kind" "optional", "name" "data bin", "type" "string", "description" "bin de la tarjeta a detectar (primeros 6 dígitos)" }, { "kind" "optional", "name" "options", "type" "object", "description" "objeto de tipo json con las opciones de detección" }, { "kind" "optional", "name" "options installments", "type" "boolean", "description" "valor true/false que habilita el cálculo de cuotas " } ], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "qzhdazioiemc7b v0hk7 ", "code" "{\n\t\\"result\\" true,\n\t\\"data\\" {\n\t\t\\"type\\" \\"card\\",\n\t\t\\"source\\" {\n\t\t\t\\"references\\" \[\\"visa\\"],\n\t\t\t\\"reference\\" \\"visa\\",\n\t\t\t\\"generic\\" \\"visa\\",\n\t\t\t\\"compatreference\\" \\"visa\\",\n\t\t\t\\"name\\" \\"visa\\",\n\t\t\t\\"shortname\\" \\"visa\\",\n\t\t\t\\"currency\\" \\" \\",\n\t\t\t\\"card\\" {\n\t\t\t\t\\"level\\" \\"classic\\",\n\t\t\t\t\\"product\\" {\n\t\t\t\t\t\\"name\\" \\"visa\\",\n\t\t\t\t\t\\"shortname\\" \\"visa\\",\n\t\t\t\t\t\\"variant\\" \\"credit\\",\n\t\t\t\t\t\\"lengths\\" \[16],\n\t\t\t\t\t\\"gaps\\" \[4, 8, 12],\n\t\t\t\t\t\\"code\\" {\n\t\t\t\t\t\t\\"name\\" \\"cvv\\",\n\t\t\t\t\t\t\\"length\\" 3,\n\t\t\t\t\t\t\\"position\\" 1\n\t\t\t\t\t},\n\t\t\t\t\t\\"logo\\" \\"https //res mobbex com/images/sources/png/visa png\\",\n\t\t\t\t\t\\"validation\\" \[\\"length\\", \\"exp\\", \\"cvv\\", \\"luhn\\"]\n\t\t\t\t},\n\t\t\t\t\\"issuer\\" {\n\t\t\t\t\t\\"shortname\\" \\"visa\\",\n\t\t\t\t\t\\"name\\" \\"visa\\",\n\t\t\t\t\t\\"color\\" \\"#122d98\\",\n\t\t\t\t\t\\"logo\\" \\"https //res mobbex com/images/sources/png/visa png\\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\\"installments\\" \[{\n\t\t\t\\"name\\" \\"1 pago\\",\n\t\t\t\\"description\\" \\"1 pago\\",\n\t\t\t\\"sourcereference\\" \\"\\",\n\t\t\t\\"count\\" 1,\n\t\t\t\\"reference\\" \\"1\\",\n\t\t\t\\"totals\\" {\n\t\t\t\t\\"currency\\" {\n\t\t\t\t\t\\"value\\" \\"test\\",\n\t\t\t\t\t\\"label\\" \\"test money\\",\n\t\t\t\t\t\\"symbol\\" \\"t$\\",\n\t\t\t\t\t\\"hidden\\" false\n\t\t\t\t},\n\t\t\t\t\\"installment\\" {\n\t\t\t\t\t\\"amount\\" 5,\n\t\t\t\t\t\\"count\\" 1\n\t\t\t\t},\n\t\t\t\t\\"total\\" 5,\n\t\t\t\t\\"financial\\" {\n\t\t\t\t\t\\"percentage\\" 0,\n\t\t\t\t\t\\"amount\\" 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\t\\"name\\" \\"3 cuotas\\",\n\t\t\t\\"description\\" \\"3 cuotas\\",\n\t\t\t\\"sourcereference\\" \\"\\",\n\t\t\t\\"count\\" 3,\n\t\t\t\\"reference\\" \\"3\\",\n\t\t\t\\"totals\\" {\n\t\t\t\t\\"currency\\" {\n\t\t\t\t\t\\"value\\" \\"test\\",\n\t\t\t\t\t\\"label\\" \\"test money\\",\n\t\t\t\t\t\\"symbol\\" \\"t$\\",\n\t\t\t\t\t\\"hidden\\" false\n\t\t\t\t},\n\t\t\t\t\\"installment\\" {\n\t\t\t\t\t\\"amount\\" 1 92,\n\t\t\t\t\t\\"count\\" 3\n\t\t\t\t},\n\t\t\t\t\\"total\\" 5 75,\n\t\t\t\t\\"financial\\" {\n\t\t\t\t\t\\"percentage\\" 15,\n\t\t\t\t\t\\"amount\\" 0 75\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\t\\"name\\" \\"6 cuotas\\",\n\t\t\t\\"description\\" \\"6 cuotas\\",\n\t\t\t\\"sourcereference\\" \\"\\",\n\t\t\t\\"count\\" 6,\n\t\t\t\\"reference\\" \\"6\\",\n\t\t\t\\"totals\\" {\n\t\t\t\t\\"currency\\" {\n\t\t\t\t\t\\"value\\" \\"test\\",\n\t\t\t\t\t\\"label\\" \\"test money\\",\n\t\t\t\t\t\\"symbol\\" \\"t$\\",\n\t\t\t\t\t\\"hidden\\" false\n\t\t\t\t},\n\t\t\t\t\\"installment\\" {\n\t\t\t\t\t\\"amount\\" 1 08,\n\t\t\t\t\t\\"count\\" 6\n\t\t\t\t},\n\t\t\t\t\\"total\\" 6 5,\n\t\t\t\t\\"financial\\" {\n\t\t\t\t\t\\"percentage\\" 30,\n\t\t\t\t\t\\"amount\\" 1 5\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\t\\"name\\" \\"9 cuotas\\",\n\t\t\t\\"description\\" \\"9 cuotas\\",\n\t\t\t\\"sourcereference\\" \\"\\",\n\t\t\t\\"count\\" 9,\n\t\t\t\\"reference\\" \\"9\\",\n\t\t\t\\"totals\\" {\n\t\t\t\t\\"currency\\" {\n\t\t\t\t\t\\"value\\" \\"test\\",\n\t\t\t\t\t\\"label\\" \\"test money\\",\n\t\t\t\t\t\\"symbol\\" \\"t$\\",\n\t\t\t\t\t\\"hidden\\" false\n\t\t\t\t},\n\t\t\t\t\\"installment\\" {\n\t\t\t\t\t\\"amount\\" 0 81,\n\t\t\t\t\t\\"count\\" 9\n\t\t\t\t},\n\t\t\t\t\\"total\\" 7 25,\n\t\t\t\t\\"financial\\" {\n\t\t\t\t\t\\"percentage\\" 45,\n\t\t\t\t\t\\"amount\\" 2 25\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\t\\"name\\" \\"ahora 12\\",\n\t\t\t\\"description\\" \\"\\",\n\t\t\t\\"sourcereference\\" \\"\\",\n\t\t\t\\"count\\" 12,\n\t\t\t\\"reference\\" \\"ahora 12\\",\n\t\t\t\\"totals\\" {\n\t\t\t\t\\"currency\\" {\n\t\t\t\t\t\\"value\\" \\"test\\",\n\t\t\t\t\t\\"label\\" \\"test money\\",\n\t\t\t\t\t\\"symbol\\" \\"t$\\",\n\t\t\t\t\t\\"hidden\\" false\n\t\t\t\t},\n\t\t\t\t\\"installment\\" {\n\t\t\t\t\t\\"amount\\" 0 48,\n\t\t\t\t\t\\"count\\" 12\n\t\t\t\t},\n\t\t\t\t\\"total\\" 5 75,\n\t\t\t\t\\"financial\\" {\n\t\t\t\t\t\\"percentage\\" 15,\n\t\t\t\t\t\\"amount\\" 0 75\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\t\\"name\\" \\"ahora 18\\",\n\t\t\t\\"description\\" \\"\\",\n\t\t\t\\"sourcereference\\" \\"\\",\n\t\t\t\\"count\\" 18,\n\t\t\t\\"reference\\" \\"ahora 18\\",\n\t\t\t\\"totals\\" {\n\t\t\t\t\\"currency\\" {\n\t\t\t\t\t\\"value\\" \\"test\\",\n\t\t\t\t\t\\"label\\" \\"test money\\",\n\t\t\t\t\t\\"symbol\\" \\"t$\\",\n\t\t\t\t\t\\"hidden\\" false\n\t\t\t\t},\n\t\t\t\t\\"installment\\" {\n\t\t\t\t\t\\"amount\\" 0 35,\n\t\t\t\t\t\\"count\\" 18\n\t\t\t\t},\n\t\t\t\t\\"total\\" 6 25,\n\t\t\t\t\\"financial\\" {\n\t\t\t\t\t\\"percentage\\" 25,\n\t\t\t\t\t\\"amount\\" 1 25\n\t\t\t\t}\n\t\t\t}\n\t\t}]\n\t}\n}", "language" "200" } ], "selectedlanguageid" "qzhdazioiemc7b v0hk7 " }, "examples" { "languages" \[ { "id" "0kcm9lyyz1l8ymre flud", "code" "curl location request post 'https //api mobbex com/p/sources/detect/{intent token}' \\\\\n header 'api key zqnk0za2gaha5rkiub0xroik5akzzsdk5bga' \\\\\n header 'x lang es' \\\\\n header 'content type application/json' \\\\\n data raw '{\n\t\\"type\\" \\"card\\",\n\t\\"data\\" {\n\t\t\\"bin\\" \\"451700\\"\n\t},\n \\"options\\" {\n\t\t\\"installments\\" true\n\t},\n}'", "language" "curl" } ], "selectedlanguageid" "0kcm9lyyz1l8ymre flud" }, "description" "", "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" } } procesamiento con el plan de cuotas se debe almacenar el valor "data installments reference" correspondiente al plan de cuotas elegido para ser utilizado luego al procesar la operación devolución de operaciones para realizar la devolución de operaciones, tambien es requisito la generación de un intent token de devolución { "tab" "request", "url" "https //api mobbex com/p/pos/physical/{uid}/refund", "name" "realizar devolución de operación", "method" "post", "request" { "pathparameters" \[ { "name" "uid", "kind" "required", "type" "string", "description" "id del cupón a devolver", "children" \[] } ], "queryparameters" \[], "headerparameters" \[ { "kind" "required", "name" "api key", "type" "string", "description" "llave privada de la entidad" }, { "kind" "required", "name" "x suga entity", "type" "string", "description" "uid de la entidad a la que pertenece la operación en relación al intent token de procesamiento, debe ser igual al parámetro \\"submerchant reference\\"" } ], "bodydataparameters" \[ { "kind" "optional", "name" "total", "type" "number", "description" "importe a devolver en el caso de que se realice una devolución parcial en caso de anulaciones o devoluciones totales, este campo no es requerido" } ], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "veehfpi51suox5u8m38h8", "code" "{\n \\"intent\\" {\n \\"token\\" \\"\\"\n },\n \\"requirecard\\" true\n}", "language" "200" }, { "id" "6yrzxkku8ci2zufliaknx", "code" "", "language" "404" } ], "selectedlanguageid" "veehfpi51suox5u8m38h8" }, "examples" { "languages" \[ { "id" "yh0hnmrmxmxquxdqjkvhb", "code" "curl location request post ' https //api mobbex com/p/pos/physical/ybzgohyke/refund' \\\\\n header 'api key abcabc123123defdef456456' \\\\\n header 'content type application/json' \\\\\n data raw '{\n \\"total\\" 10\n}'", "language" "curl" }, { "id" "ojdgiu8bjuhy9futmdj2w", "code" "var data = json stringify({\n \\"total\\" 10,\n \\"source\\" \\"t\ ps65gf2h \\"\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/operations/ybzgohyke/refund\\");\nxhr setrequestheader(\\"api key\\", \\"abcabc123123defdef456456\\");\nxhr setrequestheader(\\"content type\\", \\"application/json\\");\n\nxhr send(data);", "language" "javascript" } ], "selectedlanguageid" "yh0hnmrmxmxquxdqjkvhb" }, "description" "", "currentnewparameter" { "label" "path parameter", "value" "pathparameters" } }