Handyman
Handyman2y ago

안녕하세요

const paymentSuccessController = async (req, res) => { try { const userId = req.userId; const { orderId, amount, paymentKey } = req.query; // usePoint added const { usePoint, letterId } = req.body; const response = await axios.post( "https://api.tosspayments.com/v1/payments/confirm", { orderId, amount, paymentKey, }, { headers: { Authorization: "Basic " + Buffer.from(secretKey + ":").toString("base64"), "Content-Type": "application/json", }, responseType: "json", } ); 이런식으로 토스페이먼츠로 필수값을 보내는데 혹시 뭐가 잘못됬는지 code: 'NOT_FOUND_PAYMENT_SESSION', message: '결제 시간이 만료되어 결제 진행 데이터가 존재하지 않습니다.' 이런 오류가 발생했네요 db에는 정상적으로 데이터가 저장되었습니다 이후 failUrl로 이동하네요...
7 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
Handyman
HandymanOP2y ago
주문번호(orderId): 113a31ec-dd13-4277-92af-d95fa4976821 문의 내용:
No description
유부장
유부장2y ago
orderId, amount, paymentKey 가 전부 빈값으로 넘어온 호출이 보이네요 결제승인 API 가 우선 빈값으로 호출되고, 그 다음 정상 호출이 들어오는 것 같은데 어떤 상황에서 빈값으로 승인 API 를 호출하는지 확인 해보시면 될것 같아요
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
Handyman
HandymanOP2y ago
아 감사합니다! 혹시 orderId amount paymentKey 를 서버에서 유효성 검사를 한후에 컴펌링크로 값을 보내야하는건가요?
OMG
OMG2y ago
네 결제 요청시 전달한 orderId, amount 랑 맞는지 valid 체크 후 paymentKey 로 승인 요청 하시면 됩니다
Handyman
HandymanOP2y ago
넵 네 맞습니다! 네 알겠습니다 음 너무 길다고 하는데 네 금액들어오면 db에 저장되어있는 값과 비교 분석하고 amount가 맞으면 아 그렇군요 그럼 포인트를 만약 사용했다고 가정을하면 포인트를 사용했다고 정보도 포함해서 보내야하나요 아니면 포인트를 뺸 amount를 보내야하나요? 귀사의 포인트입니다 오 알겠습니다 감사합니다 새해복많이 받으세요~ 넵 아 그럼 api를 나눠서 진행해야하는건가요? 알겠습니다 오 네 알겠습니다 감사합니다!

Did you find this page helpful?