카카오 비즈 앱 전환 — 사업자등록증 없이 고유번호증으로 (교회·비영리단체)

카카오 비즈 앱 전환 — 사업자등록증 없이 고유번호증으로 (교회·비영리단체)

교회 웹앱을 만들면서 가장 오래 막혔던 곳입니다. 며칠을 헤맸고, 원인이 하나가 아니라 여러 개였습니다.

한글로 정리된 자료를 찾기 어려웠던 부분이라 순서대로 적어 둡니다. 교회뿐 아니라 사업자등록증이 없는 비영리단체라면 같은 벽에 부딪히실 겁니다.

이 글은 교회 전자주보 만들기 시리즈의 4편입니다. 2026년 8월에 쓰고 2026년 9월에 보탰습니다.


왜 카카오 로그인인가

교인들에게 “이메일과 비밀번호를 만드세요”라고 하면 상당수가 거기서 멈춥니다. 비밀번호를 새로 만들고 기억해야 하니까요.

카카오 로그인은 버튼 하나입니다. 한국 교회에서는 이게 사실상 유일한 현실적인 로그인입니다.


첫 번째 벽 — 카카오 이메일 동의항목은 비즈 앱만 받습니다

카카오 로그인을 붙이면 사용자 정보를 받아 옵니다. 그런데 이메일은 아무나 받을 수 없습니다. 개인정보 동의항목이라 별도 권한이 필요합니다.

그리고 이메일이 없으면 곤란합니다. 사용자를 구분할 안정적인 열쇠가 없어지고, 나중에 다른 로그인 수단과 계정을 잇기도 어려워집니다.

이메일 권한을 받으려면 비즈 앱으로 전환해야 합니다. 그리고 비즈 앱 전환에는 사업자 정보가 필요합니다. 교회는 사업자등록증이 없습니다. 여기서 대부분 멈춥니다.


넘어간 방법 — 고유번호증을 사업자등록번호 칸에

결론부터: 고유번호증의 고유번호를 사업자등록번호 칸에 넣으면 통과됩니다.

교회는 세무서에서 고유번호증을 받습니다. 사업자등록증과 형식이 비슷하고 번호 체계도 같아서, 카카오의 형식 검증을 통과합니다.

저희가 넣은 값입니다.

칸 넣은 값
사업자등록번호 고유번호증의 고유번호
회사명 교회 이름
업태 단체
종목 종교단체
주소 교회 주소
증빙 서류 고유번호증 파일

세금 걱정은 하지 않으셔도 됩니다

이 부분을 담임목사님이 걱정하셨습니다. “사업자가 되는 것 아니냐”는 것이었습니다.

고유번호증은 오히려 수익사업을 하지 않는 단체라는 증표입니다. 카카오(민간 회사)에 단체 정보를 제출하는 것은 세무 신고가 아니고, 앱으로 수입이 없으면 과세 대상 자체가 생기지 않습니다.

다만 저는 세무사가 아닙니다. 마음에 걸리시면 교회 재정 담당자나 세무 담당자께 한 번 확인하시는 편이 좋습니다.


카카오 비즈 앱 전환 순서 — 건너뛸 수 없습니다

카카오 개발자 콘솔은 순서를 건너뛸 수 없게 되어 있습니다. 저희가 실제로 밟은 순서입니다.

1. 앱 아이콘 등록 이게 없으면 비즈 앱 전환 버튼 자체가 안 열립니다. 교회 로고를 512×512 정사각형으로 만들어 올리시면 됩니다.

2. 본인인증 여기서 한참 헤맸습니다. 앱 설정 화면 어디에도 없습니다. 우측 상단 프로필 → 계정 설정 → 본인인증에 있습니다.

3. 카카오비즈니스 통합 서비스 약관 동의 business.kakao.com으로 튕겨 나갑니다. 가입 절차를 한 번 밟아야 합니다.

4. 비즈 앱 전환 앱 → 일반 → 비즈니스 정보 → 개인 개발자 비즈 앱 전환. 목적을 고르는 칸에서 “이메일 필수 동의” 를 선택합니다.

5. 사업자 정보 등록 여기가 함정입니다. 4번까지만 하면 안 됩니다. 개인 개발자 비즈 앱 배지를 받아도 개인정보 동의항목을 신청하면 이렇게 거절당합니다.

사업자 정보가 등록된 비즈 앱만 신청 가능합니다.

위에 적은 고유번호증 정보를 여기서 넣습니다.


반전 — 심사 신청을 안 해도 됐습니다

사업자 정보를 등록한 뒤, “추가 기능 신청 → 개인정보 동의항목” 목록을 열었습니다. 그런데 카카오계정(이메일)이 목록에 아예 없었습니다.

처음엔 뭔가 잘못된 줄 알았습니다. 확인해 보니 반대였습니다. 그 목록은 “아직 권한이 없는 항목”만 보여 줍니다. 안 보인다는 건 이미 열렸다는 뜻이었습니다. 4번에서 목적을 “이메일 필수 동의”로 골랐던 것이 반영된 것입니다.

3~5일 심사 대기 없이 바로 쓸 수 있었습니다.

사업자 정보를 등록하셨으면, 추가 신청부터 하지 마시고 카카오 로그인 → 동의항목 화면을 먼저 확인해 보세요. 이미 열려 있을 수 있습니다.


연결 설정에서 또 막힙니다

권한을 받았다고 끝이 아닙니다. 여기서 두 번 더 막혔습니다.

리다이렉트 주소는 두 군데가 있습니다

카카오 콘솔에는 비슷한 이름의 칸이 두 개 있습니다.

  • [앱] → [플랫폼 키] → REST API 키 수정 의 카카오 로그인 리다이렉트 URI ← 여기가 맞습니다
  • 카카오 로그인 → 고급 의 로그아웃 리다이렉트 URI ← 전혀 다른 것입니다

두 번째에 넣고 한참 헤맸습니다. 클라이언트 시크릿도 같은 [플랫폼 키] 화면 아래쪽에 있습니다.

시크릿 재발급은 저장을 눌러야 보입니다

코드 재발급을 누르면 값이 바로 안 보이고 이렇게만 뜹니다.

코드 — 저장 후 확인할 수 있습니다.

페이지 맨 아래 저장을 눌러야 새 코드가 표시됩니다. 그리고 그 화면에는 시크릿이 두 줄 있습니다. 카카오 로그인용과 비즈니스 인증용입니다. 로그인에 쓰는 것은 앞의 것입니다.


KOE205 오류 — 원인이 둘입니다

설정을 다 하고도 로그인 버튼을 누르면 이 오류가 났습니다.

KOE205: 잘못된 요청 — 서비스 설정에 오류가 있어 이용할 수 없습니다

KOE205는 “사용 안 함”으로 꺼 둔 동의항목을 요청했을 때 나는 오류입니다. 그래서 원인이 둘입니다.

원인 ① 꺼 둔 항목이 섞여 있다

저희가 쓴 인증 방식은 이메일 + 닉네임 + 프로필 사진 세 가지를 항상 요청하는데, 콘솔에서 프로필 사진이 “사용 안 함” 으로 되어 있었습니다.

로그인에 성공한 최종 설정은 이 조합입니다.

동의항목 설정
닉네임 선택 동의
프로필 사진 선택 동의
카카오계정(이메일) 필수 동의

원인 ② 아직 일반 앱이다 (나중에 다른 앱에서 또 겪었습니다)

다른 앱을 만들다가 같은 KOE205로 하루를 버렸습니다. 이번엔 프로필 사진이 아니라 이메일 자체가 권한 없음이었습니다. 일반 앱은 account_email이 동의항목 화면에서 회색입니다.

재는 법이 있습니다. 오류 화면의 주소창을 보면 원인이 그대로 적혀 있습니다.

...&scope=account_email%20profile_image%20profile_nickname%20...

여기 적힌 항목 중 콘솔에서 꺼져 있거나 권한이 없는 것이 범인입니다. 해결은 결국 비즈 앱 전환입니다 — 그래서 이 글의 앞부분이 필요합니다.

곁들여 Supabase를 쓰신다면 Providers → Kakao → Allow users without an email 도 함께 켜 두세요.


마지막 함정 — Redirect 허용목록은 경로까지 맞아야 합니다

카카오 쪽을 다 맞췄는데도 로그인 후 엉뚱한 주소로 튕기는 일이 있었습니다. 폰에서 보면 “로그인했는데 앱이 죽었다”로 보입니다.

인증 서버(저희는 Supabase를 씁니다) 쪽에도 돌아올 주소를 허용목록에 넣어야 합니다. 이게 빠지면 카카오 인증까지는 성공하고 마지막 단계에서 기본 주소로 되돌아갑니다. 개발할 때 쓰던 localhost로 튕기는 식입니다.

로그인이 진짜 됐는지부터 가르세요. auth.users의 last_sign_in_at에 방금 시각이 찍혀 있으면 로그인은 끝난 것이고, 문제는 돌아오는 주소뿐입니다.

그리고 허용목록의 /** 는 경로가 있어야 맞습니다.

허용목록에 https://example.com/** 를 넣었을 때 결과
https://example.com 로 돌려보내면 ✗ 막힘
https://example.com/ ✓
https://example.com/profile ✓

그래서 코드에서 돌아올 주소를 만들 때 끝의 빗금을 빼면 안 됩니다. 누가 보기 좋게 “정리”하면 조용히 다시 깨집니다.

정리하면 두 군데를 다 봐야 합니다.

  1. 인증 서버에 카카오 Provider 등록 (REST API 키 + 시크릿)
  2. 인증 서버의 Redirect URL 허용목록에 실제 사이트 주소 추가 — 끝에 / 까지

하나만 고치고 “다 했는데 왜 안 되지”에 빠지기 쉽습니다. 저희가 그랬습니다.


그 뒤 — 로그인을 카카오 하나로 줄였습니다 (2026년 9월)

처음에는 이메일·비밀번호 로그인을 함께 두고 카카오를 보탰습니다. 지금은 카카오 하나만 남겼습니다.

이유는 단순합니다. 같은 사람이 두 방법으로 들어오면 계정이 둘 생기고 교적부가 어긋납니다. 비상용 이메일 로그인도 일부러 안 남겼습니다 — 남겨 두면 결국 그 길로 또 들어옵니다. 잠기면 Supabase 대시보드에서 매직 링크를 보냅니다.

여기서 하나 더 배웠습니다. 요청하는 동의항목에 account_email 을 꼭 적어야 합니다.

scopes: "profile_nickname account_email"

카카오가 인증된 이메일을 주면 인증 서버가 같은 이메일의 기존 계정에 카카오를 자동으로 붙여 줍니다. 전에는 profile_nickname 만 적어 두고 카카오 콘솔 설정이 대신해 주고 있었는데, 그 설정이 바뀌면 기존 계정 전부가 새 계정으로 갈립니다.

그리고 카카오는 본명을 주지 않습니다. 닉네임뿐이라 누구인지 알 수 없습니다. 교적부와 잇는 일은 사람이 해 줘야 합니다.

참고로 교회에 따라 페이스북 로그인이 주류인 곳도 있습니다(해외 한인교회·선교지 교회). 그래서 지금은 교회마다 쓸 로그인 수단과 그 차례를 정할 수 있게 해 두었습니다.


정리 — 카카오 비즈 앱 전환 체크리스트

  • ☐ 앱 아이콘 등록 (512×512)
  • ☐ 본인인증 — 프로필 → 계정 설정에 있음
  • ☐ 카카오비즈니스 약관 동의
  • ☐ 비즈 앱 전환, 목적은 “이메일 필수 동의”
  • ☐ 사업자 정보 등록 — 고유번호증의 고유번호, 업태 단체, 종목 종교단체
  • ☐ 동의항목 확인 — 신청 전에 이미 열렸는지 먼저 볼 것
  • ☐ 동의항목: 닉네임 선택 / 프로필 사진 선택 / 이메일 필수
  • ☐ 리다이렉트 URI — [플랫폼 키] 화면에 등록
  • ☐ 시크릿 — 재발급 후 맨 아래 저장, 카카오 로그인용 줄의 코드
  • ☐ 인증 서버에 Provider 등록 + Redirect 허용목록에 사이트 주소(끝에 /)
  • ☐ 요청 동의항목에 account_email 명시

다음 편은 개발하시는 분께 더 필요한 이야기입니다. 데이터베이스를 옮겼는데 읽기는 되고 쓰기만 막힌 사건입니다.

→ [5편] 서버를 옮겼더니 업로드만 막혔습니다


교회 전자주보 만들기 시리즈

  1. 1. 교회 전자주보 만들기 — 주일 아침, 주보가 모자랐습니다
  2. 2. 종이 주보를 그대로 옮기면 안 되는 이유
  3. 3. “등록이 안 돼요” — 실은 버튼이 안 보였습니다
  4. 4. 교회에 카카오 로그인 붙이기 ← 지금 읽고 계신 글
  5. 5. 서버를 옮겼더니 업로드만 막혔습니다
  6. 6. 매주 주보 만드는 시간을 20분으로