프로모션 api 사용 중 인증 관련 문제

개발 과정에서 강습 예약 후 프로모션으로 지급되어야 할 5,000원이 일부 고객에게 지급되지 않았습니다. 이 문제로 인해 고객 문의가 발생하여, 토스 userkey를 이용한 수동 지급 기능을 서버에 구현했습니다.

수동 지급 API 호출 시 다음과 같은 인증 오류가 발생합니다.
Manual point: { userKey: ‘SET’, amount: 5000, reason: ‘강습 구입 고객 포인트 지급’ }
Getting user info for userKey…
[MTLS] Request: GET ``https://apps-in-toss-api.toss.im/api-partner/v1/apps-in-toss/user/oauth2/login-me
[MTLS] Response: 200 OK
Failed to get decrypted user info: Error: 인증 정보를 찾을 수 없어요.

토스 사용자 키를 이용한 수동 포인트 지급이 가능한지에 대한 여부가 궁금합니다.

만약 가능하다면 수동 지급을 위한 올바른 API 사용법 안내를 부탁드리겠습니다.

기존 고객들에게 지급되지 않은 포인트를 수동으로 지급하고 싶습니다. 가능한 빨리 해결 방법을 안내해 주시면 감사하겠습니다.

@likegravity 님 안녕하세요

넵 프로모션의 기능은 특정 유저에게 포인트를 지급하는 기능입니다.

로그인 API를 통해 userKey를 획득하시어 해당 유저에게 포인트를 지급해주시면 되는데요.

아시다시피 API 호출은 mTLS 인증서가 설치된 서버에서 server-to-server로 호출을 해주셔야 합니다.

mTLS인증서는 설치되어있습니다. 보시다시피 Response도 200으로 정상적으로 처리됩니다.

에러로그 전문 전달드립니다.
0|ride-or-die-server | 🎁 Manual point gift: { userKey: ‘SET’, amount: 5000, reason: ‘강습 구입 고객 포인트 지급’ }
0|ride-or-die-server | 🔐 Getting user info for userKey…
0|ride-or-die-server | [MTLS] Request: GET ``https://apps-in-toss-api.toss.im/api-partner/v1/apps-in-toss/user/oauth2/login-me
0|ride-or-die-server | [MTLS] Response: 200 OK
0|ride-or-die-server | Failed to get decrypted user info: Error: 인증 정보를 찾을 수 없어요.
0|ride-or-die-server | at TossAuthService.getDecryptedUserInfo (/home/ec2-user/ride-or-die-server/src/services/tossAuthService.ts:125:15)
0|ride-or-die-server | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
0|ride-or-die-server | at async PromotionRoutes.extractUserKey (/home/ec2-user/ride-or-die-server/src/routes/promotionRoutes.ts:57:22)
0|ride-or-die-server | at async (/home/ec2-user/ride-or-die-server/src/routes/promotionRoutes.ts:467:30)
0|ride-or-die-server | ❌ Manual gift error: Error: 인증 정보를 찾을 수 없어요.
0|ride-or-die-server | at TossAuthService.getDecryptedUserInfo (/home/ec2-user/ride-or-die-server/src/services/tossAuthService.ts:125:15)
0|ride-or-die-server | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
0|ride-or-die-server | at async PromotionRoutes.extractUserKey (/home/ec2-user/ride-or-die-server/src/routes/promotionRoutes.ts:57:22)
0|ride-or-die-server | at async (/home/ec2-user/ride-or-die-server/src/routes/promotionRoutes.ts:467:30)

https://apps-in-toss-api.toss.im/api-partner/v1/apps-in-toss/user/oauth2/login-me API 호출 시 “인증 정보를 찾을 수 없어요” 에러를 return 받으신건가요?

request 정보, response 정보 등을 전달주시면 확인해보겠습니다.

Manual gift API called
Request details: {
body: { userKey: ‘202505460’, amount: 5000, reason: ‘강습 구입 고객 포인트 지급’ },
authHeader: ‘Bearer null…’,
serverUrl: ‘https://server.rideordie.kr
}
Sending request to server: https://server.rideordie.kr/api/promotion/manual-gift
Server response status: 500
Server response data: {
resultType: ‘ERROR’,
error: {
code: 500,
reason: ‘수동 포인트 지급 중 오류가 발생했습니다.’,
details: ‘인증 정보를 찾을 수 없어요.’
}
}
POST /api/promotion/manual-gift 500 in 1303ms

네 맞습니다. API호출시 인증정보를 찾을 수 없다는 에러 return을 받았습니다

@likegravity 님 죄송하지만 보내주신 api 는 제휴사 내부 로그로 보입니다.

제가 login-me API 로그를 검색할 수 있도록 저희 API의 requset, response 를 전달해주실 수 있을까요?

Authorization 를 어떤 걸로 전달해주시나요?