참고 자료 · 47

불확실한 결제: 중복 주문 없이 결제 복구

네트워크 지연, 브라우저 반환, 알림 및 비즈니스 상태를 종합적으로 고려하여 처리하고, 어느 한 신호만으로 충분하다고 판단하지 않습니다.

업데이트됨 · 3 min

이 가이드가 달성하는 목표

  • 결제 시도, 결제 및 주문 분리
  • 지연되거나 누락된 반품 처리
  • 알림 및 요청 중복 제거
  • 사용자에게 재결제를 요청하지 않고 불확실성 설명

빠른 확인

  • 어떤 소스에서 결제를 확정합니까?
  • 브라우저를 닫으면 비즈니스 상태가 변경됩니까?
  • 반복된 이벤트가 두 개의 주문을 생성합니까?
  • 이벤트 서명을 확인합니까?
  • 지원팀은 불확실한 작업을 어떻게 찾습니까?

단계별 방법

  1. 1

    상태 정의

    장바구니, 결제 시도, 승인, 결제 확인, 주문 및 환불 단계를 분리합니다. 전환, 권한 출처 및 허용된 작업을 작성합니다. 실제 제공업체 및 결제 방법을 따릅니다. 모든 결제 방법이 즉시 확인되는 것은 아닙니다.

    결과물: 상태 다이어그램 및 비즈니스 계약.

  2. 2

    작업 식별

    결제 시도를 주문 및 제공업체 식별자와 연결합니다. 동일한 작업의 반복에 대해 문서화된 멱등성 규칙을 사용합니다. 새로운 목적이나 변경된 매개변수는 키를 무턱대고 재사용하는 대신 명시적인 결정을 내려야 합니다.

    결과물: 안정적인 ID 및 복구 규칙.

  3. 3

    브라우저 반환 처리

    제공업체에 적합한 서버 측 검사 결과를 표시합니다. 성공 페이지로의 리디렉션만으로는 결제 증거가 되지 않습니다. 브라우저 종료, 반환 누락, 인증 중단 및 느린 네트워크 환경을 처리합니다.

    결과물: 반환 여정 및 상태별 메시지.

  4. 4

    알림 검증

    공급자 문서에 따라 진위 여부를 확인하고, 이벤트 ID를 기록하고, 중복 없이 반복 처리를 수행합니다. 이벤트는 지연되거나 순서가 뒤바뀔 수 있습니다. 필요한 경우, 되돌릴 수 없는 전환 전에 참조 객체를 검색합니다.

    결과물: 테스트 완료된 핸들러 및 은행 데이터가 제거된 추적 결과.

  5. 5

    불일치 조정

    공급자 운영, 주문 및 이행 내역을 비교합니다. 주문 없이 결제, 확인 없이 주문, 이중 처리 및 미전파 환불을 분리합니다. 각 불일치에 담당자와 절차를 지정하고, 불확실한 청구를 자동으로 반복 처리하지 않습니다.

    결과물: 조정 대기열 및 결정 사항.

  6. 6

    전체 복구 테스트

    공급자 테스트 모드에서 시간 초과, 중복, 지연된 이벤트, 순서 반전 및 반환 누락을 재생합니다. 하나의 비즈니스 전환, 정확한 고객 정보 및 지원 가시성을 확인합니다. 공급자마다 멱등성 세부 정보가 다릅니다.

    결과물: 중복 방지 증거 및 배포 기준.

가상 예시

예시 상황

예시 상황: 결제는 성공했지만 고객이 확인 전에 연결이 끊어졌고 나중에 두 개의 알림이 도착했습니다.

결정 및 예상 증거

하나의 주문이 확인되었습니다. 복구 시 확인된 상태가 표시되고 지원팀은 은행 정보를 요청하지 않고도 참조 번호를 대조할 수 있습니다.

메커니즘 구분

메커니즘목적검증 또는 제한
브라우저 반환인터페이스에 알림 및 재개누락되거나 중단될 수 있음
웹훅 확인됨공급자 상태 변경 수신반복, 지연 또는 순서가 뒤바뀔 수 있음
서버 조정결제 및 주문 상태 비교불일치 해결 규칙 필요

관리 지표

지표측정 대상첫 번째 조치
불확실한 상태의도된 지연 시간 내에 해결되지 않은 작업참조 상태 확인
중복 효과주문 또는 처리가 두 번 수행됨비즈니스 중복 제거 수정
격차 해소됨결정 및 증거가 있는 조정된 사례가장 오래되고 중요한 사례 처리

일반적인 실수

  • 성공 URL만으로 확인
  • 시간 초과를 결제 실패로 처리
  • 이벤트가 순서대로 도착한다고 가정할 때
  • 확인 전에 결제를 반복하는 경우

자주 묻는 질문

타임아웃은 실패를 의미합니까?

아닙니다. 지연 시간 내에 응답을 받지 못했다는 의미입니다. 다른 작업을 생성하기 전에 작업 상태를 확인하십시오.

공급자 멱등성만으로 충분합니까?

아닙니다. 주문 생성, 이행 및 알림은 중복된 비즈니스 효과 없이 반복 처리를 허용해야 합니다.

사용자에게 무엇을 알려야 합니까?

검증이 진행 중임을 설명하고 안전한 참조 번호와 상태를 조회할 수 있는 방법을 제공하십시오. 이전 결제가 불확실한 동안에는 다른 결제를 요청하지 마십시오.

공식 참조

참조는 방법을 뒷받침합니다. 상황에 맞게 검사를 조정하십시오. 이는 인증이 아닙니다. 원본 참조 제목 및 소스 문서는 다른 언어로 작성되었을 수 있습니다.