안드로이드 하이브리드앱 딥링크 <category android:name="android.intent.category.DEFAULT" /> 관련 건

결제 관련해서 하이브리드 앱에서 카드사별로 딥링크 중복 호출으로 인해 결제 오류가 발생하는 상황이 있어서 문의 드립니다. 안드로이드에서만 발생하는 문제로 현재 타사 PG 나이스페이, 이니시스 등 문제가 없는데 토스에서만 발생하는 걸로 보입니다. 앱에 딥링크 로직이 들어가 있는데 결제 처리 과정에서 해당 딥링크 로 중복 들어와서 문제가 생깁니다. 아래는 앱 소스에 딥링크 로직 첨부 드립니다. AndoridManifest.xml 관련 파일 내용 <activity ...... android:exported="true"> ...... <intent-filter android:autoVerify="true" > <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="www.ewangmart.com" /> </intent-filter> <intent-filter > <action android:name="android.intent.action.VIEW" /> <!-- <category android:name="android.intent.category.DEFAULT" /> --> 여기서 발생. <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="ewangmartapp" /> </intent-filter> </activity> 결제딥링크 외에 광고및다른용도로 인해 딥링크를 실행하기 위해서는 3개의 소스가 있어야 합니다. android.intent.action.VIEW , android.intent.category.DEFAULT, android.intent.category.BROWSABLE 3개의 소스가 있으면 정상작동합니다. EX) ewangmartapp://deeplink/mw/etc/promotion_list.do 이렇게 하면 웹뷰에서 https://www.ewangmart.com/etc/promotion_list.do 이동하도록 되어 있습니다. 하지만 결제쪽에서도 ewangmartapp:// 를 사용합니다. 문제는 <category android:name="android.intent.category.DEFAULT" /> 를 사용하면 특정 카드사나 특정 증권사에서 중복으로 타겟으로 잡아 웹뷰를 호출합니다. 어떤 카드사/증권사는 최종적으로 결제하기 버튼 클릭해야 타겟을 잡아 웹뷰를 호출하고 어떤 카드사/증권사는 (예로 국민카드 발생) 비빌번호 다 입력후 결제완료 버튼 클릭하기도 전에 타겟을 잡는데 앱을 처음부터 실행합니다. (안드로이드 내부 오류가 없음) 그리고 앱을 다 실행한후 결제앱에서 결제완료 버튼을 클릭하면 자사몰앱 웹뷰 링크는 타고 결제완료가 됩니다. 현재는 android:scheme="ewangmartapp" 여기서 <category android:name="android.intent.category.DEFAULT" /> 제외 하였습니다. 제외하면 결제하는데에 문제는 없습니다. 광고 딥링크를 할수 없는 상태입니다. 위와 같은 문제가 있습니다. 이런 딥링크와 관련해서 문제가 발생하는 케이스들이 있는지 있다면 어떻게 해결을 하면 되는지 알려주시면 감사하겠습니다.
7 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
Kimoon Lee
Kimoon Lee4w ago
저희쪽 결제창 요청할때 appScheme 을 보내고 계신가요?
지율지현천사
넵 뭐하느라.. 답변이 늦었네요 , appScheme : 'ewangmartapp://' 이렇게 보내고 있습니다.
Kimoon Lee
Kimoon Lee4w ago
우선 appScheme 보내지 않고 어떻게 동작하는지 확인부탁드립니다. android 의 경우 appScheme을 보내지 않아도 동작에는 크게 이상이 없어서요.
지율지현천사
안드로이드 일 경우 category android:name="android.intent.category.DEFAULT 포함 appScheme 제거해서 해봤는데 정상적으로 결제완료 됩니다. 다른카드사도 동일한건가요? appScheme은 아이폰앱만 필요한건가요?
Kimoon Lee
Kimoon Lee4w ago
appScheme 는 카드사앱에서 결제 완료후 가맹점앱으로 이동하기 위한 파라미터인데, 최근의 안드로이드는 스택에 쌓여있는 이전 앱으로 자동이동하도록 되어 있어 appScheme 가 의미가 없습니다. 지금 증상을 보면 appScheme 으로 강제 이동하면서 앱의 default 페이지도 이동하는 것 같아서 보내지시 않도록 가이드 드린겁니다. 안드로이드에서는 다른카드사도 이제 이슈 없으실거에요. 아이폰에서는 appScheme 를 보내주시면 되는데, 실제 이동을 지원하는 카드사도 제한적이고 일부 PG 사의 경우 자동으로 앱이동을 하지 않는 경우도 있다보니 아이폰 사용자는 좌측 상단을 클릭해서 이전앱으로 돌아가는 것을 자연스럽게 생각하는 경향이 있어서 아이폰에서도 appScheme 를 보내시지 않아도 동작에는 크게 없습니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?