48 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
시크릿키 인코딩이 잘못되신게 아닌가 생각 되네요
제가 체크해봤는데 잘되어계시네요
네, 그럼 생각되는 다른 이슈는 더 어떤게 있으실까요?
CK와 SK가 페어가 맞지않는거 아닐까 싶긴하네요
인코딩은 맞는거같은데....
@오늘만산다
여기 쓰레드에 남겨지는 의견들 보시고, 의심되는 바 있으시면 알려주세요
그리고 문의 주실때는
저희가 값 복사할 수 있도록 값으로 주시고요
유부장님도 로그 한번 확인해 주시겠어요?
저는 이 두경우 아닐까 생각합니다.
- 헤더가 바디에 같이 들어가버리는 경우
- CK와 SK가 페어맞지 않는 경우
복사해서 올릴게요! 잠시만요
customerKey: WI8c_FxCM9pC4-1_amnai
코드는 올릴수 없다고 나오네요;;
시크릿키는 보안 상 올릴 수 없을겁니다.
커스터머키 값 제가 이미지보고 따라 쳤는데, 정확한지 컨펌만 부탁드려요
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
},
확인감사 합니다.
Basic 뒤에만 지웠습니다
API 호출 curl 전체 보내주세요.
Authorization 양옆에 '' 이거 안넣는건 원래 스펙인가요?
'Authorization' : 'Basic ',
이게 아니라
Authorization: 'Basic ',
이렇게 수행하는 환경인가요?
네 그건 -가 붙어있을 떄만 넣으면 될겁니다.
Content-Type은 -가 붙어있어서 ''를 넣어야합니다.
정확히 요청하신 시간을 확인해주실수 있을까요?
@오늘만산다
뭔가 저희 서버쪽으로 요청이 온게 없어 보이네요.
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 - 호출 시간 입니당코드에 base64된 키가 포함되엉ㅆ어그래요
그부분 빼고 올리면 됩니다.
application/x-www-form-urlencoded 왜 content-type 을 이걸로 올리시나요?
application/json 으로 보내주세요.
냥과장님 말씀주신것 이해했습니다
이실장님 알려주신건 어떤 부분인지 모르겠습니다
base64된 키를 지우라는 말씀이신지요
시크릿키 -> base64처리 후 인증서버 호출시 보내는것으로 이해 했는데 혹시 잘못 이해한걸까요 ?
header: {
Authorization: "Basic " + TOSS_PAYMENT.authKey,
"Content-Type": "application/json",
},
아뇨 메시지 보내 주실 때
자꾸 시크릿키가 감지되어서 보내주신 메시지가 삭제되고있어서
base64키값 제거하고 여기에 올려달라는 의미입니다.
@오늘만산다
아.. 잠시만요
제거 해도 자꾸 오류가 나네요...
base64하기 전의 값을 달라고 하시는게 맞는거죠?
Gv6LjeKD8a9nz1QRe7wN8wYxAdXy
testgsk
@Ayaan @냥과장 @이실장
확인한번 부탁드립니다
@오늘만산다
님 지금 공유주신 코드를 보면 content-type 을 json 으로 안보내는것 같습니다.
이부분 json으로 보내고 계신건지 확인해주세요.
예 지금 코드를 바꿔서 테스트 중입니다
content type 바꿔서 보냈더니
필수파라메터가 누락되었다고 하네요
@냥과장
{
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
},
필수 파라미터가 누락되었습니다 라고 에러 메시지를 받으셨나요?
저희가 응답드린 건
{"code":"EXPIRED_AUTHORIZATION_CODE","message":"만료된 인증코드 값입니다."}
이것으로 확인되는데요.
성공했습니다~!
쉽지가 않네요 ㅠㅠ 감사합니다
근데 이쪽에 즉시할인이랑
아래쪽에 공간이 비어있는건 왜그런걸까요 ?
테스트 환경에는 기본적으로 즉시할인이 걸려있습니다.
라이브에서 에서는 실제 적용되는 경우에만 표시 될겁니다.
아래쪽 공간은 결제혜택이 보여지는 부분일텐데 역시 라이브에서 별도의 즉시할인이 없으시다면 안보이게 됩니다.
키값은 올리시면 안되서 그렇게 나올겁니다..
브랜드 페이 등록한 카드에 대한 빌링키는 어떻게 받아오나요?
저희 db 에 저장 해두고 정기결제때 결제를 시켜드려야 해서요
정기결제 신청은 되어있으신가요?
브랜드페이 API | 토스페이먼츠 개발자센터
브랜드페이에서 제공하는 API 엔드포인트(Endpoint)와 객체 정보, 파라미터, 요청 및 응답 예제를 살펴보세요.
api목록 확인바랍니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.