RevGlance문서

Polar

조직 액세스 토큰으로 Polar를 연결하고, 즉시 동기화를 위해 Webhook을 추가합니다.

RevGlance는 조직 액세스 토큰으로 Polar 조직의 고객, 구독, 주문을 읽습니다. Polar에서 아무것도 변경하지 않습니다.

연결

  1. Polar에서 조직의 Settings를 열고 organization access token을 만듭니다. 이름은 RevGlance로 지정합니다.
  2. customers:read, subscriptions:read, orders:read 범위를 부여합니다. 회수 이메일을 보낼 계획이라면 customer_sessions:write도 추가합니다.
  3. 토큰을 복사합니다. 토큰은 polar_oat_로 시작합니다.
  4. 조직 액세스 토큰에 붙여넣고 Polar 연결을 선택합니다.

양식에서 묻는 항목

필드형식 예시
조직 액세스 토큰암호화하여 저장polar_oat_…

Webhook 추가하기

  1. RevGlance에서 설정 › 소스를 열고 Polar 소스의 메뉴를 연 다음 Webhook을 선택합니다. URL을 복사합니다.
  2. Polar에서 조직의 Settings › Webhooks를 열고 그 URL로 엔드포인트를 추가합니다. 주문, 구독, 환불 이벤트를 고릅니다.
  3. Webhook의 시크릿(whsec_…)을 복사해 RevGlance의 서명 시크릿에 붙여넣고 저장합니다.

Polar는 Standard Webhooks 방식으로 호출에 서명합니다. RevGlance는 Polar가 whsec_ 시크릿에서 키를 도출하는 이전 방식과 현재 방식을 모두 받아들이므로, Polar의 2026년 9월 변경 전후에 만든 시크릿 모두 작동합니다.

RevGlance가 동기화하는 항목

  • 고객: 청구 국가와 메타데이터를 포함하며, 세그먼트 필터에서 사용할 수 있습니다.
  • 구독: MRR, 좌석, 할인, 체험판, 해지에 사용되며, 고객이 남긴 이유와 코멘트가 있으면 함께 가져옵니다.
  • 주문과 그 환불. 첫 동기화는 모든 주문을 읽고, 이후 동기화는 마지막 동기화보다 3일 전부터 읽고, 일주일에 한 번은 모든 주문을 다시 읽습니다. 환불은 해당 주문에만 표시되기 때문입니다.

Polar의 집계 방식

  • 주문은 세전으로 집계되며, Polar 플랫폼 수수료가 수수료입니다. 주문과 다른 통화의 수수료는 0으로 표시됩니다.
  • 환불은 결제와 마찬가지로 세전으로 집계됩니다. Polar는 환불일을 제공하지 않으므로 주문이 마지막으로 변경된 날을 환불일로 합니다.
  • 오래된 주문의 환불은 주 1회 전체 읽기로 잡아내므로 최대 일주일 늦게 표시될 수 있습니다.
  • 지불 거절은 읽지 않으므로, 진 지불 거절은 결제 대행사가 환불로도 보고하지 않는 한 결제로 계속 집계됩니다.
  • 실패한 결제는 보고되지 않으므로 해당 수치는 0으로 유지됩니다.
  • MRR은 구독 금액이며, Polar가 이미 반복 할인을 반영해 줄인 금액입니다. 일회성 할인은 MRR을 줄이지 않습니다.
  • 세금 포함 가격에서는 MRR에 세금이 포함됩니다. Polar가 어떤 구독에 세금 포함 가격을 쓰는지 알려 주지 않기 때문입니다. 결제와 환불은 세전으로 집계됩니다.

회수 이메일

회수는 고객을 Polar 고객 포털 세션으로 보내 카드를 업데이트하게 합니다. 이를 위해서는 토큰에 customer_sessions:write가 필요하며, 없으면 이메일은 자체 카드 업데이트 페이지로 연결됩니다.