결제취소 요청 시 401 UNAUTHORIZED_KEY 에러가 떨어집니다.
안녕하세요. 플러터로 개발중 아래 코드로 취소 요청을 했는데 401 에러가 떨어집니다.
시크릿키는 test_sk_jkYG57Eba3GxQLvaaZzVpWDOxmA1 입니다.
감사합니다.
final response = await http.post(
Uri.parse(
'https://api.tosspayments.com/v1/payments/$paymentKey/cancel'),
headers: <String, String>{
//'Basic ${시크릿키+: 를 base64로 인코딩한 값}'
'Authorization':
'Basic dGVzdF9za19qa1lHNTdFYmEzR3hRTHZhYVp6VnBXRE94bUExICsgOg==',
'Content-Type': 'application/json',
},
body: jsonEncode(<dynamic, dynamic>{
'cancelReason': 'dropdownValue',
// 'cancelAmount': cancelAmount,
// 'refundableAmount': cancelAmount,
}),
);
11 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
+ 빼고 인코딩 하시기 바랍니다
key랑 : 만 인코딩하셔야해요
+ 텍스트는 인코딩하시면 안됩니다
안녕하세요 +는 빼고 인코딩 한거 같은데 잠시만요 인코딩한거 붙여드리겠습니다.
echo -n 'test_sk_jkYG57Eba3GxQLvaaZzVpWDOxmA1' + ':' | base64
dGVzdF9za19qa1lHNTdFYmEzR3hRTHZhYVp6VnBXRE94bUExICsgOg==
인코딩한 값위에 붙여주셨는데
디코딩해보시기 바랍니다.
Base64 Decode
Base64 Decode and Encode - Online
Decode from Base64 format or encode into it with various advanced options. Our site has an easy to use online tool to convert your data.
여기 그대로 넣어보세요~!
오 test_sk_jkYG57Eba3GxQLvaaZzVpWDOxmA1 + : 이렇게 나오네요
진짜 +가 있었네요 감사합니다. 다시 해보겠습니다
인증 | 토스페이먼츠 개발자센터
토스페이먼츠 API는 일반적으로 인증에 시크릿 키를 사용합니다. Basic 인증 헤더에 시크릿 키를 인코딩해서 추가하는 방법을 알아봅니다.
여기 확인해보세요~!
안녕하세요. 변경된 키로 취소하니깐 403 NOT_CANCELABLE_PAYMENT 응답이 오는데 해당건은 테스트 키라서 그런거겠죠?
아 아닙니다. 결제승인중에 authorization 키도 잘못되었었네요
키 변경하고 새로 결제한 것은 취소가 잘 됩니다. 감사합니다~!
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.