개발연동 문의
안녕하세요.
카드자동결제 테스트 중인데요.
카드 등록 후 authKey로 카드 자동 결제 빌링키 발급 요청 부분에서 (v1/billing/authorizations/issue)
존재하지 않는 정보라고 나오네요.
customerKey는 토스측에서 발급해주는 키인가요~?
혹시 발급해주는 키라면
로그인 하고 찾아봐도 어디있는 키인지 알 수가 없어서요.
어디서 확인할 수 있을까요?.


18 Replies
customerKey 는 연동 하신 가맹점에서 생성하여 전달 하는 값 입니다.
고객 구분자를 생성 / 관리 하시고, 이를 토스페이먼츠에 넘겨주시면 됩니다.
가맹점에서 생성이면 제가 임의로 생성하면 되는걸까요~!?
네, 그 값으로 빌링키가 연결되는 구조이니
발급되는 빌링키를 그 값하고 같이 관리 하고, 추후 빌링키로 결제 요청시에 활용하시면 됩니다.
네 그런데 v1/billing/authorizations/issue 넘기면 오류가 날까요?ㅠ
https://api.tosspayments.com/v1/billing/authorizations/issue?customerKey=hhshin_85&authKey=bln_WpL5BRNRA
이렇게 POST로 던지면 존재하지않는 정보라고 떨어지더라구요.
query param 으로 넘기고 계신가요?
body 로 넘겨보시겠어요?
{
"message": {
"timestamp": "2022-12-15T02:52:30.437+00:00",
"status": 415,
"error": "Unsupported Media Type",
"path": "/v1/billing/authorizations/issue"
}
}
바디로 넘기면 이렇게 나오네요.!
body 넘겨야 하나요~!?
지금 빌링키 발급 프로세스를 어떻게 진행하고 있는지를 하나씩 확인 해볼게요
auth 키로 빌링키 발급이니까, 아래 순서 입니다.
1. 빌링키 발급 결제창을 호출 한다.
2. 결제창에서 결제수단 정보를 입력 한다.
3. successUrl 로 리다이렉션 되면서, 토스페이먼츠가 query param 으로 customerKey, authKey 를 응답한다.
4. 연동하는 개발자는 customerKey , authKey 를 parse 한다
5. /v1/billing/authorizations/issue API 에 body 로 authKey customerKey 를 보낸다.
6. API 응답으로 빌링키를 받는다.
여기에서 놓치신 부분이 어디 일까요?
5. /v1/billing/authorizations/issue API 에 body 로 authKey customerKey 를 보낸다.
이부분 입니다. 다시 한번 해보겠습니다.!
이부분 입니다. 다시 한번 해보겠습니다.!
bln_WpL5BRNRA 이 authkey 를 10시 41분에 받으신것으로 보이는데요.
이걸 받으실때 사용하신 clientkey 와 실제 빌링키를 요청하시는 secretkey 가 다른것 같습니다.
'clientKey': 'test_ck_Kma60RZblrqQDkW17xrwzYWBn14M', 'secretKey': 'test_sk_MGjLJoQ1aVZNMmxX5PVw6KYe2RNg'
이렇게 키를 맞춰서 사용해 주시기 바랍니다.
아하 시크릿키도 같이 넘겨야 하는군요.!
네 모든 서버쪽 API에는 시크릿키가 들어간다고 생각해 주시면 됩니다
클라이언트 쪽에 클라이언트키가 노출되기 때문에, 보안 문제를 막기 위해서 입니다.
개발연동 문서에는 시크릿키가 없던데 ..ㅎㅎ😂
tosspayments 테스트 API 넣으면 200 잘떨어지는데,
테스트 서버에서 curl로 날리면 " 존재하지 않는 정보 입니다. "
떨어지네요.^^;
secretKey 도 body에 같이 추가하는건가요!~?

API 인증에 대해서 먼저 아셔야 할것 같아요
Header Authorization Basic 에 대해서 구글에서 찾아보시면 될거고, 토스페이먼츠 온라인 문서에도 헤더 인증에 대해서 설명 된것 있었어요
인증 | 토스페이먼츠 개발자센터
토스페이먼츠 API 사용에 필요한 인증 방식을 알아봅니다.
이내용 참고하시기 바랍니다.
네 해결 했습니다. 감사합니다.!~
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.