김다은
김다은2w ago

결제 취소 후 바로 결제 조회 시 오류 발생

안녕하세요 POST /v1/payments/{paymentKey}/cancel 결제 취소 api 호출 시 오류가 발생한 경우에도 Payment 객체를 조회하기 위해 바로 GET /v1/payments/{paymentKey} PaymentKey로 결제 조회 api 를 호출합니다. 이때 아래와 같은 에러 메시지가 발생합니다. api를 호출하는 간격이 너무 짧아서 발생하는 문제 같아 Thread.sleep(500); 를 각 api 요청 사이에 두고 실행하면 동일한 오류 발생하지 않았습니다. 아래 오류 메시지의 원인이 정말 api 호출이 간격이 짧아서인지, 오류 해결 방법이 sleep 하는 방법 밖에는 없는지 문의드립니다.
{
"code":"FORBIDDEN_CONSECUTIVE_REQUEST",
"message":"반복적인 요청은 허용되지 않습니다. 잠시 후 다시 시도해주세요."
}
{
"code":"FORBIDDEN_CONSECUTIVE_REQUEST",
"message":"반복적인 요청은 허용되지 않습니다. 잠시 후 다시 시도해주세요."
}
9 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
유부장
유부장2w ago
네 api 호출이 간격이 짧아서이고, sleep 외에 다른 방법이 있다면, 그 방법으로 API 호출 간격을 늘리시면 됩니다.
today.lastday
today.lastday2w ago
유부장님 말씀하신 것처럼 api 호출 간격이 짧아서 그런 것인데 취소시 에러 받았던 paymentKey를 남겨주시면 추가 확인해보겠습니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
김다은
김다은2w ago
네 paymentKey 전달드립니다. tviva20241021093809fgUB3
today.lastday
today.lastday2w ago
공개된 테스트키로 사용하였기 때문에 다른 사용자도 테스트를 하고 있어 그렇습니다. 최소 1초 간격으로 취소 호출 해주셔야 합니다. 예) Thread.sleep(1000); 그리고 여러차례 취소를 호출해야하는 케이스가 있으신가요?
김다은
김다은2w ago
아 그럼 FORBIDDEN_CONSECUTIVE_REQUEST 오류 발생 기준 초가 1초 맞을까요?? 취소 내역의 PaymentKey 를 List<String> 으로 추출 후 foreach로 차례로 취소 요청을 보낼 것 같습니다.
유부장
유부장2w ago
네, 1초 이상 텀을 두시면 됩니다.
김다은
김다은2w ago
네 확인 감사합니다