안녕하세요.
카카오페이 단건결제 API를 사용하던 중 안드로이드에서 오류가 있어서 문의 남깁니다.
단건결제 API 중 결제 준비 API의 응답값으로 받은 next_redirect_mobile_url을 앱의 웹뷰로 보여주면 “결제를 위해 카카오페이를 열어주세요” 문구와 “눌러서 열기” 버튼이 있는 화면이 보입니다. 이때 “눌러서 열기” 버튼을 눌렀을 때 ios에서는 카카오톡 어플이 잘 실행되지만 안드로이드에서는 아무것도 실행되지 않는 오류가 발생합니다. 해당 버튼을 눌렀을 때 실행하는 URL을 확인해보았을 때 ios는 kakaotalk://kakaopay/pg? 형태로 시작하고 안드로이드는 intent://kakaopay/pg? 형태로 시작하였습니다. 안드로이드에서 카카오톡 앱이 실행되지 않는 오류를 해결할 수 있을까요? 해당 부분 내용은 아래에 첨부하겠습니다.
- 플러터 웹뷰 코드(일부)
onNavigationRequest: (NavigationRequest request) async {
final url = request.url;
if (url.startsWith('http:') || url.startsWith('https:')) {
return NavigationDecision.navigate;
} else {
final uri = Uri.parse(url);
if (await canLaunchUrl(uri)) {
launchUrl(Uri.parse(url));
} else {
print('uri 실패: $uri');
}
return NavigationDecision.prevent;
}
},
- AndroidManifest.xml 코드 (일부)
<!-- 카카오톡 스키마 처리 -->
<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="kakaotalk" />
</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="kakaopay" />
</intent-filter>
답변 기다리겠습니다.
감사합니다.