MIRAENEC

MIRAENEC/Insights/PAYMENT

2026.05.07 · PAYMENT

결제 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_issued
  • pay_webview_open · pay_webview_close
  • pay_bridge_ack · pay_server_confirm
  • pay_pending_found · pay_reconciled

결제 SDK 도입 후 장애 · 환불 · 누락이 늘었다면, 흐름 단위로 진단해 드립니다.

앱 운영 진단 신청 →