Objetivo
El objetivo es realizar la gestión y administración de las billeteras virtuales en el sistema cristal.
Para configurar esta herramienta, se requiere un conocimiento técnico específico, ya que es necesario manejar los datos de la API y crear accesos a sucursales, billeteras y cajas de la billetera virtual en cuestión.
Configuración Externa
Para comenzar, es necesario llevar a cabo la creación de sucursales y cajas en la billetera digital seleccionada, como por ejemplo Mercado Pago.
Cada billetera tiene su propio entorno "developers", tomando de ejemplo Mercado Pago es el siguiente: https://www.mercadopago.com.ar/developers/es
Los siguientes links los redirigirán a consultar información más técnica a cerca de la creación de:
- Sucursales: https://www.mercadopago.com.ar/developers/es/reference/stores/_users_user_id_stores/post
- Cajas: https://www.mercadopago.com.ar/developers/es/reference/pos/_pos/post
Para identificar en Cristal que la Billetera Virtual pertenece a cierta propiedad necesitamos reconocer lo siguiente:
Header:
["Content-Type: application/json", "Accept-Language: application/json", "Authorization: xxxxxxxxxx"]
Respuesta de la creación de caja.
{
"id": ,
"qr": {
"image": "",
"template_document": "",
"template_image": ""
},
"status": "active",
"date_created": "2023-11-02T14:45:36.000-04:00",
"date_last_updated": "2023-11-02T14:45:36.000-04:00",
"uuid": "",
"user_id": ,
"name": "",
"fixed_amount": ,
"category": ,
"store_id": "",
"external_store_id": "",
"external_id": "",
"site": "",
"qr_code": ""
}
Gestión de Cajas y Billeteras Virtuales
Una vez obtenidos estos datos podremos comenzar a configurar dentro de Cristal la sincronización con la billetera en cuestión.
La opción "Gestión de Cajas y Billeteras Virtuales" permite realizar dos funciones principales:
1. Actualización del Maestro de Billeteras Virtuales:
Aquí se actualizan Los valores necesarios para el funcionamiento de cada billetera virtual.
Esto lo realizamos desde el botón Billeteras Virtuales podremos seleccionar una billetera y realizar modificaciones:
Como primer paso debemos seleccionar o crear una nueva billetera:
Luego, modificaremos los datos para que funcione correctamente:
Una vez creada y modificado los datos de la nueva billetera, podremos crear/administrar las cajas.
Los datos solicitados se obtienen todos de acuerdo a lo que la API requiere para operar, tanto el encabezado como el Method.
En el caso del script puede usarse el creado por digital express o crear uno propio colocando la ruta completa de búsqueda (incluyendo el https si es necesario)
2.Administración de Cajas:
Se pueden activar/anular, administrar y consultar las cajas de la billetera virtual.
- Datos a ingresar:
- ID Caja Billetera: Dato creado automáticamente.
- Minuta de Cobranza asociada: Se mostrará el Número de Minuta asociada desde la opción. Minuta de cobranzas/Billetera
- Billetera Asociada: En este campo podremos seleccionar cualquier billetera que no se encuentre dada de baja.
- Descripción Caja QR: Texto libre y obligatorio para hacer referencia a su caja.
- Datos de la caja: Debe tener el JSON con la info de la caja. Esto se carga manual de acuerdo a lo que el panel de gestión de la billetera devuelve. Los datos en este campo son los que usará el Script de conectividad a la API para conectarse y comunicarse con la API de la billetera, puede haber miles de datos o uno, lo importante es que estén los que necesita.
- Link del QR de la caja: Representa al QR.
Hay valores a cargar que son muy técnicos como Datos de la caja en Formato JSON o Headers en formato JSON, estos datos debería obtenerlos al crear la cuenta en la pagina provista por la herramienta.
Proceso de Cobranza
Para realizar la cobranza es importante que el usuario de CD cuente con acceso a un token para lograr la comunicación con la api, por ende este debe estar asociado a un usuario en Cristal Web con atributo "Usuario Interno" y token asignado.
Al realizar una cobranza se deberá llamar a la API nuevaCobranza
Una vez generada la orden, quedamos esperando la respuesta en el webhook en notification_url que debe recibir obligatoriamente el parámetro idEmpresa con el Id de la empresa suministrado por digital express para poder identificar el acceso.
WebHook
Este se encarga de identificar la empresa y loguearse a la base de datos.
Si no tengo salimos con error que queda almacenado en un archivo de texto local del servidor.
Nada de esto se hace si no se ingresa con el topic “merchant_order” ya que mercado pago devuelve este topic en la creación y la efectivización del pago.
Una vez conectados podemos pasar a procesar la información.
Lo primero es identificar la billetera. Acá hay un detalle no menor que es que al salir con un error se devuelve un HEADER 400, lo que permite a MercadoPago cancelar directamente la orden generada.
Al final del código devolvemos el header con 200 para definir un OK.
Control de Billeteras Virtuales
Para llevar un control de lo que se realizo con la billetera se creo una herramienta en Cristal Web "Control de Billeteras Virtuales" que permite ver el registro en Log.
Si aparecen filas en Rojo es porque tienen algún error, puede ser que tenga un error de MP o al generar la cobranza local.
Datos descriptos:
- POST: Es la info enviada a la API de la billetera.
- RESPUESTA: Es lo que me dice la billetera.
- COBRANZA: Es lo que me responde la API de cobranza de CRISTAL.
- TOKEN: Es el token de ingreso, para saber quien entró.
- HTTP: Es la respuesta que me dá la billetera (500 error 404 inexistente... etc).
- COBRANZA: Recibo generado.
Haciendo CLICK en el botón [i] te muestra el detalle de todo lo que pasó con esa cobranza