Uso
Con el cliente inicializado para hacer transacciones solo tienes que llamar al metodo.
Al metodo sendTransaction tienes que pasarle como parametros de entrada la ID de transcción y la ID de usuario.
client
.sendTransaction(transactionID, userID)
Eso es todo. Cada vez que se llame al metodo enviará una transacción.
Ejemplo
test.js
import { LBFraudSDK, LBFraudSDKEnvironment } from 'ironchip-fraud-detection-web-sdk';
const client = new LBFraudSDK({
apiKey: 'api-key', // Reemplaza 'api-key' con tu clave API real
environment: LBFraudSDKEnvironment.Testing
});
const myButton = document.getElementById('myButton');
// Función para recortar, convertir a minúsculas y hash el userID
async function anonymizeUserID(userID) {
const trimmedLowercaseUserID = userID.trim().toLowerCase();
const hashedUserID = await sha256Hash(trimmedLowercaseUserID);
return hashedUserID;
}
// Función para realizar hashing usando SHA-256
async function sha256Hash(text) {
const encoder = new TextEncoder();
const data = encoder.encode(text);
const hash = await crypto.subtle.digest('SHA-256', data);
return Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0'))
.join('');
}
// Función simulada para realizar el inicio de sesión
async function performLogin(username, password) {
// Simular un retraso de 2 segundos para la autenticación
await new Promise(resolve => setTimeout(resolve, 2000));
// Modificación: siempre devuelve true
return true; // Cambia esto si necesitas que la lógica real de inicio de sesión funcione
}
function setListener() {
myButton.onclick = async function() {
const transactionID = document.getElementById('transactionId').value;
const userID = document.getElementById('userId').value;
// Simular la entrada del usuario para el inicio de sesión
const username = 'testuser'; // Reemplaza con el valor real
const password = 'testpassword'; // Reemplaza con el valor real
const loginSuccessful = await performLogin(username, password);
if (loginSuccessful) {
// Si el inicio de sesión es exitoso, anonimiza el userID antes de enviar la transacción
const anonymizedUserID = await anonymizeUserID(userID);
// Enviar la transacción
client
.sendTransaction(transactionID, anonymizedUserID)
.then((success) => {
console.log('Transacción exitosa:', success);
})
.catch((errorMsg) => {
console.log('Error durante la transacción:', errorMsg);
});
} else {
// Agrega aquí cualquier código que quieras ejecutar en caso de un error durante la transacción.
}
}
}
window.onload = function() {
setListener();
}
index.html
<!DOCTYPE html>
<html>
<head>
<title>Web SDK test</title>
</head>
<body>
<label for="transactionId">Transaction ID:</label>
<input type="text" id="transactionId" name="transactionId">
<label for="userId">User ID:</label>
<input type="text" id="userId" name="userId">
<button id="myButton">Send transaction</button>
<script type="module" src="test.js"></script>
</body>
</html>
index.html
<!DOCTYPE html>
<html>
<head>
<title>Web SDK test</title>
</head>
<body>
<label for="transactionId">Transaction ID:</label>
<input type="text" id="transactionId" name="transactionId">
<label for="userId">User ID:</label>
<input type="text" id="userId" name="userId">
<button id="myButton">Enviar Transacción</button>
<script type="module" src="test.js"></script>
</body>
</html>
Documentación adicional
Para utilizar correctamente el SDK, es necesario activar el permiso de ubicación.
En Safari si tu navegador no muestra el modal para permitirlo, es necesario activarlo, para ello sigue los siguientes pasos:
- En su Mac, elija el menú Apple > Ajustes del sistema, haga clic en Privacidad y seguridad en la barra lateral y haga clic en Localización a la derecha.
- Active los Servicios de ubicación para Safari en la lista de la derecha.
Updated: October 17, 2024