카카오페이 테스트결제(결제승인) 관련해서 질문드리고싶습니다

안녕하세요^^
저는 현재 학교 과제 관련해서 안드로이드 앱에 카카오페이 테스트결제 기능을 추가할려고 합니다.
현재 결제준비/대기 까지는 구현하였는데 결제승인 프로세스를 구현하려고 몇날 몇일을
구글링을 하면서 해보았지만 잘 되지가 않아서 이렇게 질문을 드립니다 ㅠㅠ

KakaoTalk_20200610_022406007_03
현재 [주문중이던 앱/웹 브라우저로 이동하면 결제가 완료됩니다] 라는 문구가 나오는 페이지에서 확인버튼을 누르면 그냥 종료됩니다.

그래서 결제승인 API를 이용해서 카카오톡에 결제완료라는 카톡이 오는 것 까지 구현하고 싶습니다.
image
위 코드가 결제준비 및 결제 대기 까지의 코드이며 여기까지는 잘 작동합니다.

그런데 결제승인을 하는 단계에서 어떻게 해야 하는지 감을 전혀 못 잡겠습니다.
pg_token 을 어떤식으로 이용해서 request를 보내야하는건지
response는 어떤식으로 받아야하는건지 (next_redirect_mobile_url로 받아야하는건가요? ㅠㅠ) 감을 못 잡겠습니다.
image
위 페이지가 뜹니다. pg_token값이 붙은 url값이 뜨긴하는데 이걸 어떻게 이용해야하는지 모르겠습니다 ㅠㅠ
해당 pg_token값을 tid와 함께 결제승인 request에 argument로 넣어서 다시 POST해야 하는 건가요?

질문 수준이 낮고 구체적이지 못한 점 인지 하고 있지만 제가 실력이 너무 부족하다 보니 전체적인 그림조차 잘 못그리겠습니다.
도와주시면 정말 정말 감사하겠습니다.

1개의 좋아요

안녕하세요. 카카오페이입니다.

카카오페이에 관심을 갖고 문의를 주셔서 감사드립니다.
카카오페이의 결제연동을 위해서는 프로그램도 중요하지만, 결제 Flow를 이해해주셔야합니다.

  1. 결제 준비 요청 (~/ready)
    1.1 request
    ㄴ 가맹점 -> 카카오페이
    ㄴ 카카오페이 결제를 위산 시작단계
    ㄴ 결제 금액, 상품명등을 파라미터로 전송
    ㄴ 사용자가 인증완료, 인증취소 등을 받고자하는 url을 전송 (approve_url, cancel_url, fail_url)
    1.2 response
    ㄴ 요청이 정상일경우 응답이 제공
    ㄴ 거래일련번호 (TID) 와 PC,모바일,앱에서 사용할 url을 제공

  2. 응답받은 url을 용도에 맞게 오픈
    ㄴ PC의 경우 팝업등을 통해 해당 url을 처리할경우 QR 또는 TMS 발송이 오픈
    ㄴ 모바일/앱의 경우 사용자의 모바일기기에서 카카톡->페이가 호출되는 앱스킴이 제공

  3. 사용자 인증
    ㄴ QR / TMS 등으로 통해 사용자는 카카오페이가 호출되고 결제수단(머니,카드)를 선택하여 비밀번호 인증처리

  4. 정상적으로 인증이 완료
    ㄴ 1번요청에서 전달해준 approve_url로 pg_token 값을 파라미터로 붙여주어 인증이 완료되었음을 callback 함.
    ㄴ PC/모바일에서 카카오페이가 인증완료되었음을 가맹점(요청자)는 알지 못하기 때문에 callback을 해주는것입니다.

  5. 최종승인요청(~/approve)
    ㄴ 콜백받은 approve_url은 가맹점(요청자)의 url이기 때문에 해당 url에서 넘겨받은 pg_token 값을 저장한후,
    1.2에서 응답받은 거래일련번호(TID)와 함께 최종승인요청


5번의 최종승인요청을 아직 구현하지 못하신듯 한대, approve_url의 pg_token 값을 저장한후,
승인요청 (~/approve)를 요청해야 정상승인 프로세스가 완료됩니다.

감사합니다.

바쁘실텐데 친절한 답변 정말 정말 감사합니다 ㅠㅠ

한가지만 더 여쭈어봐도 될까요? ㅠㅠ

최종승인요청을 한 후 response값을 받을때 결제준비의 경우 next_redirect_mobile_url 로 받았는데

결제승인의 경우 어떤 방식으로 받아야하는건가요? ㅠㅠ

안녕하세요^^ 대댓글에 답변이 없으셔서 아마 너무 바쁘셔서 그런것이라고 짐작은 하고 있지만

2주가 넘게 이 문제에 매달렸는데 아무리 구글링을 해도 도저히 구현이 어려워서 답답한 마음에 다시 한번 댓글 달아봅니다ㅠㅠ

안드로이드 앱에서 flutter 모듈로 카카오페이를 구현하였는데 마지막 결제승인 api를 호출하고 받을때

어떤식으로 받아야하는지 도저히 모르겠습니다. ㅠㅠ
image
결제준비코드입니다. 이를 바탕으로
image
이런식으로 결제승인api호출을 하려고 했습니다. ㅠㅠ

제가 원하는 것은 제 테스트결제를 완료한 이후에 카카오톡 계정으로 결제가 완료되었다는 카카오톡이 날라왔으면 하는데

approval_url에서 해당 내용을 어떻게 처리해줘야 하는건지 모르겠습니다.

즉 결제승인api request에 대한 response값을 어떻게 처리해야 카카오톡으로 결제내역 톡이 오는건지 모르겠습니다.

혹시 해당 기능은 pc버젼만 가능한건가요? 아무리 레퍼런스를 찾아보아도 테스트결제가 완료된 이후에

네이티브앱에서 결제승인(완료) 카카오톡이 날라오는 레퍼런스를 찾지를 못하겠어서

혹시 pg사가 없이 단순테스트시에는 원래 단순히 string 형태의 response만 받을수있는건지 의문이 듭니다.

바쁘신거 알지만 너무 답답한 마음에 다시 한번 글을 남깁니다. 감사합니다.

1개의 좋아요

안녕하세요. 카카오페이입니다.

우선 결제승인(~/approve)요청시 정상승인이되면 200응답과 함께 json으로 결제정보에 대한 결과가 제공됩니다.
카카오톡으로 발송되는 결제완료TMS는 가맹점에서 처리하시는게 아닌 정상승인시 카카오페이에서 자동발송되게 됩니다.
만약 가맹점에서 추가로 결제완료나 주문완료에 대한 메시지발송을 원할경우에는 , 정상승인에 대한 응답을 받으신후 발송하시면됩니다.

프로그램으로 구현하시기 전에, api를 요청하는 tool로 request/response가 오는 형태를 받아보신후, 프로그램을 개발하시면 좀더 이해하시기 수월하실듯 합니다.
대표적으로 postman을 비롯한 많은 tool이 존재하니 참고부탁드립니다.
추가적으로 당시에서 제공되는 연동 sample 코드가 java 와 php 버전이 존재합니다.
하기메일로 요청주시면 전달드리도록 하겠습니다.
kakaopay_pg@kakaocorp.com

감사합니다.