카카오페이 연결 질문입니다

초보적인 질문 죄송합니다ㅠ 카카오페이 연결하는데 애먹고 있는데요,
안드로이드 자바 이용해서 만들고 있는 중이고, php 같은 서버를 이용하지 않고 자바 코드에서 카카오 서버로 바로 필요한 파라미터를 전달하는 방식으로 구현하려고 합니다.
아래와 같은 코드를 통해 서버와 연결하고 있는데요, 로그캣을 확인해보니 400에러가 뜨고 있습니다. 즉 어드민 키는 연결이 되었지만 CID와 같은 파라미터들이 정상적으로 안오고 있다고 해석했는데 제가 사용한 파라미터 형식에 문제가 있는건가요? 아니면 http 통신 자체에 문제가 있는건가요? 답변 주시면 감사하겠습니다.

 public class RequestHttpURLConnection {

    public String request(String _url, ContentValues _params) {

        HttpURLConnection urlConn = null;
        StringBuffer sbParams = new StringBuffer();

    sbParams.append("cid").append("=").append("TC0ONETIME");
    sbParams.append("partner_order_id").append("=").append("aa").append("&");
    sbParams.append("partner_user_id").append("=").append("aa").append("&");
    sbParams.append("item_name").append("=").append("aa").append("&");
    sbParams.append("quantity").append("=").append("1").append("&");
    sbParams.append("total_amount").append("=").append("2").append("&");
    sbParams.append("tax_free_amount").append("=").append("0").append("&");
    sbParams.append("approval_url").append("=").append("https://kapi.kakao.com/v1/payment/approve").append("&");
    sbParams.append("cancel_url").append("=").append("https://kapi.kakao.com/v1/payment/cancel").append("&");
    sbParams.append("fail_url").append("=").append("https://kapi.kakao.com/v1/payment/fail");
        try {
            URL url = new URL(_url);
            urlConn = (HttpURLConnection) url.openConnection();

            urlConn.setRequestMethod("POST");
            urlConn.setRequestProperty("Authorization", "KakaoAK ce3e353ebd992fbabaa8eafd68ded58e");
            urlConn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");


            PrintWriter pw = new PrintWriter(new OutputStreamWriter(urlConn.getOutputStream(), "UTF-8"));
            pw.write(sbParams.toString());
            pw.flush();
            int responseCode = urlConn.getResponseCode();
            System.out.println(responseCode);

            BufferedReader reader = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), "UTF-8"));
            StringBuilder builder = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                builder.append(line);
            }
            System.out.println(reader);

        } catch (MalformedURLException e) { // for URL.
            e.printStackTrace();
        } catch (IOException e) { // for openConnection().
            e.printStackTrace();
        } finally {
            if (urlConn != null)
                urlConn.disconnect();
        }

        return null;

    }
}

http 응답코드가 200이 아닐경우,
별도 에러코드와 메시지가 json으로 제공됩니다.
해당 정보를 확인부탁드립니다.

에러코드 확인 후 next_redirect_mobile_url을 웹뷰에 띄워주는 단계까지는 마쳤습니다. 매뉴얼을 읽어보니 사용자가 결제수단을 정한 이후에 approval_url 로 redirect 되면서 pg token 값이 함께 넘어온다는 것을 확인했는데요, 안드로이드 내부에서 redirect 되는 시점에서의 redirect 주소 확인이 가능한가요?? 또한 결제완료 버튼을 누르는 이벤트가 일어날때 결제완료를 위해 필요한 파라미터 값을 넘겨줘야할텐데 안드로이드 내부에서 결제 완료를 누르는 이벤트를 인식이 가능한지 궁금합니다,