콘텐츠로 이동

Steam 결제

'Steam 결제'는 Steam 플랫폼을 통해 인앱 상품을 구매하고 영수증을 검증한 뒤 사용자에게 상품을 지급하는 기능입니다. 소모성 상품의 단건 결제를 지원합니다. Steam 플랫폼 정책상 복수 결제와 구독 결제는 지원하지 않습니다.

결제 흐름 확인

먼저 결제 모듈을 설치하고 초기화한 뒤, 사용자가 결제할 수 있도록 로그인 세션을 생성합니다. 이후 Steam 결제 흐름은 아래와 같습니다.

순서 단계 주체 설명
1 연동 환경 구성 앱 클라이언트 Steam 콘솔에서 Publisher Web API Key를 발급받고, Hive 콘솔에 등록한 뒤, Steam 결제 플러그인을 설치합니다.
2 Steam 상품 목록 조회 앱 클라이언트 FetchSteamProductsAsync()가 Steam 계정 연동 검증, GetUserInfo, 차단 확인을 내부에서 수행한 뒤 사용자 통화 기준 상품 목록을 반환합니다.
3 상품 구매 앱 클라이언트 InitiatePurchaseAsync()로 Steam InitTxn을 호출하고, 응답의 AES 봉인 AxylReceipt와 주문 정보를 보관한 뒤 Steam Overlay에서 사용자의 승인을 기다립니다. 승인 직후 RecordStorePurchaseAsync()로 QueryTxn을 호출해 승인을 확인하고 주문 상태를 0에서 1로 변경합니다.
4 영수증 검증 및 실제 청구 앱 클라이언트, 앱 서버 앱 클라이언트가 AxylReceipt를 앱 서버에 전달하고, 앱 서버가 Hive Axyl Server API로 영수증을 검증합니다. Steam에서는 이 검증 단계의 QueryTxn 재확인 후 FinalizeTxn에서 실제 청구가 발생합니다.
5 지급 및 완료 처리 앱 서버, 앱 클라이언트 앱 서버가 사용자에게 상품을 지급한 뒤 앱 클라이언트가 FinalizePurchaseAsync()로 주문을 마감합니다. 이 호출은 상태를 1에서 2로 바꿀 뿐 추가 청구를 하지 않습니다. ItemResultAsync()는 지급 결과를 기록합니다.

다음 단계

Steam 결제 연동 환경을 구성합니다.