IOSOR 가이드
선불 hold가 실패할 때: 자동 환불과 상태의 진실
실패한 선불 hold를 지갑 사건으로 다루세요. 자동 해제 또는 환불, 방어 가능한 상태 내보내기, 정산되지 않은 돈에 Activated나 Delivered를 표시하지 마세요.
완료할 수 없는 선불 hold는 자금과 상태를 재무가 방어할 수 있는 위치에 남겨야 합니다. 실패는 「나중에 다시」 연극이 아닙니다. 예약이 가용 잔액으로 돌아가거나, 정산된 금액을 명시적으로 환불하거나, 증거가 생길 때까지 이름 있는 종단 상태로 재시도를 막아야 합니다. 자금이 묶이거나 사라졌는데 성공을 그리면 제품과 재무가 장부를 믿지 않게 됩니다.
IOSOR는 white-label prepaid입니다. 같은 규칙이 messaging, verification, email, voice와 한 지갑의 JIT 번호 intent에 적용됩니다. 공개 최소 USD 20은 파일럿 바닥이지 fail 경로가 동작한다는 증거가 아닙니다. 월 USD 1,000 근처 review는 실패 행을 더 눈에 띄게 만들 뿐입니다.
실패는 토스트가 아니라 지갑 사건
체크아웃 스피너와 「pending」 배너는 자금 진실이 아닙니다. 실패 후 지갑은 hold를 해제했거나, debit을 환불했거나, 내보낼 수 있는 이유로 intent를 동결한 상태여야 합니다. 예약이 열린 채 제품이 성공을 보이면 장부가 거짓말하는 것입니다. 성공 경로는 첫 차감 전 선불 잔액 예약; 이 페이지는 그 경로가 견뎌야 할 실패 경로입니다.
| 결과 | 지갑 이동 | 읽을 수 있는 상태 |
|---|---|---|
| 작업 전 검증 거부 | hold 없음 또는 즉시 해제 | Rejected — 차감 없음 |
| hold 하 이행 실패 | 예약 금액 전액 해제 | Failed — 자금 반환됨 |
| 완료 증거 없는 타임아웃 | 만료 정책에 따라 해제 | Timed out — 자금 반환됨 |
| 정산 금액을 되돌려야 함 | 명시적 refund 행 | Refunded — 원 intent에 연결 |
| 비행 중 불명 결과 | 재시도 동결; 두 번째 차감 금지 | Needs attention — 조사 중 |
자동 환불과 해제는 자동이어야 한다
「운영이 나중에 고친다」는 제품이 아닙니다. 미사용 hold 해제와 잘못된 settle 환불은 예약을 만든 같은 규칙에서 발사되어야 합니다. 같은 멱등 키의 중복 요청은 원래 자금 결과를 재사용합니다——멱등, 재시도와 자금. 부분 배치는 완료된 단위만 정산하고 미사용 분을 하나의 내보내기로 반환합니다.
Release는 미사용 예약 자금을 복구합니다. Refund는 정산된 debit을 되돌립니다. 클라이언트에는 타임스탬프, 이유, 비즈니스 intent ID가 필요합니다. 장부 행 없는 조용한 잔액 편집은 금지입니다. 번호 구매 실패 후 교체 UX는 DID 주문 실패 환불과 교체; 이 글은 모든 채널의 자금 진실을 다룹니다.
재무가 내보낼 수 있는 상태 어휘
CSV에서 살아남는 짧은 목록을 요구하세요:
- funds held
- completed / settled
- released
- refunded
- needs attention
- cancelled
자원을 할당하지 않고 과금 단위를 수락하지 않은 intent에 「Activated」「Delivered」「Live」를 만들지 마세요. 「Needs attention」은 작업 큐이지 성공의 동의어가 아닙니다. 금액·통화·correlation ID와 함께 내보낼 수 없는 상태는 연극입니다.
Activated나 Delivered를 위조하지 마세요
가짜 성공 배지는 빈 검색보다 빠르게 신뢰를 태웁니다. 메시징 실패가 전달된 것처럼 보이면 안 됩니다. 열리지 않은 verify 세션이 검증된 것처럼 보이면 안 됩니다. 할당되지 않은 JIT 번호가 Activated를 달면 안 됩니다. 낮은 잔액과 상한 초과 거부는 가능하면 hold 이전에 일어납니다——잔액 부족 시 발송 중지——자금이 막다른 예약에 들어가지 않게 합니다.
실패 정직성 구매자 체크리스트
- 실패한 모든 hold가 release, refund, 또는 담당자 있는 needs-attention 동결로 끝나나요?
- release와 refund가 채팅 티켓이 아니라 제품 이벤트에서 자동인가요?
- 재무가 지원을 열지 않고 실패 행을 원 intent ID에 조인할 수 있나요?
- 같은 키 재시도가 자금을 최대 한 번만 움직이나요?
- 클라이언트 오류가 brand-safe하고 업스트림 브랜드명이 없나요?
- 가용 잔액이 너무 낮을 때 stop-line이 새 hold를 막나요? 프로덕션 트래픽 전 지갑 중단선을 검토하세요.
IOSOR로 시작하기
완료할 수 없는 선불 hold를 강제로 일으킨다. 한도, 거절, 부족. 자금이 available로 돌아오거나 명시적 환불 행이 나오는지 증명한다. 재무가 지킬 실패 상태를 보낸다. 같은 키를 두 번째 움직임 없이 다시 한다. 이는 hold 실패의 진실이지 죽은 할당 해제가 아니다.
Related: 선불 지출 통제
IOSOR 핵심 요약
실패한 hold는 지갑 사건이지 성공 연극이 아니다.
할 일: 자동 해제 또는 환불과 이름 있는 상태. 하지 말 일: Activated나 Delivered를 만들지 마라.
이 가이드가 도움이 되었나요?
관련 가이드
- 홀드 만료와 원장 정산 간의 타이밍 격차 해결 방법
TTL 만료 이후 캐리어 전달 웹훅이 도착할 때의 비동기 조정을 마스터하세요. 원장 오프리프트를 방지하고 JIT 잔액 홀드를 동기화하며 마진을 보호합니다.
- 업스트림 장애 후 고착된 선불 홀드 대조
플랫폼 네트워크 인시던트 발생 후 모든 청구 채널에 걸쳐 잔류하는 선불 시스템 홀드를 감사하고 해제하기 위한 단계별 플레이북.
- 잔고 고갈 전 지갑 지출 속도 이상 현상 및 중단 감지
IOSOR가 비정상적인 선불 지출 속도를 감지하고, 자동화된 아웃바운드 트래픽을 즉시 중단하며 자금을 보호하는 방법을 알아보세요.