Toss payments 개발자 커뮤니티Tp개커Toss payments 개발자 커뮤니티
Powered by
trainersT
Toss payments 개발자 커뮤니티•3y ago•
24 replies
trainers

brandpay 연동 중 UNAUTHORIZED_KEY

현재 브랜드페이 사용 계약은 완료했고 카드사 심사 진행중인데요.
상점 테스트용 결제위젯 연동 키로 브랜드페이를 띄우고, 사용자가 카드를 등록하는 상황입니다.
백엔드에서 자동결제・API 연동 키 로 grandType authorizationCode 로 accessToken 을 요청하는데 계속해서 UNAUTHORIZED_KEY 에러가 발생합니다.

export async function requestBrandpayAccessToken(
  param: RequestBrandpayAccessTokenQuery
): Promise<RequestBrandpayAccessTokenResponse> {
  try {
    logger.debug('param: ', { data: param });
    logger.debug('header: ', { data: `Basic ${Buffer.from(SECRET_KEY + ':', 'utf8').toString('base64')}` });
    const result = await axios.post(`https://${HOST_NAME}/v1/brandpay/authorizations/access-token`, {
      data: param,
      headers: {
        Authorization: `Basic ${Buffer.from(SECRET_KEY + ':', 'utf8').toString('base64')}`,
        'Content-Type': 'application/json',
      },
    });

    const data = result.data as RequestBrandpayAccessTokenResponse;
    return data;
  } catch (err: any) {
    if (err instanceof AxiosError) {
      logger.error('axios error: ', { data: err });
    }
    throw new CustomError(err.response.data.code, { data: err });
  }
}
export async function requestBrandpayAccessToken(
  param: RequestBrandpayAccessTokenQuery
): Promise<RequestBrandpayAccessTokenResponse> {
  try {
    logger.debug('param: ', { data: param });
    logger.debug('header: ', { data: `Basic ${Buffer.from(SECRET_KEY + ':', 'utf8').toString('base64')}` });
    const result = await axios.post(`https://${HOST_NAME}/v1/brandpay/authorizations/access-token`, {
      data: param,
      headers: {
        Authorization: `Basic ${Buffer.from(SECRET_KEY + ':', 'utf8').toString('base64')}`,
        'Content-Type': 'application/json',
      },
    });

    const data = result.data as RequestBrandpayAccessTokenResponse;
    return data;
  } catch (err: any) {
    if (err instanceof AxiosError) {
      logger.error('axios error: ', { data: err });
    }
    throw new CustomError(err.response.data.code, { data: err });
  }
}


요청코드는 위와 같습니다.
param 에는 {"grantType":"AuthorizationCode","customerKey":"trainers_zONnNzyHAhKwFt9nIF8KZ","code":"G57Eba3GxOQMmb7PEVpWDOxm"}
위와 같은 값이 들어갑니다.
Toss payments 개발자 커뮤니티 banner
Toss payments 개발자 커뮤니티Join
Toss payments 개발자 커뮤니티입니다. 결제 연동하며 겪는 기술 문의부터, 결제 시장에 대한 다양한 정보까지 얻어가세요~
15,588Members
Resources
Recent Announcements

Similar Threads

Was this page helpful?

Similar Threads

UNAUTHORIZED_KEY
토스페이먼츠 BOT토토스페이먼츠 BOT / ❓┃연동개발-문의
6mo ago
브랜드페이 연동 중
flic5002Fflic5002 / ❓┃연동개발-문의
7mo ago
지급대행 연동 중 문의
kjsKkjs / ❓┃연동개발-문의
2mo ago
토스페이먼츠 연동 중 오류
소피소소피 / ❓┃연동개발-문의
3mo ago