연동하기

앱·웹뷰에서 결제

iOS·Android 앱에서 결제 페이지를 여는 방법과 주의점입니다.

결제 페이지는 링크 방식이므로 앱에서는 두 가지 중 하나를 씁니다.

방식장점주의
외부 브라우저(Safari/Chrome)로 열기카드사 앱카드·카카오페이 앱 전환이 가장 안정적결제 후 앱 복귀는 returnUrl에 앱 딥링크(유니버설 링크)를 지정
인앱 웹뷰(WKWebView/WebView)로 열기앱 안에서 흐름 유지아래 웹뷰 설정 필수

웹뷰 설정

  • JavaScript 활성화, 쿠키 허용, 팝업(새 창) 허용.
  • 외부 앱 스킴 처리 — 카드사 앱카드(kakaotalk://, ispmobile://, 각 카드사 스킴)와 카카오페이 앱으로 전환하는 intent://·커스텀 스킴 요청을 웹뷰가 가로채 OS에 넘겨야 합니다. Android는 shouldOverrideUrlLoading에서 intent: 파싱 후 startActivity, iOS는 decidePolicyFor에서 UIApplication.open.
  • 앱이 설치되지 않은 경우 스토어로 보내는 처리(Android intent의 browser_fallback_url).
  • 결제 완료 후 returnUrl로 이동하면 웹뷰를 닫고 앱 화면에서 서버가 확정한 주문 상태를 보여 줍니다.

승인 확정은 서버에서

웹뷰의 URL 변화나 returnUrl 도착을 결제 성공으로 취급하지 마세요. 앱은 서버의 주문 상태 API를 폴링하고, 서버는 콜백 + 조회로 확정합니다.

문자·알림톡으로 보내는 경우

앱을 만들지 않아도 됩니다. 링크를 문자·알림톡으로 보내면 고객은 휴대폰 브라우저에서 결제합니다. 청구서 API가 발송까지 처리합니다.

문서에 없는 내용이나 오류는 bellight@goatheaven.com 또는 지원 문의로 알려주세요.