웹훅 설정
웹훅은 시스템에서 발생하는 이벤트에 대한 알림입니다. 특정 이벤트가 발생하면 엑솔라는 이벤트 데이터가 전송되는 HTTP 요청을 애플리케이션으로 보냅니다. 이는 일반적으로 JSON 형식의 POST
요청입니다.
이벤트 예시:
- 아이템 카탈로그를 사용하는 사용자 상호 작용
- 결제 또는 주문 취소
웹훅 목록
게임 키를 판매하는 데 사용자 유효성 검사와 아이템 크레딧이 필요하지 않습니다. 웹훅을 연결하여 결제 또는 주문 취소와 같은 이벤트 정보를 수신할 수 있습니다.
웹훅을 연결할 경우, 유입되는 모든 필수 웹훅을 처리하는 것이 중요합니다.
아이템을 구매하고 반품할 때 엑솔라 측에서 2가지 웹훅 수신 옵션을 설정했습니다. 결제 및 트랜잭션 데이터와 구매한 아이템에 대한 정보가 포함된 정보는 개별적으로 제공되거나 하나의 웹훅으로 결합될 수 있습니다.
웹훅 수신 옵션에 대한 추가 정보
결합된 웹훅으로 정보 수신:
2025년 1월 22일 이후 관리자 페이지에 등록한 경우, 주문 결제 성공(order_paid
) 및 주문 취소(order_canceled
) 웹훅의 모든 정보를 받게 됩니다. 이 경우, 결제(payment
) 및 환불(refund
) 웹훅을 처리하지 않아도 됩니다.
별도로 제공된 웹훅으로 정보 수신:
2025년 1월 22일 이후 관리자 페이지에 등록한 경우, 다음과 같은 웹훅을 받게 됩니다.
- 결제 데이터와 트랜잭션 세부 사항에 대한 정보가 포함된 결제(
payment
) 및 환불(refund
). - 구매한 아이템에 대한 정보가 포함된 주문 결제 성공(
order_paid
) 및 주문 취소(order_canceled
).
유입되는 모든 웹훅을 처리해야 합니다.
결합된 웹훅을 수신하는 새 옵션으로 전환하려면 고객 성공 관리자에게 문의하거나 csm@xsolla.com으로 이메일을 보내주세요.
인게임 스토어 및 결제 관리를 제대로 운영하려면 메인 웹훅 처리를 구현해야 합니다.
아이템 카탈로그 개인 설정을 애플리케이션 측에서 구현한 경우 파트너 측에서 카탈로그 개인 설정 처리를 설정합니다.
- 결제, 주문의 성공적인 결제 및 사용자 유효성 검사
- 결합 웹훅을 수신하는 경우 주문 결제 성공 및 사용자 유효성 검사
관리자 페이지에서 웹훅 설정하기
웹훅 수신을 활성화하는 방법:
- 관리자 페이지에서 프로젝트를 엽니다.
- 사이드 메뉴에서 프로젝트 설정을 클릭하고 웹훅 탭으로 이동합니다.
- 웹훅 서버 필드에서
https://example.com
형식으로 웹훅을 수신할 서버의 URL을 지정합니다. 웹훅 테스트용 도구에서 확인한 URL을 지정할 수도 있습니다.
- 프로젝트 웹훅에 서명하기 위한 비밀 키가 기본적으로 생성됩니다. 새 비밀 키를 생성하려면 새로 고침 아이콘을 클릭합니다.
- 웹훅 활성화를 클릭합니다.
웹훅 서버 필드에 URL을 저장하면 웹훅에서 자세한 정보를 수신할 권한을 부여할 수 있는 고급 설정 섹션을 볼 수 있습니다. 이렇게 하려면 각 토글을 온으로 설정합니다. 각 권한의 줄에서 해당 설정의 영향을 받는 웹훅 목록을 확인할 수 있습니다.
- 관리자 페이지에서 프로젝트를 엽니다.
- 사이드 메뉴에서 프로젝트 설정을 클릭하고 웹훅 솔루션 탭으로 이동합니다.
- 웹훅 비활성화를 클릭합니다.
관리자 페이지에서 웹훅 테스트하기
웹훅이 성공적으로 설정되면 웹훅 설정 블록 아래에 웹훅 테스트 블록이 표시됩니다.
관리자 페이지의 테스트 섹션은 웹훅 수신 옵션에 따라 달라집니다.
결합된 웹훅을 사용하는 시나리오를 테스트하는 프로세스는 아래에 설명되어 있습니다. 결제 및 스토어 탭에서 다음 웹훅을 테스트할 수 있습니다.
- 사용자 유효성 검사(
user_validation
) - 주문 결제 성공(
order_paid
) - 주문 취소(
order_canceled
)
- 웹훅 테스트 섹션에서, 결제 및 스토어 탭으로 이동합니다.
- 드롭다운 메뉴에서, 게임 키를 선택합니다. 게임 키 패키지가 관리자 페이지에 설정되어 있지 않으면 다음 버튼 중 하나가 표시됩니다.
- 연결 – 게임 키 모듈이 연결되지 않은 경우
- 구성 – 이전에 모듈을 연결했지만 설정을 완료하지 않은 경우
- 필수 필드에 값을 입력합니다.
- 엑솔라 주문 ID 필드에 값을 입력합니다.
- 드롭다운 목록에서 게임 키 패키지를 선택하고 금액을 표시합니다.
- 게임 퍼블리싱 플랫폼을 지정합니다.
- 사용자 ID - 테스트할 때 문자와 숫자의 조합을 사용할 수 있습니다.
- 공개 사용자 ID - 이메일이나 닉네임 등 사용자에게 알려진 ID. 페이 스테이션 > 설정 섹션의 프로젝트에서 공개 사용자 ID가 사용되는 경우, 이 필드가 표시됩니다.
- 엑솔라 인보이스 ID - 엑솔라 측 트랜잭션 ID. 테스트할 때 모든 숫자 값을 사용할 수 있습니다.
- 인보이스 ID - 게임 측 트랜잭션 ID. 테스트할 때 문자와 숫자의 조합을 사용할 수 있습니다. 성공적인 결제를 위한 필수 매개 변수는 아니지만, 사용자 측의 거래 ID를 엑솔라 측의 거래 ID에 연결하기 위해 전달할 수 있습니다.
- 금액 - 결제 금액. 테스트 시 임의의 값을 사용할 수 있습니다.
- 통화 - 드롭다운 목록에서 통화를 선택합니다.
- 웹훅 테스트를 클릭합니다.
각 웹훅이 성공 시나리오와 오류가 발생한 시나리오를 모두 처리하도록 구성해야 합니다.
웹훅 수신기
웹훅 수신기는 지정된 URL 주소에서 들어오는 웹훅을 수신하고 서명을 생성한 후 엑솔라 웹훅 서버로 응답을 전송할 수 있는 프로그램 코드입니다.
서명 생성
웹훅을 수신할 때는 데이터 전송의 보안을 보장해야 합니다. 이를 위해서는 웹훅 데이터에서 서명을 생성하고 생성된 서명이 HTTP 요청 헤더에 전송된 서명과 일치하는지 확인해야 합니다.
서명 생성 방법:
- 요청 본문과 프로젝트의 비밀 키의 JSON을 연결합니다.
- 첫 번째 단계에서 구한 문자열에 SHA-1 암호화 해시 함수를 적용합니다.
웹훅으로 응답 보내기
웹훅 수신을 확인하려면 서버가 다음을 반환해야 합니다.
- 성공적인 응답의 경우
200
,201
또는204
HTTP 코드 - 지정된 사용자를 찾을 수 없거나 잘못된 서명이 전달된 경우 문제 설명이 포함된
400
HTTP 코드
서버에 일시적인 문제가 발생한 경우 웹훅 핸들러가 5xx
코드를 반환할 수도 있습니다.
엑솔라 서버가 주문 결제 성공 및 주문 취소 웹훅에 대한 응답을 받지 못하거나 5xx
코드가 포함된 응답을 받은 경우, 다음 일정에 따라 웹훅이 다시 전송됩니다.
- 5분 간격으로 2번
- 15분 간격으로 7번
- 60분 간격으로 10번
웹훅 전송은 처음 시도 후 12시간 이내에 최대 20번까지 시도할 수 있습니다.
엑솔라 서버가 결제 웹훅 또는 환불 웹훅에 대한 응답을 받지 못하거나 5xx
코드가 포함된 응답을 받은 경우, 웹훅도 증가된 시간 간격으로 다시 전송됩니다. 12시간 동안 최대 12번 시도할 수 있습니다.
엑솔라 서버가 사용자 유효성 검사 웹훅에 대한 응답을 받지 못하거나 400
또는 5xx
코드가 포함된 응답을 받은 경우, 사용자 유효성 검사 웹훅이 다시 전송되지 않습니다.
이 경우 사용자에게 오류가 표시되며 결제와 주문 결제 성공 웹훅은 전송되지 않습니다.
오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.