Shopify, Wix, WooCommerce, BigCommerce, Magento, and more platforms are on the way.
Protect your Shopify store with real-time fraud detection
Note: You'll need your KeepSafe API credentials from the Account Settings page to complete this integration.
Visit the Shopify App Store and search for "KeepSafe Fraud Protection" or click the button below to install directly.
Install from Shopify App StoreFrom your KeepSafe Dashboard, navigate to Account Settings and copy:
Once installed, open the KeepSafe app from your Shopify admin and enter your credentials:
Configure your fraud detection sensitivity from the User Settings page:
Place a test order in your Shopify store to verify the integration is working:
Once installed, KeepSafe automatically analyzes every order placed in your Shopify store:
If you encounter any issues during setup or have questions about the integration:
Add fraud protection to your Wix store using Velo
Note: This integration requires Wix Premium and uses Velo (Wix's development platform). You'll need your KeepSafe API credentials from the Account Settings page.
Open your Wix Editor and enable Velo:
Add your KeepSafe credentials to Wix Secrets Manager:
KEEPSAFE_API_KEY - Your API Key from KeepSafe dashboardKEEPSAFE_CLIENT_ID - Your Client ID from KeepSafe dashboard
Create a new backend file backend/fraud-check.jsw:
import { fetch } from 'wix-fetch';
import { getSecret } from 'wix-secrets-backend';
export async function checkOrderFraud(orderData) {
try {
const apiKey = await getSecret('KEEPSAFE_API_KEY');
const clientId = await getSecret('KEEPSAFE_CLIENT_ID');
const response = await fetch('https://keepsafe.digital/api/fraud-check', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': apiKey,
'x-client-id': clientId
},
body: JSON.stringify({
email: orderData.buyerEmail,
ip: orderData.buyerIp || '0.0.0.0',
fullname: orderData.billingAddress?.fullName,
billing_address_street_1: orderData.billingAddress?.addressLine1,
billing_address_city: orderData.billingAddress?.city,
billing_address_province: orderData.billingAddress?.subdivision,
billing_address_postcode: orderData.billingAddress?.zipCode,
billing_address_country: orderData.billingAddress?.country,
shipping_address_street_1: orderData.shippingAddress?.addressLine1,
shipping_address_city: orderData.shippingAddress?.city,
shipping_address_province: orderData.shippingAddress?.subdivision,
shipping_address_postcode: orderData.shippingAddress?.zipCode,
shipping_address_country: orderData.shippingAddress?.country,
telephone_number: orderData.buyerPhone,
ai_summary: true
})
});
const result = await response.json();
return result;
} catch (error) {
console.error('Fraud check failed:', error);
return { risk_score: 0, category: 'unknown', error: error.message };
}
}
Create or edit backend/events.js to check orders:
import wixData from 'wix-data';
import { checkOrderFraud } from './fraud-check.jsw';
export function wixStores_onNewOrder(event) {
const order = event.entity;
// Check fraud score
checkOrderFraud(order)
.then(fraudResult => {
console.log('Fraud check result:', fraudResult);
// Store result in custom field or take action
if (fraudResult.risk_score > 20) {
// High risk - flag for review
console.warn('High risk order detected!', {
orderId: order._id,
score: fraudResult.risk_score,
category: fraudResult.category,
summary: fraudResult.summary
});
// Optional: Cancel order or add note
// You can use Wix Stores API to update the order
}
// Store fraud data for later reference
wixData.insert('FraudChecks', {
orderId: order._id,
email: order.buyerEmail,
riskScore: fraudResult.risk_score,
category: fraudResult.category,
summary: fraudResult.summary,
checkedAt: new Date()
});
})
.catch(error => {
console.error('Failed to check fraud:', error);
});
}
To store fraud check results, create a database collection:
orderId (Text)email (Text)riskScore (Number)category (Text)summary (Text)checkedAt (Date)Test your fraud detection setup:
If you encounter any issues during setup:
More platform integrations coming soon!
Coming Soon
Coming Soon
Available Now