MÓDULOS
Checkout
Wallet
12min
este tipo de procesamiento permite generar una operacion via api permitiendo personalizar al máximo la experiencia de pago siempre se deben tener en cuenta las medidas de seguridad adecuadas para este tipo de operatoria donde se manipulara el pan del cliente sequencediagram participant sistema participant mobbex sistema >>mobbex crear operacion note right of mobbex utilizar private key mobbex >>sistema guardar intent token sistema >>mobbex generar token tarjeta note right of mobbex utilizar public key mobbex >>sistema devuelve token sistema >>mobbex generar cobro generales nuestro checkout transparente le permitirá generar operaciones desde su sitio siempre y cuando las mismas sean de tipo tarjeta de crédito o débito además como parte de la creación del checkout también se le brindará un checkout standard para el procesamiento de medios de pago no tarjeta en este tipo de checkout hay algunos datos como customer que son obligatorios y deben enviarse siempre, de lo contrario la operación no podrá realizarse requerimientos llave publica llave privada sitios web calificación a o mayor en https //www ssllabs com/ssltest si el sitio web arroja menor a a las credenciales serán desactivadas automáticamente todos los sitios que utilicen esta operatoria serán monitoreados a diario para web se recomienda utilizar mobbexjs cuya función es simplificar el proceso utilizando script sdk actual https //res mobbex com/js/sdk/mobbex\@1 1 0 js utilizando npm web y react native npm i s e @mobbex/sdk creación de checkout sólo desde el lado servidor, este método no puede ejecutarse desde el cliente 1\) crear intencion de cobro post https //api mobbex com/p/checkout cabeceras api key llave privada parámetros admite todos los parámetros de checkout ( https //mobbex dev/docs/checkout ), pero además se establecen los siguientes customer objeto de tipo json con los datos del cliente obligatorios uid identificador único e interno del cliente createdat debe estar en formato timestamp en milisegundos name nombre del cliente identification dni phone número de celular email email del cliente wallet habilita la opción de billetera virtual para el almacenado de tarjetas (opcional) en este caso debe estar en true options objeto con opciones domain dominio desde el que se procesará el checkout (obligatorio) ejemplo curl location request post 'https //api mobbex com/p/checkout' \\ \ header 'api key 8bjocpu4xw5gchsp5ydhzsmhmnqu1kfw7nw' \\ \ header 'x lang es' \\ \ header 'content type application/json' \\ \ data raw '{ 	"total" 5, 	"currency" "ars", 	"reference" "2982 2xtpxlgsawccquyobuv4semlymv0n6ox6moridmw", 	"description" "descripción de la venta", 	"customer" { 	 "uid" "12123123", 	 "name" "demo mobbex", 	 "identification" "23234234", 	 "email" "demo\@mobbex com" 	}, "options" { "domain" "mi dominio com" } 	"wallet" true, 	"return url" "https //localhost 8443/sale/return?session=56789", 	"webhook" "https //localhost 8443/sale/webhook?user=1234" }' respuesta para procesar en modo transparente se debe obtener data wallet it ya que será el parámetro necesario para el resto de las apis { "result" true, "data" { "id" "pycnwif9msxv1qylng", "url" "https //local mobbex com 8080/p/checkout/v2/pycnwif9msxv1qylng", "description" "descripción de la venta", "currency" "ars", "total" 5, "created" 1598424066850, "customer" { "name" "demo mobbex" }, "wallet" \[ { "it" "5ca170c7 b74a 469a 8e61 3635148cbc5d", "name" "visa terminada en 8545", "source" { "reference" "visa comafi", "name" "visa banco comafi", "shortname" "visa comafi", "card" { "currency" "ars", "product" { "name" "visa", "shortname" "visa", "variant" "credit", "lengths" \[ 16 ], "gaps" \[ 4, 8, 12 ], "code" { "name" "cvv", "length" 3, "position" 1 }, "logo" "https //res mobbex com/images/sources/png/visa png" }, "issuer" { "shortname" "comafi", "name" "banco comafi", "color" "#789c48", "logo" "https //res mobbex com/images/sources/png/comafi png" }, "level" "classic" }, "type" "card", "priority" 0 }, "card" { "expiration month" 2, "expiration year" 24, "card number" "402123 8888" }, "installments" \[ { "name" "1 pago", "description" "1 pago", "count" 1, "reference" "1", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 5 1, "count" 1 }, "total" 5 1, "financial" { "percentage" 2, "amount" 0 1 } } }, { "name" "3 cuotas", "description" "3 cuotas", "count" 3, "reference" "3", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 1 94, "count" 3 }, "total" 5 83, "financial" { "percentage" 16 5, "amount" 0 83 } } }, { "name" "6 cuotas", "description" "6 cuotas", "count" 6, "reference" "6", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 1 09, "count" 6 }, "total" 6 55, "financial" { "percentage" 31, "amount" 1 55 } } }, { "name" "10 cuotas", "description" "10 cuotas", "count" 10, "reference" "10", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 0 51, "count" 10 }, "total" 5 1, "financial" { "percentage" 2, "amount" 0 1 } } }, { "name" "ahora 12", "description" "", "count" 12, "reference" "ahora 12", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 0 43, "count" 12 }, "total" 5 1, "financial" { "percentage" 2, "amount" 0 1 } } }, { "name" "ahora 18", "description" "", "count" 18, "reference" "ahora 18", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 0 28, "count" 18 }, "total" 5 1, "financial" { "percentage" 2, "amount" 0 1 } } } ] } ] } } { "result" true, "data" { "id" "pycnwif9msxv1qylng", "url" "https //local mobbex com 8080/p/checkout/v2/pycnwif9msxv1qylng", "description" "descripción de la venta", "currency" "ars", "total" 5, "created" 1598424066850, "customer" { "name" "demo mobbex" }, "wallet" \[ { "it" "5ca170c7 b74a 469a 8e61 3635148cbc5d", "name" "visa terminada en 8545", "source" { "reference" "visa comafi", "name" "visa banco comafi", "shortname" "visa comafi", "card" { "currency" "ars", "product" { "name" "visa", "shortname" "visa", "variant" "credit", "lengths" \[ 16 ], "gaps" \[ 4, 8, 12 ], "code" { "name" "cvv", "length" 3, "position" 1 }, "logo" "https //res mobbex com/images/sources/png/visa png" }, "issuer" { "shortname" "comafi", "name" "banco comafi", "color" "#789c48", "logo" "https //res mobbex com/images/sources/png/comafi png" }, "level" "classic" }, "type" "card", "priority" 0 }, "card" { "expiration month" 2, "expiration year" 24, "card number" "402123 8888" }, "installments" \[ { "name" "1 pago", "description" "1 pago", "count" 1, "reference" "1", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 5 1, "count" 1 }, "total" 5 1, "financial" { "percentage" 2, "amount" 0 1 } } }, { "name" "3 cuotas", "description" "3 cuotas", "count" 3, "reference" "3", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 1 94, "count" 3 }, "total" 5 83, "financial" { "percentage" 16 5, "amount" 0 83 } } }, { "name" "6 cuotas", "description" "6 cuotas", "count" 6, "reference" "6", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 1 09, "count" 6 }, "total" 6 55, "financial" { "percentage" 31, "amount" 1 55 } } }, { "name" "10 cuotas", "description" "10 cuotas", "count" 10, "reference" "10", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 0 51, "count" 10 }, "total" 5 1, "financial" { "percentage" 2, "amount" 0 1 } } }, { "name" "ahora 12", "description" "", "count" 12, "reference" "ahora 12", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 0 43, "count" 12 }, "total" 5 1, "financial" { "percentage" 2, "amount" 0 1 } } }, { "name" "ahora 18", "description" "", "count" 18, "reference" "ahora 18", "totals" { "currency" { "value" "ars", "label" "peso argentino", "symbol" "$", "hidden" false }, "installment" { "amount" 0 28, "count" 18 }, "total" 5 1, "financial" { "percentage" 2, "amount" 0 1 } } } ] } ] } } procesamiento con wallet via api la metogología via api no valida riesgo ni corre el servicio anti fraude para esto debe usarse el sdk sequencediagram; sistema > mobbex crear operacion; note right of mobbex utilizar private key sistema > mobbex generar cobro; note right of mobbex utilizar public key 1\) generar un nuevo checkout desde el lado servidor utilizando llave privada 2\) obtener desde el objeto wallet it ( intent token ) y wallet installments reference 3\) procesar la operación como en el punto 4 se debe enviar securitycode como parametro adicional en body post https //api mobbex com/p/operations/{{intent token}} cabeceras api key llave pública \#### parámetros (body) \ ```installment``` reference obtenido desde las cuotas calculadas para la tarjeta elegida en wallet \ ```securitycode``` código de seguridad de la tarjeta elegida \#### respuesta referencia https //mobbex dev/docs/statuses ```json { "id" "ks6d18und", "status" { "code" "200", "text" "aprobado", "message" "transacción aprobada" } } ``` \ \# uso del sdk \> tenga en cuenta que integrity ( sri ) es obligatorio, de lo contrario sus credenciales pueden ser canceladas { is warning} \ ```html \<!doctype html> \<html lang="en"> 	\<head> 	 \<meta charset="utf 8" /> 	 \<meta 	 name="viewport" 	 content="width=device width, initial scale=1, shrink to fit=no" 	 /> 	 \<title>mobbex sdk\</title> \<script src="https //res mobbex com/js/sdk/mobbex\@1 0 0 js" integrity="sha384 inuol0csx9x+vgy/b2db2liabc/zhyhfp0kr8gma14xjqbwlbt5k5xt9kiixmrf2" crossorigin="anonymous">\</script> 	\</head> 	\<body> 	 \<noscript> you need to enable javascript to run this app \</noscript> 	 \<div id="root"> 	 \<ul> \<li>tarjeta 1\</li> \</ul> \<input 	 id="card security code" 	 type="password" 	 placeholder="codigo de seguridad" 	 /> 	 \<br /> \<! the button must not be in the form!! > 	 \<button id="mobbex pay" type="button">pagar\</button> \</div> 	 \<script> document getelementbyid("mobbex pay") onclick = function() { window\ mobbexjs operation process({ 	 intenttoken "{{ intenttoken }}", 	 installment "{{ cuota elegida }}"	 securitycode document getelementbyid("card security code") value }); }; 	 \</script> 	\</body> \</html> ```