반응형

안드로이드에서 카카오페이 단건결재 API 연동 시

 

웹뷰를 이용해야하고, 결제 준비를 통해 Response 값을 받았을 경우에 해당함

 

 

Response 를 통해 받은 next_redirect_app_url 를 웹뷰에서 통해 호출해야함

 

public boolean shouldOverrideUrlLoading  에 아래 코드를 추가하면 됨

 

//// 카카오페이
if (url.startsWith("intent://kakaopay/pg")) {

  Intent intent = null;

  try {
  
    intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
    Uri uri = Uri.parse(intent.getDataString());

    startActivity(new Intent(Intent.ACTION_VIEW, uri));
    return true;

  } catch (URISyntaxException ex) {

  	return false;

  } catch (ActivityNotFoundException e) {

    if (intent == null) return false;

    //// 앱이 설치되어 있지 않으면 구글 플레이스토어로 연결함
    String package_name = intent.getPackage();	//// intent.getPackage() 대신 해당 패키지명을 추가하면 됨

    if (package_name != null) {
    
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + package_name)));
      return true;
      
    }

    return false;
    
  }

}

 

비슷한 예제는 많은데, 제대로 실행된 경우는 이 소스밖에 없었음

 

몇시간을 검색하고 테스트해서 찾아낸 결과임

 

출처 : github.com/iamport/iamport-kakao-android-gradle

반응형

+ Recent posts