오늘만산다
오늘만산다5mo ago

인증 토큰 발급 오류

안녕하세여 어제 알려주신대로 리다이렉트 url을 설정하고 받은 값으로 Curl호출을 했는데 결과가 에러네요 확인 부탁드립니다 ㅠ
No description
48 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
유부장
유부장5mo ago
시크릿키 인코딩이 잘못되신게 아닌가 생각 되네요
Ayaan
Ayaan5mo ago
제가 체크해봤는데 잘되어계시네요
Ayaan
Ayaan5mo ago
No description
유부장
유부장5mo ago
네, 그럼 생각되는 다른 이슈는 더 어떤게 있으실까요?
Ayaan
Ayaan5mo ago
CK와 SK가 페어가 맞지않는거 아닐까 싶긴하네요 인코딩은 맞는거같은데....
유부장
유부장5mo ago
@오늘만산다 여기 쓰레드에 남겨지는 의견들 보시고, 의심되는 바 있으시면 알려주세요 그리고 문의 주실때는 저희가 값 복사할 수 있도록 값으로 주시고요
Ayaan
Ayaan5mo ago
유부장님도 로그 한번 확인해 주시겠어요? 저는 이 두경우 아닐까 생각합니다. - 헤더가 바디에 같이 들어가버리는 경우 - CK와 SK가 페어맞지 않는 경우
오늘만산다
오늘만산다5mo ago
복사해서 올릴게요! 잠시만요
Ayaan
Ayaan5mo ago
customerKey: WI8c_FxCM9pC4-1_amnai
오늘만산다
오늘만산다5mo ago
코드는 올릴수 없다고 나오네요;;
Ayaan
Ayaan5mo ago
시크릿키는 보안 상 올릴 수 없을겁니다. 커스터머키 값 제가 이미지보고 따라 쳤는데, 정확한지 컨펌만 부탁드려요
오늘만산다
오늘만산다5mo ago
statusCode: 401, error: '{"code":"UNAUTHORIZED_KEY","message":"인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다.","data":null}', options: { method: 'POST', uri: 'https://api.tosspayments.com/v1/brandpay/authorizations/access-token', header: { Authorization: 'Basic ', 'Content-Type': 'application/x-www-form-urlencoded' }, data: { grantType: 'AuthorizationCode', code: 'Yq7GWPVv9qnopjdZY73NE5vb', customerKey: 'WI8c_FxCM9pC4-1_amnai' }, callback: [Function: RP$callback], transform: undefined, simple: true, resolveWithFullResponse: false, transform2xxOnly: false },
Ayaan
Ayaan5mo ago
확인감사 합니다.
오늘만산다
오늘만산다5mo ago
Basic 뒤에만 지웠습니다
유부장
유부장5mo ago
API 호출 curl 전체 보내주세요. Authorization 양옆에 '' 이거 안넣는건 원래 스펙인가요? 'Authorization' : 'Basic ', 이게 아니라 Authorization: 'Basic ', 이렇게 수행하는 환경인가요?
Kimoon Lee
Kimoon Lee5mo ago
지금 사용하시는 secretkey 가 잘못되어 있는 것 같아요.
Ayaan
Ayaan5mo ago
네 그건 -가 붙어있을 떄만 넣으면 될겁니다. Content-Type은 -가 붙어있어서 ''를 넣어야합니다.
Kimoon Lee
Kimoon Lee5mo ago
정확히 요청하신 시간을 확인해주실수 있을까요?
Ayaan
Ayaan5mo ago
@오늘만산다
Kimoon Lee
Kimoon Lee5mo ago
뭔가 저희 서버쪽으로 요청이 온게 없어 보이네요.
오늘만산다
오늘만산다5mo ago
exports.getTossPaymentAuth = async (req, res) => { try { console.log("==================================== getTossPaymentAuth"); const { code, customerKey } = req.query; console.log(code, customerKey, TOSS_PAYMENT.authKey); const result = await request({ method: "POST", uri: ${TOSS_PAYMENT.url}/v1/brandpay/authorizations/access-token, header: { Authorization: "Basic " + TOSS_PAYMENT.authKey, "Content-Type": "application/x-www-form-urlencoded", }, data: { grantType: "AuthorizationCode", code, customerKey, }, }); console.log(result); console.log("==================================== getTossPaymentAuth"); return res.status(200).send(result); } catch (error) { console.error("getTossPaymentAuth error", error); return res.status(200).send("fail"); } }; Jun 14 12:08:51 - 호출 시간 입니당
이실장
이실장5mo ago
코드에 base64된 키가 포함되엉ㅆ어그래요 그부분 빼고 올리면 됩니다.
Kimoon Lee
Kimoon Lee5mo ago
application/x-www-form-urlencoded 왜 content-type 을 이걸로 올리시나요? application/json 으로 보내주세요.
오늘만산다
오늘만산다5mo ago
냥과장님 말씀주신것 이해했습니다 이실장님 알려주신건 어떤 부분인지 모르겠습니다 base64된 키를 지우라는 말씀이신지요 시크릿키 -> base64처리 후 인증서버 호출시 보내는것으로 이해 했는데 혹시 잘못 이해한걸까요 ? header: { Authorization: "Basic " + TOSS_PAYMENT.authKey, "Content-Type": "application/json", },
Ayaan
Ayaan5mo ago
아뇨 메시지 보내 주실 때 자꾸 시크릿키가 감지되어서 보내주신 메시지가 삭제되고있어서 base64키값 제거하고 여기에 올려달라는 의미입니다. @오늘만산다
오늘만산다
오늘만산다5mo ago
아.. 잠시만요
오늘만산다
오늘만산다5mo ago
No description
오늘만산다
오늘만산다5mo ago
제거 해도 자꾸 오류가 나네요...
오늘만산다
오늘만산다5mo ago
No description
오늘만산다
오늘만산다5mo ago
base64하기 전의 값을 달라고 하시는게 맞는거죠? Gv6LjeKD8a9nz1QRe7wN8wYxAdXy testgsk @Ayaan @냥과장 @이실장 확인한번 부탁드립니다
Kimoon Lee
Kimoon Lee5mo ago
@오늘만산다 님 지금 공유주신 코드를 보면 content-type 을 json 으로 안보내는것 같습니다.
Kimoon Lee
Kimoon Lee5mo ago
No description
Kimoon Lee
Kimoon Lee5mo ago
이부분 json으로 보내고 계신건지 확인해주세요.
오늘만산다
오늘만산다5mo ago
예 지금 코드를 바꿔서 테스트 중입니다
오늘만산다
오늘만산다5mo ago
content type 바꿔서 보냈더니 필수파라메터가 누락되었다고 하네요
No description
오늘만산다
오늘만산다5mo ago
@냥과장 { statusCode: 400, error: '{"code":"INVALID_REQUEST","message":"필수 파라미터가 누락되었습니다."}', options: { method: 'POST', uri: 'https://api.tosspayments.com/v1/brandpay/authorizations/access-token', headers: { Authorization: 'Basic ', 'Content-Type': 'application/json' }, data: { grantType: 'AuthorizationCode', code: 'Yq7GWPVv56mMqNgZ0G3NE5vb', customerKey: 'WI8c_FxCM9pC4-1_amnai' }, callback: [Function: RP$callback], transform: undefined, simple: true, resolveWithFullResponse: false, transform2xxOnly: false },
Kimoon Lee
Kimoon Lee5mo ago
필수 파라미터가 누락되었습니다 라고 에러 메시지를 받으셨나요? 저희가 응답드린 건 {"code":"EXPIRED_AUTHORIZATION_CODE","message":"만료된 인증코드 값입니다."} 이것으로 확인되는데요.
오늘만산다
오늘만산다5mo ago
성공했습니다~! 쉽지가 않네요 ㅠㅠ 감사합니다
오늘만산다
오늘만산다5mo ago
No description
오늘만산다
오늘만산다5mo ago
근데 이쪽에 즉시할인이랑 아래쪽에 공간이 비어있는건 왜그런걸까요 ?
Kimoon Lee
Kimoon Lee5mo ago
테스트 환경에는 기본적으로 즉시할인이 걸려있습니다. 라이브에서 에서는 실제 적용되는 경우에만 표시 될겁니다. 아래쪽 공간은 결제혜택이 보여지는 부분일텐데 역시 라이브에서 별도의 즉시할인이 없으시다면 안보이게 됩니다.
Ayaan
Ayaan5mo ago
키값은 올리시면 안되서 그렇게 나올겁니다..
오늘만산다
오늘만산다5mo ago
브랜드 페이 등록한 카드에 대한 빌링키는 어떻게 받아오나요? 저희 db 에 저장 해두고 정기결제때 결제를 시켜드려야 해서요
Ayaan
Ayaan5mo ago
정기결제 신청은 되어있으신가요?
이실장
이실장5mo ago
브랜드페이 API | 토스페이먼츠 개발자센터
브랜드페이에서 제공하는 API 엔드포인트(Endpoint)와 객체 정보, 파라미터, 요청 및 응답 예제를 살펴보세요.
이실장
이실장5mo ago
api목록 확인바랍니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.