Anti-Fraud & Device Fingerprint
🛡️ Anti-Fraud & Device Fingerprint
Production-ready guidance for merchants integrating A55’s risk checks and device fingerprint to improve approval rates and reduce fraud—without referencing any third-party providers.
1) What our Anti-Fraud layer does
Our risk engine evaluates each charge using:
- Device signals (fingerprint, IP, user agent, screen data)
- Behavioral/velocity rules (retries, rapid value changes, multi-card patterns)
- Payment attributes (BIN, amount, MCC, currency, installment count)
- Customer metadata (email, phone, address consistency)
- Historical reputation (allow/deny lists, prior disputes)
Possible outcomes
risk_approved
→ we proceed to authorization (and 3DS if configured)risk_challenge
→ we require additional authentication (e.g., 3DS challenge)risk_review
→ sent to manual review queuerisk_declined
→ blocked before authorization
Goal: reduce issuer declines and chargebacks while preserving a frictionless checkout.
2) Quick Start — Collect the device_id
device_id
Add our SDK and extract a stable, session-bound device identifier. Send it in your charge payload under device_info.device_id
.
HTML
<script src="https://cdn.jsdelivr.net/npm/a55pay-sdk"></script>
<script>
// Returns a UUID like: 55d76ee6-faca-4e51-9f0d-5eba8b5f3da2
const deviceId = A55Pay.getDeviceId();
// Store it and include in your charge payload
window.A55_DEVICE_ID = deviceId;
</script>
´´´´
1) Create a charge with device signals
{
"merchant_id": "fc2226b9-cd39-4dbe-8314-c03279404049",
"wallet_uuid": "d02995ef-3c17-4816-a81c-af234f840f57",
"type_charge": "credit_card",
"currency": "BRL",
"description": "Order #A55-83921",
"items": [
{
"sku": "CABXIN-HDMI-2M",
"code": "HDMI-2025-001",
"name": "HDMI Cable 2m 4K",
"quantity": 1,
"unit_amount": 129.90,
"total_amount": 129.90
}
],
"payer_name": "John Souza",
"payer_email": "[email protected]",
"payer_cell_phone": "559999999999",
"payer_address": {
"street": "Av. Paulista",
"address_number": "1578",
"neighborhood": "Bela Vista",
"city": "São Paulo",
"state": "SP",
"postal_code": "01311-000",
"country": "BR"
},
"threeds_authentication": true,
"webhook_url": "https://yourapp.com/webhooks/a55",
"redirect_url": "https://yourapp.com/checkout/success",
"device_info": {
"ip_address": "177.92.34.56",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...",
"http_accept_content": "text/html,application/xhtml+xml,application/xml;q=0.9...",
"http_browser_language": "pt-BR",
"http_browser_java_enabled": false,
"http_browser_javascript_enabled": true,
"http_browser_color_depth": "24",
"http_browser_screen_height": "1080",
"http_browser_screen_width": "1920",
"http_browser_time_difference": "-180",
"http_accept_browser_value": "text/html,application/xhtml+xml,applicatio..",
"device_id": "55d76ee6-faca-4e51-9f0d-5eba8b5f3da2" // !IMPORTANT
}
}
FAQ
Do I have to send device_id? Strongly recommended. It boosts approval and reduces false positives.
Can I use my own fingerprint script? Yes—send your identifier in device_info.device_id.
Updated 19 days ago