결제 SDK 연동 후 앱 장애가 늘어나는 이유
결제는 "성공 / 실패"가 아니라 5~6단계의 비동기 흐름입니다. SDK는 단계별 콜백을 다 호출하지 않을 수 있고, 그 사이에 사용자는 앱을 닫습니다.
1. 이중 초기화
결제 SDK를 화면 진입할 때마다 init하면 내부 상태가 망가지는 경우가 있습니다. 앱 시작 시 한 번, 토큰만 갱신하는 패턴을 쓰세요.
2. Pending 트랜잭션
"결제는 됐는데 앱에는 안 보임" — PG · 스토어는 결제 완료, 앱은 콜백을 못 받음. 진입 시마다 pending 조회 → 강제 reconcile이 필요합니다.
3. PG WebView ↔ 네이티브 상태 불일치
PG WebView가 결제 결과를 native bridge로 넘기는 사이, 앱이 백그라운드로 빠지면 콜백이 유실됩니다. 백그라운드 복귀 시 상태 재조회를 강제하세요.
4. 환불 · 부분취소 케이스 미처리
환불 SDK 응답 코드가 결제 코드와 다른 SDK도 있습니다. 케이스를 빠뜨리면 회계 · CS 양쪽에서 사고가 납니다.
5. 멱등키 누락
같은 결제를 두 번 발생시키면 1원 오차가 나옵니다. 멱등키를 클라이언트에서 생성해 서버 · PG · 앱 모두 동일하게 사용하세요.
결제 흐름 단계별 로그
pay_init·pay_token_issuedpay_webview_open·pay_webview_closepay_bridge_ack·pay_server_confirmpay_pending_found·pay_reconciled
결제 SDK 도입 후 장애 · 환불 · 누락이 늘었다면, 흐름 단위로 진단해 드립니다.
앱 운영 진단 신청 →