84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
제3자 결제 비동기 알림은 콜백 주소로 여러 번 알림을 보내는데, 이전 알림 요청이 아직 처리되지 않았고, 후속 요청이 전송되어 결제가 여러 번 확인되는 경우 해결 방법
ringa_lee
결제는 거래번호, 일련번호 등 고유 ID에 따라 처리되어야 하며, 중복 결제는 불가능합니다.
요청이 오면 먼저 db의 레코드 상태를 초기 상태에서 중간 상태로 업데이트합니다.그런 다음 요청을 처리하고 중간 상태를 처리 완료 상태로 업데이트합니다.그런 다음 제3자 비동기 요청에 메시지를 반환합니다.
궁금한 건 짧은 시간에 여러 번, 그러면 짧은 시간에 몇 번이나 하는 걸까요?
예를 들어 10초에 5~10번은 코드 최적화를 고려해야 합니다. 왜 1초에 하나의 요청을 처리할 수 없나요? 첫 번째 요청이 처리된 후 후속 요청은 무시됩니다.
예를 들어 1초에 5~10번의 경우 간단한 처리는 대기열에 넣어서 동시 요청을 직렬 요청으로 바꾸는 것으로 해결할 수 있습니다.
위의 경우 빈도가 너무 높으면 뭔가 문제가 있는 것 같습니다. 타사 플랫폼을 찾아 빈도를 높일 수 있습니다.
프로그램이 처리된 후 제3자에게 성공을 반환합니다. 그렇지 않으면 제3자는 성공을 받은 후 더 이상 요청을 하지 않으며 IP가 쉽게 차단됩니다. 이런 문제는 제3자가 볼 수 있도록 문서에 기재해야 합니다
결제는 거래번호, 일련번호 등 고유 ID에 따라 처리되어야 하며, 중복 결제는 불가능합니다.
요청이 오면 먼저 db의 레코드 상태를 초기 상태에서 중간 상태로 업데이트합니다.
그런 다음 요청을 처리하고 중간 상태를 처리 완료 상태로 업데이트합니다.
그런 다음 제3자 비동기 요청에 메시지를 반환합니다.
궁금한 건 짧은 시간에 여러 번, 그러면 짧은 시간에 몇 번이나 하는 걸까요?
예를 들어 10초에 5~10번은 코드 최적화를 고려해야 합니다. 왜 1초에 하나의 요청을 처리할 수 없나요? 첫 번째 요청이 처리된 후 후속 요청은 무시됩니다.
예를 들어 1초에 5~10번의 경우 간단한 처리는 대기열에 넣어서 동시 요청을 직렬 요청으로 바꾸는 것으로 해결할 수 있습니다.
위의 경우 빈도가 너무 높으면 뭔가 문제가 있는 것 같습니다. 타사 플랫폼을 찾아 빈도를 높일 수 있습니다.
프로그램이 처리된 후 제3자에게 성공을 반환합니다. 그렇지 않으면 제3자는 성공을 받은 후 더 이상 요청을 하지 않으며 IP가 쉽게 차단됩니다. 이런 문제는 제3자가 볼 수 있도록 문서에 기재해야 합니다