Rivya 결제와 체크아웃 가이드
Rivya 플랜과 크레딧 팩 체크아웃, Stripe 리디렉션, /payment 브리지, webhook, 결제 업데이트, 구매 확인을 이해하세요.
최근 검토일 2026/04/28
Rivya에서 플랜이나 크레딧 팩을 구매한 뒤 어떤 일이 일어나는지 이해해야 할 때 이 결제 체크아웃 가이드를 사용하세요.
사람들이 Rivya 결제에서 자주 오해하는 점은 다음입니다.
Stripe에서 결제가 완료되었다고 해서 마지막 단계까지 끝난 것은 아닙니다. 제품은 그 변화를 올바르게 따라잡고 반영해야 합니다.
그래서 체크아웃 흐름은 Stripe에서 끝나지 않고, 브라우저가 돌아오는 순간에도 끝나지 않습니다.
결제 흐름의 실제 세 단계
현재 체크아웃은 세 단계로 나누면 더 이해하기 쉽습니다.
- Rivya가 체크아웃 세션을 만듭니다
- 사용자가 Stripe Checkout을 완료합니다
- Rivya가 제품 상태를 다시 신뢰할 수 있을 때까지 기다립니다
바로 이 세 번째 단계 때문에 /payment가 존재합니다.
체크아웃이 시작되는 곳
현재 체크아웃은 사용자의 의도와 이미 맞는 곳에서 시작됩니다.
- 가격
/settings/billing/settings/credits
주요 구매 형태는 두 가지입니다.
- 구독 플랜 체크아웃
- 일회성 크레딧 팩 체크아웃
둘은 서로 다른 상업적 결정이지만, 같은 확인 경로로 모입니다.
플랜 체크아웃과 크레딧 팩 체크아웃은 비슷하지만 같지 않습니다
플랜 체크아웃은 구독 형태입니다.
크레딧 팩 체크아웃은 일회성 지갑 충전 형태입니다.
이 차이가 중요한 이유는 결제 후 Rivya가 무엇을 새로고침해야 하는지 알아야 하기 때문입니다.
- 구독 상태
- 또는 지갑 상태
그래서 같은 Stripe 성공 순간이라도 이후에는 서로 다른 제품 화면으로 돌아갈 수 있습니다.
/payment가 존재하는 이유
/payment는 일반적인 의미의 영수증 페이지가 아닙니다.
처리 브리지입니다.
이 페이지의 역할은 다음과 같습니다.
- Stripe의
session_id읽기 - 제품 측 결제 기록이 확정되었는지 확인하기
- 필요하면 짧은 시간 동안 계속 polling하기
- 그다음에야 앱의 올바른 위치로 리디렉션하기
따라서 이 페이지는 콘텐츠 페이지라기보다 상태 동기화 페이지에 가깝습니다.
제품 관점에서 결제가 정말 끝나는 시점
사용자 관점에서는 Stripe가 성공했다고 말하는 순간 결제가 완료된 것처럼 느껴집니다.
제품 관점에서는 계정 상태가 Rivya 안에서 눈에 보이게 업데이트되어야 결제가 정말 완료됩니다.
보통 이것은 다음을 뜻합니다.
- 결제 기록이 paid 또는 completed로 표시됨
- 구독 또는 지갑 효과가 보임
- 오래된 상태를 보지 않고 안전하게 billing 또는 credits로 돌아갈 수 있음
이것이 제품이 사용자를 앱으로 즉시 돌려보내지 않고 /payment에서 기다리는 실제 이유입니다.
/payment가 polling해도 webhook이 중요한 이유
/payment는 Stripe webhook을 대체하지 않습니다.
지속적인 백엔드 상태를 업데이트하는 것은 여전히 webhook입니다.
/payment 페이지는 리디렉션하기 전에 그 상태가 신뢰할 수 있을 만큼 반영될 때까지 경험이 기다리도록 존재합니다.
이것은 다음 두 가지의 차이입니다.
- "Stripe가 무언가를 처리했다"
- 그리고 "Rivya가 이제 그 변화를 명확히 반영한다"
결제 후 이동하는 곳
반환 경로는 무엇이 바뀌었는지에 의도적으로 연결되어 있습니다.
구매가 구독과 관련되어 있다면 일반적으로 billing 쪽으로 돌아갑니다.
구매가 크레딧 팩이라면 일반적으로 credits 쪽으로 돌아갑니다.
이것은 겉보기 라우팅이 아닙니다. 결제 직후 사용자가 보통 갖는 질문과 맞습니다.
- 내 플랜이 업데이트되었나?
- 아니면 내 지갑이 업데이트되었나?
timeout 또는 실패가 실제로 뜻하는 것
/payment가 timeout되거나 실패해도 그것이 자동으로 결제 자체가 사라졌다는 뜻은 아닙니다.
대부분은 다음 중 하나를 뜻합니다.
- 제품 측 결제 기록이 아직 확정되지 않음
- 리디렉션이 아직 따라잡는 중인 상태를 기다리는 중
- 너무 일찍 사용자를 돌려보내면 계정 페이지가 여전히 오래된 상태로 보일 수 있음
그래서 timeout 상태는 가짜 성공 상태보다 낫습니다. 아직 완료되지 않은 부분이 제품 확인이라는 점을 사용자에게 알려 주기 때문입니다.
결제가 실제로 반영되었는지 확인하는 가장 좋은 방법
체크아웃 후 가장 깔끔한 확인 경로는 다음과 같습니다.
/payment가 흐름을 끝낼 때까지 둡니다- 구매가 플랜이라면
/settings/billing을 확인합니다 - 구매가 팩이라면
/settings/credits를 확인합니다 - 계정이 여전히 동기화되지 않은 것처럼 보이면 알림 센터를 확인합니다
무작위 페이지를 새로고침하며 추측하는 것보다 보통 이 방법이 더 낫습니다.
결제는 계정 기억도 됩니다
결제는 체크아웃 작업일 뿐 아니라 다음과 같은 지속 이벤트를 통해 계정 기록의 일부가 됩니다.
- 구독 시작
- 구독 갱신
- 결제 실패
- 크레딧 패키지 추가
그래서 여기서도 알림이 중요합니다. Stripe 탭을 닫는다고 계정의 이야기가 끝나는 것은 아닙니다.
더 나은 이해 방식
Rivya 체크아웃을 가장 단순하게 이해하는 방법은 다음입니다.
- Stripe는 돈의 이동을 처리합니다
/payment는 제품 측 재진입을 처리합니다
이 두 역할을 분리해서 생각하면 전체 흐름을 훨씬 쉽게 이해할 수 있습니다.
다음에 읽을 문서
체크아웃 상태 체크리스트
구매가 끝나지 않았거나 혼란스러워 보일 때는 다음을 확인하세요.
- Checkout이 어디에서 시작되었는지 확인합니다: 공개 가격 페이지, billing 설정 또는 credits 설정.
- Stripe가 결제를 완료하고 사용자를 /payment로 돌려보냈는지 확인합니다.
- 다른 유료 작업을 시작하기 전에 Rivya가 구독, 팩, invoice, 지갑 상태를 새로고침할 때까지 기다립니다.
- 구독은 billing 페이지를, 팩 또는 지갑 기록은 credits 페이지를 사용합니다.
- 브라우저 리디렉션 자체를 webhook과 계정 상태가 이미 확정되었다는 증거로 보지 않습니다.
결제를 다시 시도하기 전에 다시 확인하기
사용자에게 오래된 플랜, 누락된 크레딧, 중복 Checkout 창, 결제 실패, 또는 성공한 Stripe 영수증이 아직 Rivya에 반영되지 않은 상태가 보이면 결제를 다시 시도하기 전에 먼저 확인하세요.