가격표가 있는 구독 - 고객 없음 응답

안녕하세요, 여러분! 문제를 겪고 있어 며칠째 고군분투하고 있지만 아직 해결하지 못해서, 혹시 여기서 도움을 주실 분이 있을까 해서 문의드립니다. :slight_smile:

Discourse 3.4.0.beta1-dev
Subscriptions 2.8.1 - f0b4984
Linux VM에서 Docker 설치

구독 플러그인을 설치하고 활성화했으며, 내장된 가격표를 사용할 때는 대부분 정상적으로 작동합니다. (가끔 구독 후 사용자가 그룹에 추가되지 않는 경우가 있지만, 이는 별도의 문제라고 생각합니다.)

하지만 익숙한 UX와 신뢰감을 주는 Stripe 가격표와 체크아웃을 사용해야 합니다. 이를 위해 웹훅 설정을 모두 마쳤고, 시크릿 등도 모두 구성했습니다. (현재 테스트 모드를 사용 중이므로 테스트 모드 키와 시크릿을 사용 중입니다.)

구독 페이지에 접근하고, 가격표에서 체크아웃 플로우를 거쳐 테스트 카드로 체크아웃하는 것까지는 성공합니다.

그러나 그 결과 Discourse에서 구독이 생성되지 않고, 사용자의 그룹에도 변경 사항이 없습니다. Stripe 대시보드의 웹훅을 확인해 보니, 다음 바디를 가진 422 응답을 받고 있습니다:

{
  "errors": [
    "customer not found"
  ]
}

여러 사용자로 시도해 봤지만 결과는 항상 동일합니다.

데이터베이스를 확인해 보니, Stripe 웹훅에 언급된 고객이 discourse_subscriptions_customers 테이블에 없고, discourse_subscriptions_subscriptions 테이블에도 해당하는 구독이 없습니다. 웹훅 호출이 처리되지 않기 때문에 이것이 예상된 결과일 수도 있다고 생각됩니다.

참고로, Stripe 웹훅 호출이 일반적으로 성공할 수 있다는 것은 확인했습니다. “Stripe 가격표 사용” 설정을 비활성화하고 내장 체크아웃을 통해 구독을 생성하면 모든 것이 정상적으로 작동합니다. 그리고 Stripe에서 구독을 취소하면 customer.subscription.deleted 웹훅이 문제없이 수신됩니다.

아마 제가 어리석은 실수를 했거나 설정이 올바르지 않은 것 같지만, 어떻게 해야 작동하는지 파악하는 데 큰 어려움을 겪고 있습니다.

미리 감사드립니다!
Ross

문제가 발생해서 죄송합니다. 다만 이 문제를 알려주셔서 감사합니다. 어떻게 해결할지 함께 찾아보겠습니다. 먼저 한 가지 질문이 있는데요, 가격표에 선택하신 제품들이 Discourse 안에서 직접 생성하신 것인지, 아니면 Stripe 안에서 생성하신 것인가요?

제가 설정한 프로덕션 환경에서는 이 에러가 나는데, 로컬에서는 안 나서 디버깅하기가 좀 어렵습니다. 그래도 조사해 보고 있습니다!

답변 주셔서 감사합니다 :slight_smile:

두 가지 방식을 모두 시도해 보았습니다. 처음에는 Stripe에서 제품을 설정해 두었으나, 여기 게시물을 통해 Discourse 내부에서 생성해야 한다는 조언을 보고 해당 방식으로 변경했습니다. 하지만 여전히 동일한 문제가 발생합니다.

그룹과의 연결이 제품 메타데이터에 의해 제어되는 것 같다는 _추측_을 하고 있습니다(잘못된 추측이라면 죄송합니다). 아래에서 이를 확인할 수 있습니다:

(group_name은 가격 등급에 따라 달라지는데, 이는 Discourse에서 설정한 방식에 따라 예상되는 결과입니다.)

확인해 주셔서 감사합니다. 도움이 될 수 있는 다른 정보가 있다면 알려주세요 :slight_smile:

가격표와 함께 ‘고객을 찾을 수 없음’ 응답에 대한 수정 사항을 만들었습니다. 구독 플러그인을 업데이트한 후 다시 시도해 보시면 이제 정상적으로 작동할 것입니다.

답변이 늦어 죄송합니다. 확인해 주셔서 다시 한번 감사드립니다 :slight_smile:

방금 모든 것을 업데이트하고 간단히 테스트를 해봤는데, 여전히 stripe 웹훅에 동일한 응답(즉, 고객 없음)이 표시되고 있습니다.

이전 테스트에서 남아 있을 수 있는 문제를 배제하기 위해 완전히 새로운 가격표/제품 세트를 만들어서 테스트해 보는 것이 좋을까요? (이 테스트에는 새로운 사용자를 사용했지만, 제품은 이전에 있던 것을 사용했습니다.)

버전 번호 아래에 표시되는 커밋 해시 값을 다시 확인해 주시겠어요?

또한, 가격표에 있는 것이 구독인지 일회성 구매인지도 알려주시겠어요?

디버깅을 위해 구독 플러그인에 새로운 설정을 추가했습니다. discourse_subscriptions_enable_verbose_logging이라고 하는 이 설정을 활성화하면 /logs 페이지로 이동하여 체크아웃 과정을 다시 시도해 보고 해당 플러그인에서 출력이 보이는지 확인할 수 있습니다. 관련 스크린샷을 DM으로 보내주시면 추가 디버깅을 도와드리겠습니다.

네, 문제없습니다. 제가 가진 커밋 해시는 스크린샷의 f1b9c96과 동일합니다 :slight_smile:

구독용이고, 가격표가 포함된 내용입니다.

좋아요, 감사합니다. 해당 설정을 활성화해 보고 로그를 확인해 보겠습니다 :slight_smile:

도움 주셔서 다시 한번 감사합니다 :slight_smile: