인트 (DEV)
인트 (DEV)16mo ago

결제 승인과 결제 중단이 동시에 웹훅으로 오는 경우

안녕하세요. 운영 중 이상현상이 있어서 질문드려요. 저희 결제한 고객이 주문이 완료하여 금액이 빠져나갔는데 저희쪽은 결제취소로 처리된 상태라서 문의가 왔습니다. 확인해보니 16:35:48 에 동시에 같은 유저로 두 번의 웹훅이 왔고 하나는 상태가 DONE으로 하나는 ABORTED로 온거같습니다. 두 응답의 orderId 정보는 동일합니다. (0720-1635-2327087-0) 신용카드 결제입니다.
{
"createdAt": "2023-07-20T16:35:47.729718",
"eventType": "PAYMENT_STATUS_CHANGED",
"data": {
"mId": "xxxxx",
"lastTransactionKey": "xxxxx",
"paymentKey": "xxxxx",
"orderId": "xxxxx",
"taxExemptionAmount": 0,
"status": "DONE",
"requestedAt": "2023-07-20T16:35:05+09:00",
"approvedAt": "2023-07-20T16:35:47+09:00",
"useEscrow": false,
}
}

{
"createdAt": "2023-07-20T16:35:47.775093",
"eventType": "PAYMENT_STATUS_CHANGED",
"data": {
"mId": "xxxxx",
"lastTransactionKey": "xxxxx",
"paymentKey": "xxxxx",
"orderId": "xxxxx",
"taxExemptionAmount": 0,
"status": "ABORTED",
"requestedAt": "2023-07-20T16:35:05+09:00",
"approvedAt": null,
}
}
{
"createdAt": "2023-07-20T16:35:47.729718",
"eventType": "PAYMENT_STATUS_CHANGED",
"data": {
"mId": "xxxxx",
"lastTransactionKey": "xxxxx",
"paymentKey": "xxxxx",
"orderId": "xxxxx",
"taxExemptionAmount": 0,
"status": "DONE",
"requestedAt": "2023-07-20T16:35:05+09:00",
"approvedAt": "2023-07-20T16:35:47+09:00",
"useEscrow": false,
}
}

{
"createdAt": "2023-07-20T16:35:47.775093",
"eventType": "PAYMENT_STATUS_CHANGED",
"data": {
"mId": "xxxxx",
"lastTransactionKey": "xxxxx",
"paymentKey": "xxxxx",
"orderId": "xxxxx",
"taxExemptionAmount": 0,
"status": "ABORTED",
"requestedAt": "2023-07-20T16:35:05+09:00",
"approvedAt": null,
}
}
어떠한 상황에서 위와같은 현상이 발생하는지 궁금합니다. ABORTED 응답이 왔지만 결제승인 된 경우를 확인해서 취소처리를 할 수 있는 방안이 있는지도 궁금합니다.
No description
5 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
Kimoon Lee
Kimoon Lee16mo ago
주문번호를 알려주시기 바랍니다.
인트 (DEV)
인트 (DEV)16mo ago
앗 넵 0720-1635-2327087-0 입니다!
유부장
유부장16mo ago
안녕하세요, 로그를 확인 했는데, 승인 API 요청이 2번 중복 요청이 들어온것으로 보여집니다. 그래서 첫번째 요청은 승인성공, 두번째 요청은 이미 승인 완료됨으로 인한 실패로 웹훅도 두번 전송 되었습니다. 특이 사항으로는, 이 승인 요청이 서로다른 서버에서 들어왔다는 점 입니다. 3.......82, 13......152 위 두개 IP 에서 동시에 승인 요청이 진행 되고 있는 듯 하니, 한곳에서의 승인 요청은 진행 되지 않도록 확인 부탁 드립니다. @int_inflab 중복 요청이 있을경우에는 방어 로직이 있는데, 다른 서버에서 요청이 들어와 방어로직 동작 대상이 아니었습니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.