ข้ามไปยังเนื้อหาหลัก

การป้องกันการฉ้อโกง

ปกป้องธุรกิจของคุณจากธุรกรรมที่ฉ้อโกงด้วยระบบตรวจจับการฉ้อโกงอัจฉริยะที่ขับเคลื่อนด้วย machine learning, IP geolocation และกฎความเสี่ยงที่ปรับแต่งได้

ภาพรวม

การป้องกันการฉ้อโกงของ Omise ช่วยให้ร้านค้าระบุและป้องกันธุรกรรมที่ฉ้อโกงก่อนที่จะได้รับการประมวลผล ระบบวิเคราะห์สัญญาณหลายอย่างรวมถึงรายละเอียดบัตร รูปแบบธุรกรรม IP geolocation และพฤติกรรมในอดีตเพื่อประเมินความเสี่ยงแบบเรียลไทม์

คุณสมบัติหลัก:

  • การวิเคราะห์แบบเรียลไทม์ - การประเมินความเสี่ยงทันทีระหว่างชำระเงิน
  • Machine learning - โมเดลตรวจจับการฉ้อโกงที่ขับเคลื่อนด้วย AI
  • IP geolocation - ตรวจจับความไม่ตรงกันของตำแหน่ง
  • การตรวจสอบความเร็ว - ระบุรูปแบบธุรกรรมที่น่าสงสัย
  • กฎที่ปรับแต่งได้ - เกณฑ์ความเสี่ยงแบบกำหนดเอง
  • การตรวจสอบด้วยตนเอง - ทำเครื่องหมายธุรกรรมสำหรับการตรวจสอบ
  • การปกป้อง Chargeback - ลดอัตราข้อพิพาท

การทำงาน

การให้คะแนนความเสี่ยง

ธุรกรรมได้รับคะแนนความเสี่ยง (0-100):

ช่วงคะแนนระดับความเสี่ยงการดำเนินการ
0-30ความเสี่ยงต่ำอนุมัติอัตโนมัติ
31-70ความเสี่ยงปานกลางทำเครื่องหมายสำหรับการตรวจสอบด้วยตนเอง
71-100ความเสี่ยงสูงบล็อกอัตโนมัติ*

*เกณฑ์ที่ปรับแต่งได้ตามความทนทานต่อความเสี่ยงของคุณ

สัญญาณการตรวจจับการฉ้อโกง

1. IP Geolocation

วิเคราะห์ที่อยู่ IP ของลูกค้าเพื่อตรวจจับ:

  • ความไม่ตรงกันของตำแหน่ง (ประเทศ IP เทียบกับประเทศบัตร)
  • การใช้ proxy/VPN ที่ทราบ
  • ประเทศที่มีความเสี่ยงสูง
  • IP ศูนย์ข้อมูล (ไม่ใช่ที่อยู่อาศัย)
// ข้อมูล IP ที่มีอยู่ในออบเจ็กต์ charge
{
"ip": "203.113.128.45",
"ip_country": "TH",
"card_country": "US", // ความไม่ตรงกันถูกทำเครื่องหมาย
"fraud_score": 65
}

2. การตรวจสอบความเร็ว

ตรวจสอบรูปแบบธุรกรรม:

  • บัตรหลายใบจาก IP เดียวกัน
  • บัตรเดียวกันถูกใช้อย่างรวดเร็ว
  • ความถี่ในการซื้อที่ผิดปกติ
  • คำสั่งซื้อมูลค่าสูงจากลูกค้าใหม่

ตัวอย่างรูปแบบที่ถูกทำเครื่องหมาย:

  • 5+ ธุรกรรมภายใน 10 นาที
  • บัตรเดียวกันบนเว็บไซต์ที่แตกต่างกัน 3+ แห่ง
  • ยอดสั่งซื้อเพิ่มขึ้นอย่างกะทันหัน

3. การยืนยันบัตร

ตรวจสอบรายละเอียดบัตร:

  • การวิเคราะห์ BIN (ธนาคาร Identification Number)
  • ความสอดคล้องของประเภทบัตร
  • การจับคู่ AVS (Address Verification Service)
  • ผลการยืนยัน CVV

4. พฤติกรรมในอดีต

วิเคราะห์ธุรกรรมในอดีต:

  • ประวัติ chargeback ของลูกค้า
  • บัตรที่เคยมีข้อพิพาทมาก่อน
  • หมายเลขบัตรที่อยู่ในบัญชีดำ
  • รูปแบบการฉ้อโกงที่ทราบ

5. ลักษณะธุรกรรม

ตรวจสอบรายละเอียดคำสั่งซื้อ:

  • จำนวนเงินที่ผิดปกติขนาดใหญ่
  • หมวดหมู่ผลิตภัณฑ์ความเสี่ยงสูง
  • การจัดส่งไปยังประเทศที่แตกต่างกัน
  • ที่อยู่จัดส่งหลายแห่ง

การใช้งาน

เปิดใช้งานการป้องกันการฉ้อโกง

การป้องกันการฉ้อโกงเปิดใช้งานโดยค่าเริ่มต้นสำหรับบัญชี Omise ทั้งหมด ไม่ต้องเปลี่ยนโค้ด - ทำงานโดยอัตโนมัติกับ charge ทุกรายการ

เข้าถึง Fraud Score ผ่าน API

const charge = await omise.charges.retrieve('chrg_test_...');

console.log('Risk Score:', charge.risk_score); // 0-100
console.log('IP Country:', charge.ip_country);
console.log('Card Country:', charge.card.country);

ออบเจ็กต์ Charge พร้อมข้อมูลการฉ้อโกง:

{
"id": "chrg_test_5rt6s9vah5lkvi1rh9c",
"amount": 100000,
"status": "pending",
"risk_score": 45,
"risk_level": "medium",
"ip": "203.113.128.45",
"ip_country": "TH",
"card": {
"country": "TH",
"financing": "credit"
}
}

เวิร์กโฟลว์การตรวจสอบด้วยตนเอง

app.post('/webhooks/omise', async (req, res) => {
const event = req.body;

if (event.key === 'charge.complete') {
const charge = event.data;

// ตรวจสอบคะแนนความเสี่ยง
if (charge.risk_score > 70) {
// ความเสี่ยงสูง - ตรวจสอบ
await flagForManualReview(charge.id);
await notifyFraudTeam(charge);
} else if (charge.risk_score > 40) {
// ความเสี่ยงปานกลาง - การตรวจสอบเพิ่มเติม
await performAdditionalVerification(charge);
}
// ความเสี่ยงต่ำ - ประมวลผลตามปกติ
}

res.sendStatus(200);
});

กฎความเสี่ยงที่กำหนดเอง

async function assessCustomerRisk(charge) {
let riskScore = charge.risk_score;

// เพิ่มกฎที่กำหนดเอง
if (charge.amount > 500000) { // คำสั่งซื้อ > ฿5,000
riskScore += 10;
}

if (isNewCustomer(charge.metadata.customer_id)) {
riskScore += 15;
}

if (charge.ip_country !== charge.card.country) {
riskScore += 20;
}

if (hasRecentChargebacks(charge.customer)) {
riskScore += 30;
}

return riskScore;
}

การจัดการแดชบอร์ด

ดู Fraud Score

  1. เข้าสู่ระบบ Omise Dashboard
  2. ไปที่ Charges
  3. ดูตัวบ่งชี้ความเสี่ยง:
    • 🟢 ความเสี่ยงต่ำ - ป้ายสีเขียว
    • 🟡 ความเสี่ยงปานกลาง - ป้ายสีเหลือง
    • 🔴 ความเสี่ยงสูง - ป้ายสีแดง

คิวการตรวจสอบด้วยตนเอง

  1. ไปที่ Fraud → Review Queue
  2. ดูธุรกรรมที่ถูกทำเครื่องหมาย
  3. ตรวจสอบรายละเอียดธุรกรรม:
    • ข้อมูลลูกค้า
    • ข้อมูล IP geolocation
    • ประวัติธุรกรรม
    • ปัจจัยความเสี่ยง
  4. ดำเนินการ:
    • อนุมัติ - ประมวลผลการชำระเงิน
    • ปฏิเสธ - ยกเลิก charge
    • ขอข้อมูลเพิ่มเติม - ติดต่อลูกค้า

แนวทางปฏิบัติที่ดีที่สุด

1. รวบรวมข้อมูลลูกค้า

const charge = await omise.charges.create({
amount: 100000,
currency: 'THB',
card: tokenId,
description: 'Order #12345',
metadata: {
customer_id: 'cust_001',
customer_email: 'john@example.com',
customer_phone: '+66876543210',
order_id: '12345',
shipping_address: '123 Main St, Bangkok',
billing_address: '123 Main St, Bangkok',
previous_orders: 5,
account_age_days: 180
}
});

2. ใช้งาน 3D Secure

เพิ่ม 3D Secure สำหรับธุรกรรมความเสี่ยงสูงเพื่อโอนความรับผิดชอบ:

if (charge.risk_score > 50) {
// ต้องการ 3D Secure สำหรับความเสี่ยงปานกลาง/สูง
const charge = await omise.charges.create({
amount: amount,
currency: 'THB',
card: tokenId,
return_uri: 'https://yourdomain.com/callback' // เปิดใช้งาน 3DS
});
}

3. การจำกัดความเร็ว

const RATE_LIMITS = {
per_card: { count: 3, window: 3600000 }, // 3 ต่อชั่วโมง
per_ip: { count: 5, window: 3600000 }, // 5 ต่อชั่วโมง
per_customer: { count: 10, window: 86400000 } // 10 ต่อวัน
};

async function checkVelocity(charge) {
const cardCharges = await getRecentCharges({
card_last_digits: charge.card.last_digits,
since: Date.now() - RATE_LIMITS.per_card.window
});

if (cardCharges.length >= RATE_LIMITS.per_card.count) {
return { blocked: true, reason: 'มีการเรียกเก็บเงินในบัตรมากเกินไป' };
}

return { allowed: true };
}

รูปแบบการฉ้อโกงทั่วไป

รูปแบบที่ 1: การทดสอบบัตร

ตัวบ่งชี้:

  • Charge จำนวนเล็กหลายรายการ (฿10-฿50)
  • ต่อเนื่องอย่างรวดเร็ว
  • บัตรต่างกัน, IP เดียวกัน
  • อัตราการปฏิเสธสูง

การป้องกัน:

// ตรวจจับการทดสอบบัตร
if (recentCharges.length > 10 && avgAmount < 5000) {
blockIP(charge.ip);
notifySecurityTeam();
}

รูปแบบที่ 2: ความไม่ตรงกันทางภูมิศาสตร์

ตัวบ่งชี้:

  • IP ในประเทศไทย
  • บัตรที่ออกในสหรัฐอเมริกา
  • จัดส่งไปยังประเทศที่สาม

การป้องกัน:

if (charge.ip_country !== charge.card.country) {
requireAdditionalVerification();
}

รูปแบบที่ 3: คำสั่งซื้อครั้งแรกมูลค่าสูง

ตัวบ่งชี้:

  • ลูกค้าใหม่
  • คำสั่งซื้อขนาดใหญ่ (>฿10,000)
  • การจัดส่งด่วน
  • ที่อยู่เรียกเก็บเงิน/จัดส่งต่างกัน

การป้องกัน:

if (isNewCustomer && amount > 1000000 && isRushShipping) {
requirePhoneVerification();
contactCustomerDirectly();
}

คำถามที่พบบ่อย

การป้องกันการฉ้อโกงรวมอยู่ในบัญชี Omise ของฉันหรือไม่?

ใช่ การป้องกันการฉ้อโกงพื้นฐานรวมอยู่สำหรับผู้ขาย Omise ทั้งหมดโดยไม่มีค่าใช้จ่ายเพิ่มเติม คุณสมบัติขั้นสูงอาจต้องการการกำหนดค่าบัญชีเฉพาะ

ฉันสามารถปรับแต่งกฎการฉ้อโกงได้หรือไม่?

ใช่ คุณสามารถใช้ตรรกะการประเมินความเสี่ยงที่กำหนดเองเพิ่มเติมจากคะแนนการฉ้อโกงของ Omise ติดต่อ support@omise.co สำหรับการกำหนดค่ากฎขั้นสูง

เกิดอะไรขึ้นกับธุรกรรมที่ถูกบล็อก?

ธุรกรรมที่ถูกบล็อกจะถูกปฏิเสธก่อนที่จะไปถึงโปรเซสเซอร์การชำระเงิน ลูกค้าจะเห็นข้อความแสดงข้อผิดพลาดทั่วไปและสามารถพยายามชำระเงินด้วยวิธีอื่น

ฉันจะลด false positive ได้อย่างไร?
  • เริ่มต้นด้วยเกณฑ์ที่ระมัดระวังและปรับตามข้อมูล
  • รวบรวมข้อมูลลูกค้าเพิ่มเติม (อีเมล, โทรศัพท์, ที่อยู่)
  • ใช้เวิร์กโฟลว์การยืนยันลูกค้า
  • ใช้ 3D Secure สำหรับกรณีเส้นแบ่ง
  • ตรวจสอบและวิเคราะห์ธุรกรรมที่ถูกต้องที่ถูกปฏิเสธ

แหล่งข้อมูลที่เกี่ยวข้อง

ขั้นตอนถัดไป

  1. เปิดใช้งานการป้องกันการฉ้อโกง
  2. ตั้งค่าเกณฑ์ความเสี่ยง
  3. ใช้งานเวิร์กโฟลว์การตรวจสอบด้วยตนเอง
  4. กำหนดค่า 3D Secure
  5. ตรวจสอบเมตริกการฉ้อโกง
  6. ปรับอัตรา false positive ให้เหมาะสม