본문으로 건너뛰기

딥링크 (Deep Link)

딥링크(Deep Link)란 모바일 디바이스에서 특정 앱을 실행시키거나, 앱 내부의 특정 화면(Page)으로 이동시키기 위해 사용하는 URI(Uniform Resource Identifier) 체계입니다.

결제 시스템에서는 앱투앱(App-to-App) 결제 시 필수적으로 사용됩니다. 쇼핑몰 앱에서 결제 버튼을 눌렀을 때, 카드사 인증 앱(ISP, KB Pay 등)을 호출하거나, 인증 완료 후 다시 쇼핑몰 앱의 결과 화면으로 복귀할 때 이 기술이 사용됩니다.


⚙️ 동작 방식 (App-to-App Flow)

모바일 결제 연동 시 딥링크는 호출(Invoke)과 복귀(Return)의 양방향 통신 역할을 합니다.


개발자는 OS 환경에 따라 두 가지 방식을 모두 고려해야 합니다.

구분URL Scheme (Custom Scheme)Universal Link / App Link
형식myapp://path?query=valuehttps://myapp.com/path
특징설정이 간편하고 모든 앱에서 지원함표준 웹 프로토콜(HTTP)을 사용하여 보안이 강력함
장점구현이 쉽고 직관적임앱이 없으면 자동으로 웹페이지로 연결됨 (Fallback)
단점다른 앱과 스키마가 겹칠 수 있음 (Collision)서버 설정(apple-app-site-association 등)이 필요하여 복잡함
결제 활용대부분의 국내 카드사/PG 앱이 사용일부 글로벌 서비스 및 최신 앱에서 사용

💻 개발자 팁 (Integration Checkpoints)

1. Android 11+ 패키지 가시성 (Queries)

Android 11(API 30) 이상부터는 보안 정책 강화로 인해, 내 앱에서 다른 앱(카드사 앱)을 호출하거나 설치 여부를 확인하려면 AndroidManifest.xml<queries> 태그를 선언해야 합니다.

  • 증상: 앱이 설치되어 있는데도 Package not found 에러가 발생하며 마켓으로 이동함.
  • 해결: PG사에서 제공하는 패키지 리스트를 매니페스트에 추가해야 합니다.
<queries>
<package android:name="kvp.jjy.MispAndroid320" /> <package android:name="com.kbcard.cxh.appcard" /> </queries>

2. iOS 스키마 화이트리스트 (LSApplicationQueriesSchemes)

iOS 역시 Info.plist에 호출하려는 외부 앱의 스키마를 미리 등록해야 canOpenURL 메소드가 정상 작동합니다.

  • Key: LSApplicationQueriesSchemes (Array)
  • Value: ispmobile, kb-acp, mpocket.online.ansimclick

3. 마켓 이동 처리 (Fallback)

딥링크 호출 실패(앱 미설치) 시, 사용자 경험이 끊기지 않도록 반드시 앱 스토어/플레이 스토어 설치 URL로 이동시키는 예외 처리가 필요합니다.