Инструкция для проектов на A-pay (Индия, Пакистан, Эфиопия)
| A-pay payment_system | Antifrod payment_method | Регион |
|---|---|---|
| upi_fast, upi_fast_v, upi_p2p | upi | Индия (INR) |
| easypaisa_fast, easypaisa_* | easypaisa | Пакистан (PKR) |
| jazzcash_fast, jazzcash_* | jazzcash | Пакистан (PKR) |
| telebirr_*, telebir_* | telebir | Эфиопия (ETB) |
Когда: до запроса к A-pay на создание payment link, перед редиректом.
Доступно: label (custom_user_id), payment_method, device_id (fingerprint), ip
Когда: после ввода UPI/телефона пользователем, перед запросом к A-pay API.
Доступно: всё — upi_id, phone, label, device_id, ip, payment_method
Подключите скрипты на странице, где пользователь нажимает «Пополнить»:
<script src="https://antifrod.pro/static/fingerprint.js"></script>
<script src="https://antifrod.pro/static/integration.js"></script>
Проверка перед запросом к A-pay:
function apayToAntifrodMethod(paymentSystem) {
const s = (paymentSystem || '').toLowerCase();
if (s.includes('upi')) return 'upi';
if (s.includes('easypaisa')) return 'easypaisa';
if (s.includes('jazzcash')) return 'jazzcash';
if (s.includes('telebir')) return 'telebir';
return 'upi';
}
async function createDepositAndRedirect() {
const customUserId = 'user_123';
const paymentSystem = 'upi_fast';
const paymentMethod = apayToAntifrodMethod(paymentSystem);
const result = await PaykassmaCheck.check({
label: customUserId,
payment_method: paymentMethod,
});
if (result.action === 'block') {
alert('Платёж заблокирован.');
return;
}
// Запрос к A-pay...
const data = await fetchApayLink({ custom_user_id: customUserId, payment_system: [paymentSystem] });
if (data.url) window.location.href = data.url;
}
const result = await PaykassmaCheck.check({
upi_id: document.getElementById('upi').value,
phone: document.getElementById('phone').value,
label: customUserId,
payment_method: 'upi',
});
if (result.action === 'block') return;
// Отправка в A-pay API...
POST https://antifrod.pro/api/v1/check
Минимум для Payment Gateway: label + payment_method. Fingerprint добавляется автоматически.
{"action": "approve", "latency_ms": 45.2}
block — заблокировать, approve — разрешить. При ошибке — fail-open (approve).