[iOS/WebView] 결제 후 processProductGrant true 반환에도 지급 완료 ack 미반영 → 30초 뒤 환불 안내 노출 (미니앱 복귀 시에만 완료 처리됨)

저희도 동일 증상을 겪고 있어 재현 사례 공유드립니다.

환경

  • 미니앱: 나도 조용한 ADHD? (appName: quite-adhd, miniAppId: 49857)
  • @apps-in-toss/web-framework 2.10.4, 웹뷰 미니앱
  • iOS 실결제, 소모품 상품 / 토스 앱 버전: (여기에 버전)

재현 타임라인 (2026-07-15, KST — 파트너 서버 로그 기준)

  • 21:07:27 — 결제 성공 (주문 ID: e7b91acf-8121-4555-9887-181a6f8512cb)
  • 21:07:35 — processProductGrant 콜백 실행 → 파트너 서버 지급 처리 0.96초 만에 200 응답(웜 인스턴스) → 콜백 true 반환. 결제 후 약 9초 시점으로 30초 제한 안에 여유 있게 완료
  • 이후에도 결제 시트 스피너가 유지되다 결제 약 30초 뒤 “문제가 생겼어요. 환불을 신청해주세요” 노출
  • 주문은 PAYMENT_COMPLETED로 잔류, 미니앱 복귀 시 getPendingOrders 복원 경로를 거친 뒤에야 PURCHASED로 전환 — 원글 증상과 동일합니다

빈도·영향 — 실사용자 피해가 발생하고 있습니다

  • 당일 자체 테스트 2건(17:06 주문 b6f7d62c-2cea-4c31-b71e-a102259cc77e 포함)에서 연속 재현
  • 이 화면을 본 실사용자들의 환불 신청과 CS 컴플레인이 실제로 발생하고 있습니다 — 결제 직후 환불 안내를 보고 그대로 환불한 사례, "결제했는데 안 된다"는 문의가 하루 2건 접수된 사례, 실패로 오인해 같은 상품을 몇 분 안에 다시 결제한(중복 결제) 사례까지 나왔습니다
  • 결제와 서버 지급이 전부 정상인데 사용자에게는 실패로 보이는 상황이라, 결제 전환 손실과 CS 부담이 계속 쌓이는 중입니다. 특히 저희처럼 출시 초기 서비스에는 타격이 큽니다

시도해본 것

  • 콜백 내에서 completeProductGrant 직접 호출 → 동일 재현 (원글과 같은 결과)
  • 서버 예열로 콜백 처리(서버 왕복 포함)를 1초 미만으로 단축 → 무관하게 재현
  • 샌드박스에서는 재현되지 않음 (실결제 경로에서만 발생)

원글에서 언급하신 안드로이드 5.256.1의 콜백 지연 수정(t/3526)에 대응하는 iOS 수정 계획·일정을 저희도 확인 부탁드립니다.

(추가) 이후 @apps-in-toss/web-framework 2.10.6으로 업그레이드해 재테스트한 결과, 동일 시나리오에서 환불 안내 없이 지급 완료까지 정상 진행되는 것을 확인했습니다. 혹시라도 같은 증상을 겪는 분들은 2.10.6 업데이트를 먼저 시도해보세요. 다만 2.10.5/2.10.6의 변경 내용이 릴리즈 노트에 아직 없어서, 이 수정이 해당 버전에 포함된 것이 맞는지 공식 확인 부탁드립니다.