김소원
김소원8mo ago

가상계좌 입금 EXPIRED후 PAYMENT_STATUS_CHANGED 웹훅 호출

안녕하세요. 웹훅으로 EXPIRED가 날라오고 한참 뒤 DONE 이 날라오고 있어서 문제가 되고 있습니다. https://docs.tosspayments.com/guides/webhook#payment_status_changed 에 따르면 EXPIRED이후에는 전송되지 않는것으로 보이는데.. 어찌 처리 되어야 할지 조언이 필요합니다.
웹훅(Webhook) 연결하기 | 토스페이먼츠 개발자센터
토스페이먼츠 결제, 브랜드페이, 지급대행 상태에 변경사항이 있을 때 웹훅으로 실시간 업데이트를 받아보세요. 웹훅이란 데이터가 변경되었을 때 실시간으로 알림을 받을 수 있는 기능이에요.
12 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
김소원
김소원OP8mo ago
주문번호 : 7679ff79-2c27-4d92-aec8-8cb7358a218a
{
"createdAt": "2024-07-06T12:21:22.061054",
"eventType": "PAYMENT_STATUS_CHANGED",
"data": {
...
"orderId": "7679ff79-2c27-4d92-aec8-8cb7358a218a",
"requestedAt": "2024-07-06T11:49:59+09:00",
"cultureExpense": false,
"version": "2022-11-16",
"status": "EXPIRED",
"failure": {
"code": "EXPIRED_PAYMENT",
"message": "결제가 만료되었습니다. 다시 시도해주세요."
},
...
}
{
"createdAt": "2024-07-06T12:21:22.061054",
"eventType": "PAYMENT_STATUS_CHANGED",
"data": {
...
"orderId": "7679ff79-2c27-4d92-aec8-8cb7358a218a",
"requestedAt": "2024-07-06T11:49:59+09:00",
"cultureExpense": false,
"version": "2022-11-16",
"status": "EXPIRED",
"failure": {
"code": "EXPIRED_PAYMENT",
"message": "결제가 만료되었습니다. 다시 시도해주세요."
},
...
}
{
"createdAt": "2024-07-06T17:44:52.527894",
"eventType": "PAYMENT_STATUS_CHANGED",
"data": {
...
"orderId": "7679ff79-2c27-4d92-aec8-8cb7358a218a",
"taxExemptionAmount": 0,
"status": "DONE",
"requestedAt": "2024-07-06T11:58:28+09:00",
...
}
{
"createdAt": "2024-07-06T17:44:52.527894",
"eventType": "PAYMENT_STATUS_CHANGED",
"data": {
...
"orderId": "7679ff79-2c27-4d92-aec8-8cb7358a218a",
"taxExemptionAmount": 0,
"status": "DONE",
"requestedAt": "2024-07-06T11:58:28+09:00",
...
}
Kimoon Lee
Kimoon Lee8mo ago
지금 보면 해당 주문번호로 결제창이 2번 열렸습니다. 최소에 11시 51분 22초에 결제창이 열렸고, 이건 그냥 고객이 이탈 한 것으로 보입니다. 이때는 결제창에서 카카오뱅크를 선택하셧구요. 이후에 11시 58분 28초에 동일 주문번호로 가상계좌 창을 열어서 결제가 진행되었습니다. 즉 EXPIRED 는 카카오뱅크 카드 결제창을 열었다가 닫은 것에 대한 이벤트이고. 뒤에 DONE 이벤트는 가상계좌에 대한 입금 통보입니다. 왜 주문번호를 같이 쓰시는지는 모르겠는데, 이런경우 주문번호를 다르게 해주시는게 이벤트 처리를 하시기 좋을 것 같네요.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
김소원
김소원OP8mo ago
아 그러면 창을 닫고 내용을 변경하고 다시 한다면 주문서번호를 다르게 해야 할까요?
Kimoon Lee
Kimoon Lee8mo ago
꼭 다르게 하셔야 하는건 아닌데, 지금같은 문제가 발생하신다면 다르게 하시는게 좋을것 같습니다.
김소원
김소원OP8mo ago
네 알겠습니다. 그럴려면 주문서를 복사해야하는 작업이 생겨서 음.. 아 그리고 가상계좌 입금처리에서 성공으로 갔다가 다시 실패로 갈수 있다고 문서에 적혀 있던데 입금이 되면 금액 비교 없이바로 성공으로 오나요? 저희가 성공 되면 뭔가 작업이 있는데 다시 돌리는게 쉽지 않아서.. 뭔가 입금된 금액을 검증할 방법이 있을까요?
Kimoon Lee
Kimoon Lee8mo ago
금액비교를 하고 입금 처리 됩니다. 성공으로 갔다가 다시 실패로 갈수 있다고 되어 있는부분은 은행의 이슈로 발생하는 것이고 금액 관련 이슈가 아닙니다.
김소원
김소원OP8mo ago
아하 감사합니다! 웹훅을 다시 봤는데 paymentKey가 바뀌는것을 확인했습니다. 고객이 결제창을 열때마다 paymentKey가 바뀐다고 이해해도 될까요?
유부장
유부장8mo ago
네 맞습니다.
김소원
김소원OP8mo ago
감사합니다! 결국은 그럼 토스 위젯에서 결제를 누를때 orderId를 새로 발급하도록 하고 paymentkey로 검증을 하도록 하겠습니다.
Kimoon Lee
Kimoon Lee8mo ago
네 감사합니다,

Did you find this page helpful?