Tendencia de Ingresos
Recepciones Recientes En Vivo
Libro Mayor de Pagos En Vivo
Mostrando todos los registros
| FECHA Y HORA | NRO. REFERENCIA / USER | ORIGEN / MÉTODO | MONTO RECIBIDO | ESTADO | ACCIONES |
|---|
Crecimiento del Monto Acumulado
Evolución continua de ingresos netosDistribución por Canal de Pago
Participación de volumen por cada canalNodo de Vinculación Móvil (Android) Enlace Cifrado Activo
Sincroniza tu smartphone Android para capturar y conciliar pagos bancarios en tiempo real desde notificaciones Push o SMS oficial.
Código de Enlace Rápido
Escaneo sin contraseñas para la app móvilListo para Vincular
Presiona el botón para generar el código QR firmado con tu identificador de cliente y token de autenticación seguro.
Proceso de Sincronización
Guía paso a paso y optimización del lectorAbrir PagoFino en tu Smartphone
Abre la app en tu teléfono Android. Si utilizas MacroDroid, descarga la macro autogenerada en el apartado de Integración.
Escanear el Código QR de Conexión
En el menú de la aplicación, selecciona "Escanear QR de Conexión" y enfoca el código QR generado en esta pantalla.
Habilitar Permiso de Notificaciones
Concede el permiso "Acceso a Notificaciones" en los ajustes de Android para que el lector detecte en vivo los pagos de BDV, Banesco, Mercantil, BNC o SMS.
Central de Integración Automática Gateway Activo
Conecta tus canales bancarios, exchanges y billeteras digitales para capturar y conciliar cobros en tiempo real.
Macro Notificaciones Push (Apps Bancarias)
Captura pagos móviles y transferencias al instante desde la notificación de tu banco (BDV, Banesco, Mercantil, BNC) sin requerir SMS.
Macro Mensajería SMS (Provincial, Bancamiga)
Extrae referencias y montos directamente desde los SMS oficiales emitidos por los bancos (77107, 5001, etc.).
Configuración y Estructura en MacroDroid
Crear la Macro y las Variables Locales
Crea las variables antes de las acciones para que aparezcan en los menús desplegables1. Abre MacroDroid y toca en Añadir
Macro. En el nombre escribe: PagoFino BDV.
2. Ve a la sección inferior de Variables locales y toca el botón +:
Configurar el Disparador (Panel Rojo)
Define qué evento activará la lectura del pago en tu teléfono- Toca + en el panel rojo de Disparadores.
- Ve a Eventos de dispositivo → Notificación → Notificación recibida.
- Selecciona la app de tu banco (ej: BDV, Banesco, Mercantil).
- En "Coincidencia de texto", déjalo en Cualquiera.
- Toca + en el panel rojo de Disparadores.
- Ve a Eventos de llamadas/SMS → SMS Recibido.
- Selecciona Seleccionar Número(s) y escribe el
número emisor (ej:
77107o5001). - En "Contenido del SMS", déjalo en Cualquiera.
Configurar las Acciones de Extracción (Panel Azul)
Expresiones regulares de alta precisión para extraer monto y referenciavar_monto
var_referencia
Acción HTTP POST (Envío Directo a Supabase)
Petición web que registra la transacción en tu base de datosToca + en el panel azul → Aplicaciones → Petición HTTP:
- Método: POST
- URL: Configura Supabase en Ajustes
- Pestaña Cabeceras: Agrega
apikeyyAuthorizationcon el token Bearer. - Pestaña Cuerpo: Tipo Personalizado (JSON). Pega este payload:
{
"referencia": "[system_time]_[lv=var_referencia]",
"monto": "[lv=var_monto]",
"moneda": "Bs"
}
Guardar y Activar Macro
En la esquina inferior derecha de MacroDroid toca el botón de Check (✔️). ¡Tu integración estará activa y escuchando pagos en vivo!Automatización Cripto Serverless (Binance USDT)
Ejecución en los servidores de Google Apps Script sin necesidad de servidores ni descargas.Nuevo Proyecto en Google Apps Script
Inicia sesión en Gmail con la cuenta donde recibes los correos de confirmación de BinancePega el Script Oficial con tus Credenciales Inyectadas
Tus credenciales de Supabase se vinculan automáticamente en este bloque de códigofunction checkBinanceEmails() {
var supabaseUrl = "URL_DE_TU_SUPABASE/rest/v1/pagos";
var supabaseKey = "TU_API_KEY";
// Lista de remitentes autorizados de Binance
var ALLOWED_SENDERS = [
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]"
];
for (var loop = 0; loop < 6; loop++) {
var threads = GmailApp.search(
'subject:"[Binance] Payment Receive Successful" is:unread newer_than:1d'
);
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
var msg = messages[j];
if (!msg.isUnread()) continue;
var senderRaw = msg.getFrom();
var emailMatch = senderRaw.match(/<([^>]+)>/);
var senderEmail = emailMatch ? emailMatch[1].toLowerCase() : senderRaw.toLowerCase().trim();
var isBinanceOfficial = ALLOWED_SENDERS.indexOf(senderEmail) !== -1 ||
/^do-?not-?reply@([a-z0-9-]+\.)*binance\.com$/i.test(senderEmail);
if (!isBinanceOfficial) {
msg.markRead();
continue;
}
var body = msg.getPlainBody();
if (
body.indexOf("You received an incoming transfer") === -1 ||
body.indexOf("This is an automated message") === -1
) {
msg.markRead();
continue;
}
var amountMatch = body.match(/Amount:\s*\n?\s*([0-9.,]+)\s*USDT/i);
var monto = amountMatch ? parseFloat(amountMatch[1].replace(/,/g, "")) : 0;
var fromMatch = body.match(/From:\s*\n?\s*(.+)/i);
var remitente = fromMatch ? fromMatch[1].replace(/[\r\n*_]/g, "").trim() : "BIN-" + msg.getId().substring(0, 8).toUpperCase();
var timeMatch = body.match(/Time:\s*\n?\s*(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/i);
var binanceTime = timeMatch ? timeMatch[1].replace(/[\s:-]/g, "") : String(Math.floor(msg.getDate().getTime() / 1000));
var referencia = binanceTime + "_" + remitente;
if (monto <= 0) { msg.markRead(); continue; }
var payload = {
cliente_id: "TU_USUARIO",
referencia: referencia,
monto: monto,
moneda: "USDT",
estado: "pending"
};
try {
var response = UrlFetchApp.fetch(supabaseUrl, {
method: "post",
headers: {
apikey: supabaseKey,
Authorization: "Bearer " + supabaseKey,
"Content-Type": "application/json",
Prefer: "resolution=ignore-duplicates"
},
payload: JSON.stringify(payload),
muteHttpExceptions: true
});
var code = response.getResponseCode();
if (code >= 200 && code < 300) { msg.markRead(); }
else if (code === 409) { msg.markRead(); }
} catch (e) {}
}
}
if (loop < 5) Utilities.sleep(10000);
}
}
Crear el Disparador Automático
Configura la ejecución cada 1 minuto2. En el menú izquierdo, haz clic en el ícono de reloj (Disparadores).
3. Toca en Añadir disparador → Selecciona la función
checkBinanceEmails → Fuente: Basado en el
tiempo → Tipo: Minutos → Cada
minuto.4. Guarda y acepta los permisos de Google. ¡Listo! Cada pago de Binance USDT se registrará automáticamente.
Integración Billetera Digital Zinli (Dólares USD)
Captura automática de pagos recibidos en tu correo oficial de Zinli ("¡Recibiste un Zinli!").Nuevo Proyecto en Google Apps Script
Inicia sesión en Gmail con la cuenta asociada a tus cobros de ZinliScript de Integración para Zinli
Pega el código con tus credenciales preconfiguradasfunction checkZinliEmails() {
var supabaseUrl = "URL_DE_TU_SUPABASE/rest/v1/pagos";
var supabaseKey = "TU_API_KEY";
var ZINLI_SENDER = "[email protected]";
for (var loop = 0; loop < 6; loop++) {
var threads = GmailApp.search(
'subject:"Recibiste un Zinli" is:unread newer_than:1d'
);
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
var msg = messages[j];
if (!msg.isUnread()) continue;
var senderRaw = msg.getFrom();
var emailMatch = senderRaw.match(/<([^>]+)>/);
var senderEmail = emailMatch ? emailMatch[1].toLowerCase() : senderRaw.toLowerCase().trim();
if (senderEmail !== ZINLI_SENDER) {
msg.markRead();
continue;
}
var body = msg.getPlainBody();
if (
body.indexOf("Recibiste un Zinli") === -1 ||
body.indexOf("Referencia") === -1
) {
msg.markRead();
continue;
}
var amountMatch = body.match(/Monto[\s\S]*?\$([0-9]+(?:[.,][0-9]+)?)/i);
var monto = amountMatch ? parseFloat(amountMatch[1].replace(/,/g, "")) : 0;
var refMatch = body.match(/Referencia[\s\S]*?([0-9]{6,})/i);
var referencia = refMatch ? refMatch[1].trim() : "ZIN-" + msg.getId().substring(0, 12).toUpperCase();
if (monto <= 0) { msg.markRead(); continue; }
var payload = {
cliente_id: "TU_USUARIO",
referencia: referencia,
monto: monto,
moneda: "USD",
estado: "pending"
};
try {
var response = UrlFetchApp.fetch(supabaseUrl, {
method: "post",
headers: {
apikey: supabaseKey,
Authorization: "Bearer " + supabaseKey,
"Content-Type": "application/json",
Prefer: "resolution=ignore-duplicates"
},
payload: JSON.stringify(payload),
muteHttpExceptions: true
});
var code = response.getResponseCode();
if (code >= 200 && code < 300) { msg.markRead(); }
else if (code === 409) { msg.markRead(); }
} catch (e) {}
}
}
if (loop < 5) Utilities.sleep(10000);
}
}
Crear el Disparador para Zinli
Configura la ejecución periódica cada 1 minuto2. Ve a Disparadores (ícono de reloj).
3. Toca en Añadir disparador → Función
checkZinliEmails → Fuente: Basado en el
tiempo → Tipo: Minutos → Cada
minuto.4. Guarda y acepta los permisos de Google.
Automatización Banplus Pago Móvil (Email)
Captura notificaciones emitidas por Banplus ("Pago Movil Interbancario").Nuevo Proyecto en Google Apps Script
Inicia sesión en Gmail con la cuenta donde recibes los correos de BanplusScript de Integración para Banplus
Pega el código con tus credenciales preconfiguradasfunction checkBanplusEmails() {
var supabaseUrl = "URL_DE_TU_SUPABASE/rest/v1/pagos";
var supabaseKey = "TU_API_KEY";
var ALLOWED_SENDERS = [
"[email protected]",
"[email protected]"
];
for (var loop = 0; loop < 6; loop++) {
var threads = GmailApp.search(
'subject:"Pago Movil Interbancario" is:unread newer_than:1d'
);
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
var msg = messages[j];
if (!msg.isUnread()) continue;
var senderRaw = msg.getFrom();
var emailMatch = senderRaw.match(/<([^>]+)>/);
var senderEmail = emailMatch ? emailMatch[1].toLowerCase() : senderRaw.toLowerCase().trim();
var isBanplusOfficial = ALLOWED_SENDERS.indexOf(senderEmail) !== -1 ||
/^[a-z0-9._-]+@([a-z0-9-]+\.)*banplus\.com$/i.test(senderEmail);
if (!isBanplusOfficial) {
msg.markRead();
continue;
}
var body = msg.getPlainBody();
var hasBanplusMark = body.indexOf("Banplus") !== -1 || body.indexOf("banplus.com") !== -1;
var isAprobado = body.toUpperCase().indexOf("APROBADA") !== -1 ||
body.toUpperCase().indexOf("TRANSACCION APROBADA") !== -1;
if (!hasBanplusMark || !isAprobado) {
msg.markRead();
continue;
}
var refMatch = body.match(/(?:N[úu\?]?mero\s+de\s+Operaci[óo\?]?n|Operaci[óo\?]?n)\s*[:\r\n\s]*([0-9]{6,})/i);
var referencia = refMatch ? refMatch[1].trim() : "BP-" + msg.getId().substring(0, 10).toUpperCase();
var amountMatch = body.match(/Monto\s*[:\r\n\s]*(?:Bs\.?|VES)?\s*([0-9.,]+)/i);
var monto = 0;
if (amountMatch) {
var montoStr = amountMatch[1].trim();
var lastDot = montoStr.lastIndexOf('.');
var lastComma = montoStr.lastIndexOf(',');
if (lastComma > lastDot) {
monto = parseFloat(montoStr.replace(/\./g, '').replace(',', '.'));
} else if (lastDot > lastComma) {
monto = parseFloat(montoStr.replace(/,/g, ''));
} else if (lastComma !== -1) {
monto = parseFloat(montoStr.replace(',', '.'));
} else {
monto = parseFloat(montoStr);
}
}
if (monto <= 0) { msg.markRead(); continue; }
var payload = {
cliente_id: "TU_USUARIO",
referencia: referencia,
monto: monto,
moneda: "Bs",
estado: "pending"
};
try {
var response = UrlFetchApp.fetch(supabaseUrl, {
method: "post",
headers: {
apikey: supabaseKey,
Authorization: "Bearer " + supabaseKey,
"Content-Type": "application/json",
Prefer: "resolution=ignore-duplicates"
},
payload: JSON.stringify(payload),
muteHttpExceptions: true
});
var code = response.getResponseCode();
if (code >= 200 && code < 300) {
msg.markRead();
} else if (code === 409) {
msg.markRead();
}
} catch (e) {}
}
}
if (loop < 5) Utilities.sleep(10000);
}
}
Crear el Disparador para Banplus
Ejecución periódica cada 1 minuto2. En el menú izquierdo, haz clic en el ícono de reloj (Disparadores).
3. Toca en Añadir disparador → Función
checkBanplusEmails → Fuente: Basado en el
tiempo → Tipo: Minutos → Cada
minuto.4. Guarda y acepta los permisos de Google.
Configuración General y Preferencias Clúster Central Conectado
Gestiona los parámetros de liquidación, márgenes cambiarios, alertas auditivas y copias de seguridad contables.
Parámetros Financieros & Tasas
Moneda de liquidación, márgenes y fijación de cotizaciónMoneda de Visualización
Moneda en la que se calculan y totalizan los balances e ingresos del sistema
Margen P2P USDT (%)
Ajuste porcentual sobre la tasa automática para igualar anuncios altos de Binance (Ej: 1.04)
Tasa Manual Fija (USDT / USD)
Sobrescribir las APIs de mercado y forzar una tasa personalizada en Bolívares
Experiencia & Notificaciones
Alertas auditivas, notificaciones del sistema y temasAlerta Sonora de Pagos
Emite un tono audible instantáneo al ingresar y conciliar pagos bancarios en vivo
Modo Oscuro (Dark Theme)
Alternar entre la estética moderna Dark Cyber y el modo claro de alto contraste
Notificaciones de Escritorio
Recibe alertas nativas emergentes en la pantalla de Windows o Mac
Mantenimiento & Respaldos Contables
Descarga de historial y operaciones de contingencia localRespaldo en Excel (.xlsx)
Exporta un archivo de hoja de cálculo con el historial completo de pagos conciliados, montos, referencias y fechas para auditoría contable.
Borrar Historial de la Cuenta
Elimina de forma irreversible el historial de pagos de esta cuenta. Los pagos y datos de otros clientes en el sistema masivo están 100% protegidos e intactos.
Gestión de Cuenta y Credenciales Sesión Activa
Administra tu identidad de acceso corporativo, credenciales criptográficas y parámetros de seguridad.
Credenciales de Acceso
Actualiza tu usuario y clave criptográficaCambia tu nombre de usuario de acceso corporativo o actualiza tu contraseña de seguridad.
Perfil y Seguridad
Estado de cuenta y protección criptográficaUsuario
Cuenta de Cliente PagoFino V4
Servidor de Autenticación
Sincronización en la nube verificadaProtección de Credenciales
Cifrado de acceso y tokens de seguridadEspacio de Datos Seguro
Partición aislada y privada para tu comercioMantén tu contraseña segura y no la compartas. Si cambias de dispositivo, deberás volver a iniciar sesión con tus credenciales actualizadas.