연동하기
앱·웹뷰에서 결제
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 또는 지원 문의로 알려주세요.