kashia6248
kashia624812mo ago

자동결제 환불 문의드립니다

자동결제를 잘 이용하고 있습니다. 그런데 환불을 하려고 https://api.tosspayments.com/v1/payments/${paymentKey}/cancel, 이 엔드 포인트로 요청하고 있는데, 자동결제와 같이 헤더에 인증키를 실어 보냈는데도 unauthroized, 인증되지 않은 키라고 응답이 와서요! 혹시 또 다른 계약사항이 필요한가요?
36 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
유부장
유부장12mo ago
paymentKey 전달 주시면 로그 확인 해보겠습니다
kashia6248
kashia6248OP12mo ago
ZDBYqJLQ1GKNbdOvk5rkDGPYLBAp4z8n07xlzmj6R9e4oPpE paymentKey입니다!
유부장
유부장12mo ago
요청한 날짜가 언제 인가요?
today.lastday
today.lastday12mo ago
다른 계약이 필요한 것은 아니고 결제가 발생했을 때와 취소할 때 서로 다른 키를 사용하고 있습니다. 결제 발생했던 키와 동일한 키를 이용하여 취소하셔야 합니다. 거래는 2/20일 발생한 것이군요.
kashia6248
kashia6248OP12mo ago
아네네! 어떤 키를 말씀하시는걸까요??
kashia6248
kashia6248OP12mo ago
No description
kashia6248
kashia6248OP12mo ago
이 건을 결제하고, 응답으로 온 paymentKey인 ZDBYqJLQ1GKNbdOvk5rkDGPYLBAp4z8n07xlzmj6R9e4oPpE 걸로 환불을 진행하는 게 아닌건가요??
today.lastday
today.lastday12mo ago
맞습니다. 해당 결제가 발생한 mid의 secretKey를 이용하시면 됩니다. 다른 secretKey를 이용하여 취소 하기 때문에 취소 요청시 에러 발생한거에요.
kashia6248
kashia6248OP12mo ago
아 이해했습니다! secretKey가 달랐나보네요... 늦은 시간에 감사합니다!
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
kashia6248
kashia6248OP12mo ago
방금 새로 다시 결제하고 테스트를 해봤는데 동일한 secretKey임에도 에러가 나네요...어디가 잘못된걸까요... @박수습
김차장
김차장12mo ago
결제에 사용된 주문번호 전달부탁드립니다
kashia6248
kashia6248OP12mo ago
toss_9638-202403041948-9f659295 입니다!
김차장
김차장12mo ago
k0A2Ga1QqXjExPeJWYVQqa7oO1eAgqV49R5gvNLdzZwO6oKl 결제는 잘 되었구요 취소가 실패하셨나요?
kashia6248
kashia6248OP12mo ago
네네 그렇습니다! paymentKey는 k0A2Ga1QqXjExPeJWYVQqa7oO1eAgqV49R5gvNLdzZwO6oKl https://api.tosspayments.com/v1/payments/${paymentKey}/cancel, 여기로 포스트 요청했습니다!
김차장
김차장12mo ago
취소들어온게 없는데요, 취소시 request body 알려주시겠어요? curl 형태로 주셔도 좋습니다
kashia6248
kashia6248OP12mo ago
'POST /v1/payments/k0A2Ga1QqXjExPeJWYVQqa7oO1eAgqV49R5gvNLdzZwO6oKl/cancel body는 "data":{"cancelReason":"구독취소","cancelAmount":32900}}' 응답은 data: { code: 'UNAUTHORIZED_KEY', message: '인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다.', data: null } 이렇게 왔습니다!
today.lastday
today.lastday12mo ago
헤더에 키는 아래 가이드대로 하셨나요? https://docs.tosspayments.com/resources/glossary/basic-auth
Basic 인증 | 토스페이먼츠 개발자센터
Basic 인증 방식은 가장 기본적인 HTTP 인증 방식이에요. 인증 정보로 사용자 ID, 비밀번호를 사용해요.
today.lastday
today.lastday12mo ago
Authorization: Basic base64({USERNAME}:{PASSWORD}) USERNAME 부분에 secretKey를 넣으셔서 base64인코딩을 해주셔야 합니다.
kashia6248
kashia6248OP12mo ago
네네 노드 js환경에서 const key = ${envs.tossSecretKey}:; const base64 = new (Buffer as any).from(key).toString('base64'); 이렇게 해서 결제는 성공했거든요 키가 잘못되었다면, 결제도 안되어야하지 않나요?
김차장
김차장12mo ago
키가 잘못되었다면 결제도 안되는게 맞아요, 로그를 좀 더 찾아볼게요
kashia6248
kashia6248OP12mo ago
네네 감사합니다! 상점아이디는 bill_pwolr87vl 입니다!
김차장
김차장12mo ago
로그 찾기가 어렵네요 이전에 있었던 취소는 상점관리자에서 하셨나요?
kashia6248
kashia6248OP12mo ago
네네 그렇습니다 응답도 왔는데 로그가 왜 없을까요,,?
김차장
김차장12mo ago
응답은 지금도 code: 'UNAUTHORIZED_KEY', 로 받으시나요?
kashia6248
kashia6248OP12mo ago
네 맞습니다! 401이에요
유부장
유부장12mo ago
header 에 어떤 것들이 있는지 전부 알려주시겠어요
kashia6248
kashia6248OP12mo ago
status: 401, statusText: 'Unauthorized', headers: Object [AxiosHeaders] { date: 'Mon, 04 Mar 2024 11:27:20 GMT', 'content-type': 'application/json', 'content-length': '123', connection: 'keep-alive', vary: 'Origin,Access-Control-Request-Method,Access-Control-Request-Headers', 'x-tosspayments-trace-id': '9cd5ba0ca8a3585f71395d2bc50868dc', 'x-envoy-upstream-service-time': '2', server: 'istio-envoy' }, 이게 응답헤더이고
김차장
김차장12mo ago
찾았습니다
kashia6248
kashia6248OP12mo ago
아 넵넵
김차장
김차장12mo ago
{"headers":{"Authorization":"Basic XXXXXXXXXXXXXXXXXXXXXX"},"data":{"cancelReason":"구독취소","cancelAmount":32900}} 이런식으로 body 에 들어왔어요 header 값을 header 에 배치 해주셔야해요
kashia6248
kashia6248OP12mo ago
아 헐... 제가 바보였네요...ㅠㅠㅠㅠ 죄송합니다
김차장
김차장12mo ago
힘내시고 다시한번 ㅎㅎ
kashia6248
kashia6248OP12mo ago
아주 잘되었습니다... 늦은시간까지 정말 감사합니다^^
김차장
김차장12mo ago
좋은 서비스 만드시길 바랍니다. !!

Did you find this page helpful?