데브허브 | DEVHUB | [ FLUTTER 10분 ] 2025 카카오페이 단건결제 플러터 연동[ FLUTTER 10분 ] 2025 카카오페이 단건결제 플러터 연동
- 플러터에서 카카오페이 단건 결제를 연동하기 위해 '결제 준비'와 '결제 승인' 두 가지 핵심 API를 사용합니다. 💳
- 결제 완료 후 앱으로 돌아오기 위한 앱 스킴(딥링크) 설정이 안드로이드 매니페스트 및 iOS Info.plist에 필수적입니다. 🔗
- HTTP 통신을 위한
http 라이브러리와 URL 실행을 위한 url_launcher, 웹뷰 처리를 위한 flutter_inappwebview 라이브러리 설치가 필요합니다. 🛠️
- 카카오페이 개발자 센터에서 애플리케이션을 등록하고,
Secret Key (Dev)를 발급받아 API 호출 시 사용해야 합니다. 🔑
- '결제 준비' API 요청 시, 결제 성공/실패/취소 시 리다이렉트될 URL은 반드시 실제 웹페이지 주소여야 하며, 앱 스킴을 사용하면 에러가 발생합니다. 🌐
- '결제 준비' API 응답으로
tid(결제 고유 번호)와 next_redirect_mobile_url(카카오톡 결제 페이지 URL)을 받아 처리합니다. ➡️
next_redirect_mobile_url을 url_launcher로 열어 카카오톡 앱을 통해 결제 페이지를 띄우며, 카카오톡 미설치 시 설치 유도 화면이 나타납니다. 📱
- 카카오페이 결제 화면에서 사용자가 인증을 완료하면, 리다이렉트 URL에 포함된
pg_token을 추출하여 '결제 승인' API 호출에 사용합니다. 📝
- 최종 결제 승인을 위해
tid와 pg_token을 '결제 승인' API에 전달하여 결제를 완료합니다. ✅
- 결제 후 앱으로 다시 돌아오기 위한 커스텀 웹 리다이렉트 페이지(예: Firebase Hosting 활용)를 구축하여 앱 스킴을 통해 앱을 열도록 구현해야 합니다. 🚀
- 실제 결제 테스트는 카카오톡이 설치된 물리적 핸드폰에서만 가능하며, 시뮬레이터로는 진행할 수 없습니다. 🧪
- 개발 중 발생할 수 있는 일반적인 에러 유형과 해결 방안이 제공되어 문제 해결에 도움을 줍니다. ⚠️