결제 로직의 블랙리스트 및 블록 목록
TL; DR
블랙리스트/블록 목록은 결제 파이프 라인에서 관리 가능한 "하드" 및 "소프트" 금지 계층입니다. 그 가치는 명백히 위험한 식별자 (카드, IBAN, 암호화 주소, 장치, IP 등) 를 값 비싼 수표 및 쓰기 시도로 빠르게 정리하는 것입니다. 효율성의 핵심은 명확한 데이터 모델 (유효성 기간, 소스, 이성, 관할권, 신뢰 수준), 강력한 캐시 및 감사를 통한 격리 된 서비스, 일관된 TTL/앰네스티 정책 및 히트 레이트 인터넷 오버 블록 메트릭입니다.
1) 이용 약관
블랙리스트/거부 목록/블록 목록-작업이 거부 된 경우 식별자 세트 (HARD BLOCK).
중지 목록 (컨텍스트) -특정 컨텍스트에서 차단 (예: 국가 X에서만, 금액> Y에만 해당).
워치리스트/그레이리스트- "관찰": 작업이 즉시 거부되지 않고 STEP-UP (3DS/OTP/add) 으로 변환됩니다. KYC) 또는 수동 검토.
허용 목록/흰색 목록-회색 신호보다 중요한 명시 적 권한 (예: VIP, 확인 된 은행 계좌).
네거티브 목록 (내부) -내부 사건 (캐지백, 보너스 남용, 제재 일치, 다중 회계) 을 기반으로 한 목록.
2) 정확히 "잎": 식별자
지불 세부 사항
카드: PAN 토큰/FPAN 해시, BIN, 발행자/국가 (지리 정책 용), 용어, 미디어 이름 (선택 사항, 해시/퍼지).
은행: IBAN/BIC, 계정/라우팅 (ACH/SEPA), 소유자 이름 (정규화 된 해시).
전자 지갑/핀 테크: 지갑 (PayPal/Skrill/Neteller 등), UPI/PIX ID, 오픈 뱅킹 PISP 지불 자.
암호화: L1/L2 주소, 태그 (믹서/제재/고위험), 체인 (ETH/BTC/TON 등).
의사 소통과 행동
이메일/전화 (정규화, "일회성" 도메인 및 재분배 번호 설정).
장치/브라우저 지문, 클라이언트 키, 모바일 ID.
네트워크: IP (ASN/프록시/VPN/데이터 센터) ,/24- 서브 넷, 지리적 위치.
계정 및 상대방
사용자 ID/고객 ID, 파트너/계열사, 프로모션 소스.
PSP/MID/Acquirer (경로 운영 잠금 장치 용).
주소/전체 이름 (해시 정규화, 토큰별 퍼지 일치).
3) 목록 보충 출처
내부 이벤트: 요금 지불, 사기 경고, 보너스 남용 (멀티 계정, 득점 "보너스 획득-회전율없이 철회"), 제재 경기, 자체 배제/MLRO 플래그.
외부 출처: PSP/acquirers, 컨소시엄 기반 (공유 사기 인텔), 암호화 태그 제공 업체, BIN 기반, 위험 모델의 음수 목록.
규칙 및 수동 입장: 규정 준수/위험 사무소 결정, 사고에 대한 "동결".
4) 데이터 모델 (최소 충분)
json
{
"key": "card:pan_token:9c4f...e1",
"scope": {
"action": ["deposit","withdrawal","payout"],
"jurisdiction": ["EEA","CA-ON"],
"product": ["casino","sports"]
},
"policy": "deny stop observe allow",
"reason_code": "CHARGEBACK BONUS_ABUSE SANCTION_MATCH MFA_BYPASS KYC_FAIL CONSORTIUM_HIT",
"source": "risk_engine psp_x mlro consortium",
"confidence": 0. 92,
"created_at": "2025-10-01T12:30:00Z",
"expiry_at": "2026-01-01T00:00:00Z",
"ttl_days": 90,
"review_after": "2025-12-01T00:00:00Z",
"metadata": {
"case_id": "INC-2025-10344",
"notes": "2 CB in 45 days; bonus cycling through 3 wallets,"
"hash_algorithm": "sha256+salt",
"tenant": "brand_A"
}
}
필요한 필드는 '키', '정책', '이유 _ 코드', '소스', '생성', '만료 _ at/ttl' 입니다.
좋은 관행: 범위 유지 (행동/관할권/제품) 및 신뢰 (소프트 정책).
5) 목록 서비스 아키텍처
전용 ListService (모든 마이크로 서비스의 실제 상태).
API:- 'GET/v1/리스트/확인? key =... & ctx =... '- 동기 확인 (Redis의 p99 <5-10 ms).
- 'POST/v1/list/upsert' -검증 및 감사가있는 질량/단일 레코드.
- 'POST/v1/리스트/벌크' -드라이 런에서 CS/NDJSON을로드합니다.
- 'POST/v1/리스트/리뷰/: id' - 마크 업/앰네스티/확장.
- 스토리지: 이벤트 소싱 및 복제를위한 Redis (핫 캐시, TTL) + Postgres (히스토리/감사) + DLQ/로그 버스 (Kafka).
- 액세스: 쓰기-민감한 키 (뱅킹/암호화) 에 대한 RBAC + 4 눈 제어를 통해서만 위험/규정 준수/MLRO를 작성하십시오.
- 신뢰성: 이벤트 파이프 라인 인 KMS/HSM 암호화에서 정확히 한 번만 기록 된 기록.
6) 검사를 포함하는 곳
1. 지불 수단의 등록/연결-" 연소 된 "세부 사항에 대한 조기 거부.
2. 예금 (개시) -분명히 나쁜 키로 승인 비용을 지불하지 않도록 3DS/OTP 이전의 빠른 거부/중지.
3. 인출/지불-지불 세부 정보에 대한 별도의 목록 (IBAN/crypto 주소); 종종 입구보다 더 엄격합니다.
4. 세부 사항 변경-스텝 업 + 확인; "철회 전 카운트 변경" 으로부터 보호.
5. 보너스 작업-남용 체계 (다중 계정, 장치 체인) 에 따라 관찰/중지됩니다.
7) 정책 (HARD/SOFT) 및 TTL
HARD (거부/중지) 는 제재, 사기 확인, 반복 된 차지, 도난당한 카드, 노새에 적용될 때 적용됩니다.
SOFT (관찰/스텝 업): 약한 신호 (새로운 IP/장치, "차가운" 전자 메일 도메인, 고속), "모호한" BIN/ASN.
- 충전: 180-540 일 (요법 및 위험에 따라 다름).
- 보너스 보너스: 90-365 일 (개정 포함).
- 제재: 목록의주기적인 동기화로 무기한.
- 국제 앰네스티: "순수한" 플레이의 성공적인 CUS/역사가 사건없이 그리고 사건없이-관찰 또는 철수를위한 자동 강등.
8) 결정 매트릭스
9) 온라인 확인 의사 코드
python def is_blocked(keys: list[str], ctx: dict) -> Decision:
keys: ["card:pan_token:..", "ip:..", "device:..", "iban:.."]
ctx: {"action":"withdrawal","jurisdiction":"EEA","product":"casino","amount":1000}
hits = list_service. batch_check(keys, ctx) # из Redis + fallback PG if any(h. policy in ["deny","stop"] for h in hits if h. in_scope(ctx)):
return Decision(block=True, reason=top_reason(hits))
if any(h. policy == "observe" for h in hits if h. in_scope(ctx)):
return Decision(block=False, step_up="3DS_or_KYC", reason="OBS_HIT")
return Decision(block=False)
10) 위험 엔진 및 결제 버스와의 통합
위험 엔진은 먼저 ListService를 읽은 다음/ML/rules를 채점합니다.
파이프 라인의 순서: '사전/제공 → ListService (하드/소프트) → 3DS/OTP → Auth → Clearing'.
라우팅: PSP 라우팅 레벨에서 'MID '/' BIN' 이 공급자 블록 목록에 포함 된 경우 "제로" 채널/aquiers를 사용할 수 있습니다.
이벤트: 각 솔루션 ('DENY/STOP/OBSERVE/ALLOW') 은 Kafka로 가서 ML을 감사하고 추가로 교육합니다.
11) 운영 및 프로세스
대량 다운로드: 유효성 검사 및 시뮬레이션 (영향을받는 작업 수) 이 포함 된 CS/NDJSON
검토: 일일 확장/철회 샘플; 사례 처리를위한 SLA.
충돌: 'ALLOW' 와 'DENY' 가 모두 명시 적 VIP 재정의를 제외하고 가장 제한적인 규칙을 적용하는 경우.
Versioning: 편집 - 레코드의 새 버전; 오래된 상태는 조사를 위해 유지됩니다.
사건: 이유 _ 코드 템플릿, 티켓과의 연결 (Jira/Case-ID).
12) 품질 지표 및 목표
적중률 (HR) = 모든 목록의 트랜잭션 백분율.
하드 히트 속도 (HHR) = 하드 잠금 비율.
오버 블록 속도 (OBR) = 허위 잠금 비율 (후속 유효한 지불 자).
CB- 구현 후 CB- 향상... 사기-손실...
예금/인출에 대한 승인률 (AR).
TTW (Time-to-Wallet) 는 소프트 측정 (스텝 업) 이 지불 속도에 미치는 영향입니다.
온라인 수표에 대한 시간 결정 (p95/p99).
13) 법률 및 개인 정보 보호
처리 기초: 합법적 인이자/법적 의무 (AML/제재/사기 방지).
최소화: 기본 데이터 (PAN/IBAN), 소금, 제어 액세스 대신 해시/토큰을 저장합니다.
보존: TTL + 일반 보존 정책 (AML/회계/규제).
주제의 권리: DSAR/삭제 프로세스 (규정 준수 예외를 고려하여).
국경 간: 지역/테넌트 간의 명확한 복제 경계.
14) 빈번한 실수와 피하는 방법
IP/ASN 별 오버 블록: 데이터 센터/CGNAT → 신호 조합 (IP + 장치 + 동작) 을 사용합니다.
개인 데이터 고수: 전자 메일/전화를 정규화하고 번호 재활용을 고려하십시오.
카드 재활용 (PAN 재 방출): 원시 데이터가 아닌 PAN 토큰/암호화 토큰 화에 의해 바인딩됩니다.
가계 총 IBAN: 전 세계 거부 대신 범위 (지불 만) 를 사용하고 관찰하십시오.
암호화 주소: 모든 것을 차단하지 마십시오. 라벨/컨텍스트 (교환, 양육권 지갑) 를 고려하십시오.
15) 보너스 남용 및 제한과의 연결
보너스 패턴: 하나의 지갑/주소 → 많은 계정, 회전율이없는 빠른 출력-지불금의 정지/거부.
한계 및 TtW: "관찰" 은 검토 전에 회전율/연장 TtW를 증가시켜야 할 수 있습니다.
16) 키의 예 (표준 형태)
card:pan_token:<sha256>
iban:<sha256>
wallet:skrill:<normalized_id_hash>
upi:<vpa_hash>
pix:<pix_key_hash>
crypto:eth:<address_lower>
email:<local+domain_hash>
phone:+<E164_hash>
device:<fp_hash>
ip:<ipv4/6 or /24>
asn:<asn_id>
affiliate:<id>
psp:mid:<id>
17) 점검표 (구현 점검표)
1. (PHP 3 = 3.0.6, PHP 4)
2. 데이터 스키마: 키, 스코프, ttl/만료, 신뢰, 감사.
3. 건축: Redis + PG + Kafka, demempotency, 4 눈 제어.
4. 스트림으로의 통합: 사전 정의 점검, 스텝 업, 지불 강화.
5. 메트릭/대시 보드: HR/HHR/OBR/AR/TTW, 관할권/채널별 단면.
6. 프로세스: 검토/국제 앰네스티, 벌크 다운로드, DSAR, 사건.
7. 팀 교육: 지원/위험/금융, 갈등 해결 플레이 북.
18) 미니 플레이 북
BIN X의 CB 급증 → 'bin: X' + 의 임시 정지 (예금) 는 다른 인수자에게 경로를 변경하고 48 시간 후에 검토합니다.
(PHP 3 = 3.0.6, PHP 4)
컨소시엄은 지갑에 부딪쳤다 → 예금을 관찰하고 MLRO 검토 전에 지불금을 중단하십시오.
국가 Y → 국가 범위를 업데이트하고, 지불금을 거부하고, 목록을 다시 계산할 수 있습니다.
19) 관리자 패널 인터페이스 (논리) 의 예
키/마스크 검색, 필터: 정책, 범위, 이유, 소스, 만료 <30d.
사면: 국제 앰네스티, TTL 연장, 관찰 범위 축소, 거부로 전환, 허용 추가.
드라이 런을 사용한 대량 작업: 새로운 규칙에 따라 몇 개의 작업이 적용되는지 보여줍니다.
20) 요약
블록 목록은 "금지 표" 일뿐만 아니라 명확한 데이터 모델, 강력한 캐시, 청취, 유능한 TTL 및 명확한 검토 프로세스를 갖춘 플랫폼 수준 서비스입니다. 위험 엔진과 올바르게 통합되면 전환을 파괴하지 않고 사기 깔때기를 좁히고 안전한 곳에서 지불 속도를 높입니다.