사용자 주문 상태 가져오기

사용자 주문 상태 가져오기

사용자 주문 상태를 가져오는 방법:

  1. 웹훅을 통해 서버 측에서.
  2. WebSocket API 또는 IGS API를 통해 클라이언트 측에서.

웹훅을 통해 서버 측에서 사용자 주문 상태 가져오기

서버에서 웹훅을 구성한 후 이를 사용하여 주문 세부 정보 및 상태를 가져올 수 있습니다.

WebSocket API 또는 IGS API를 통해 클라이언트 측에서 사용자 주문 상태 가져오기

서버가 없거나 클라이언트 측에서 구매 처리 로직을 구현하는 경우 사용할 수 있는 방법:
  1. WebSocket API.
  2. Short-polling.

WebSocket API를 사용하여 클라이언트 측에서 주문 상태 가져오기

이 솔루션은 websockets를 사용하여 주문 상태를 가져옵니다. 이때 주문에 대한 자세한 정보는 가져오지 않습니다. 이 메소드는 클라이언트(예: 웹사이트 또는 모바일 애플리케이션)와 엑솔라 서버 사이에 단 하나의 연결만 생성하므로 클라이언트나 서버에 추가 부하가 발생하지 않아 권장됩니다.

알림
웹훅을 처리할 자체 서버가 없거나 클라이언트 측 구매 처리 로직을 사용하는 경우, Centrifuge SDK를 사용하는 WebSocket API를 사용할 수 있습니다.

다음 단계를 완료해 주세요.

  1. 엑솔라 웹 소켓 서버와 클라이언트가 주문 상태 메시지를 식별할 수 있도록 연결을 생성합니다.

Copy
Full screen
Small screen
const client = new Centrifuge(
connectionURL,
{
data: {
  user_external_id: user_external_id,
  auth: auth,
  project_id: project_id
}
}
)
connectionURL - wss://ws-store.xsolla.com/connection/websocket
auth - user JWT token
  1. 주문 상태에 대한 새 메시지를 받으려면 client.on 함수를 사용하여 이벤트를 구독해 주세요.
Copy
Full screen
Small screen
client.on('publication', (ctx) => {
   //handle the status
});
  1. 실제 연결 설정 트리거:
Copy
Full screen
Small screen
client.connect()
  1. 주문 상태의 변경 사항 기록을 받으려면 API 기록 메소드를 연결합니다.
Copy
Full screen
Small screen
client.on('subscribed', function (ctx) {
   client.history(ctx.channel, { limit: -1, since: { offset: 0 }, reverse: false }).then(function (resp) {
resp.publications.forEach((ctx) => {
   /handle the status
});

   }, function (err) {
       //handle the status
   });
});

메시지 본문 예시:

Copy
Full screen
Small screen
{
order_id: 59614241,
status: 'new'
}

다음 주문 상태가 가능합니다.

  • New - 주문이 생성되었지만 지불되지 않음
  • Paid - 주문 지불 완료
  • Done - 주문 전달이 완료됨(모든 영수증 전송 완료, 엑솔라 및 외부 플랫폼 등에서 전달됨)
  • Canceled - 주문이 취소되었으며 사용자에게 환불이 완료됨

웹소켓 사용 권장 사항:

  • 웹소켓을 통한 응답 대기 시간은 최대 5분입니다.
  • 결제 인터페이스를 열 때 연결이 설정되어야 합니다.
  • 최종 주문 상태가 Canceled 또는 Done 중 하나로 수신되면 연결이 중단되어야 합니다.
  • 웹소켓의 수명이 만료되거나 연결에 문제가 있는 경우 숏폴링을 사용하세요.

    쇼트 폴링

    상태로 전환한 후 주문 아이템에 대한 자세한 정보를 가져오려면 주문 가져오기 API를 호출하세요.

    알림
    정기 주문 상태 폴(주문 상태 및 주문 정보를 수신하는 간단한 HTTP 요청)을 사용합니다. 요청 사이에 권장되는 지연 시간은 3초입니다.
    이 기사가 도움이 되었나요?
    감사합니다!
    개선해야 할 점이 있을까요? 메시지
    유감입니다
    이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
    의견을 보내 주셔서 감사드립니다!
    메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
    마지막 업데이트: 2024년 11월 8일

    오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.

문제 보고
콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
후속 조치를 위해 이메일을 제공해 주세요
의견을 보내 주셔서 감사드립니다!