콘텐츠로 이동

결제 활용 가이드

결제 기능 하나를 앱에 구현하려면 Hive 콘솔 설정, Hive Axyl SDK 호출, 스토어 플러그인 호출, Hive Axyl 서버 API 호출, 레시피 코드 호출을 모두 조합해야 합니다. 구현할 기능을 먼저 선택한 뒤 해당 절차를 순서대로 따라 하세요.

구현 범위

결제 기능 하나를 구현하는 데 필요한 작업은 스토어 콘솔에서 인증 정보를 발급받는 것에서 시작해, 사용자에게 상품을 지급하고 결과를 기록하는 것으로 끝납니다.

각 단계의 작업은 아래 여덟 가지 구분 중 하나에 해당합니다.

구분 담당 내용
스토어 콘솔 앱 운영자 Google Play 콘솔, App Store Connect, Steamworks, PG사 콘솔에서 수행하는 설정입니다.
Hive 콘솔 앱 운영자 Hive 콘솔에서 수행하는 설정입니다.
Hive Axyl SDK 앱 개발자 앱에서 호출하는 Hive Axyl SDK 메서드입니다.
스토어 플러그인 앱 개발자 앱에서 호출하는 스토어 결제 플러그인 메서드입니다.
레시피 코드 앱 개발자 앱에서 호출하는 레시피 메서드입니다.
앱 코드 앱 개발자 Hive Axyl을 거치지 않고 앱이 직접 구현하는 부분입니다.
Hive Axyl 서버 API 앱 서버 개발자 앱 서버에서 호출하는 Hive Axyl 서버 API입니다.
앱 서버 앱 서버 개발자 앱 서버가 자체 로직으로 처리하는 부분입니다.

한 단계에 둘 이상이 관여하는 경우도 있습니다.

파라미터의 의미와 응답 필드는 각 단계에서 연결한 상세 절차를 참조하세요.

레시피

Hive Axyl SDK는 결제 기능을 세분화된 메서드로 제공합니다. 구매를 기록하는 메서드, 결제를 확정하는 메서드, 거래를 종료하는 메서드가 각각 따로 있습니다. 영수증 검증은 앱 서버가 Hive Axyl 서버 API로 처리합니다. 상품 하나를 판매할 때도 호출 순서와 마켓별 분기, 중간 실패 처리를 앱이 직접 조합해야 합니다.

레시피는 그 조합을 미리 완성해 둔 소스 코드입니다. 패키지가 아니라 프로젝트에 복사해서 사용합니다. 레시피는 영수증 검증을 요청하지 않으며, 앱 서버가 영수증을 검증하고 상품을 지급했다고 응답한 뒤에만 거래를 종료합니다.

구분 위치 성격
Hive Axyl SDK Unity 패키지 com.com2usplatform.hiveaxyl.* 설치해서 사용합니다. 결제 기능을 세분화된 메서드로 제공합니다.
레시피 Assets/Recipes/ 복사해서 사용합니다. SDK 호출을 목적 단위로 묶은 순수 C# 코드입니다.
사용 예제 Assets/RecipeExamples/Payments/ 읽고 참고하는 코드입니다. 결제 레시피의 호출 순서와 함께, 구매 정보 저장이나 앱 서버의 검증과 지급처럼 앱이 구현할 부분을 IPurchaseApplication 인터페이스로 보여 줍니다. 이 인터페이스는 사용 예제가 정의한 것으로, SDK나 레시피의 타입이 아닙니다.
레시피는 복사해서 사용하는 코드입니다

레시피는 앱에 복사되어 앱의 코드가 됩니다. 그대로 사용해도 되고 앱 정책에 맞게 수정해서 사용해도 됩니다.

구현할 기능 선택

레시피가 준비된 기능은 소모성 상품 결제, 구독 결제, 미지급 구매 복구 세 가지입니다.

소모성 상품 결제

사용자가 상품을 구매하면 앱이 그 상품을 지급하는 기본 결제입니다. 판매할 마켓을 선택하세요.

구현 절차 마켓 사용자가 결제하는 곳
Google Play 결제 구현 Google Play Play 결제창
Apple App Store 결제 구현 Apple App Store StoreKit 결제창
Steam 결제 구현 Steam Steam 오버레이
PG 결제 구현 PG 외부 브라우저의 결제 페이지

구독 결제

사용자가 구독을 시작하면 주기마다 결제가 자동으로 갱신되는 결제입니다. 구독 레시피는 Google Play와 Apple App Store만 지원하며, Steam과 PG에는 없습니다.

미지급 구매 복구

사용자가 결제를 마쳤지만 상품 지급이 끝나지 않은 소모성 상품 구매를 찾아 남은 상품 지급과 거래 종료를 완료하는 기능입니다. 복구한 구매도 앱 서버가 영수증을 다시 검증한 뒤 상품을 지급합니다. 앱이 도중에 종료되거나 네트워크가 끊겨 지급이 중단된 경우에 필요합니다. 구독 결제는 이 복구로 처리하지 않습니다.

미지급 구매 목록을 가져오는 곳은 마켓마다 다릅니다.

레시피가 없는 기능

아래 기능은 레시피 없이 Hive Axyl SDK나 Hive Axyl 서버 API를 직접 호출해 구현합니다. 구현 방법은 판매할 마켓의 결제 구현 절차에서 확인하세요.

  • 상품 목록 조회
  • 상품 지급 결과 기록
  • 구매 내역 조회

공통 사전 준비

어느 마켓을 선택하든 아래 항목을 먼저 준비해야 합니다.

준비 항목 필수 여부 구분 확인할 곳
프로젝트와 App ID 생성 필수 Hive 콘솔 App ID 생성
로그인 세션 활성화 필수 Hive Axyl SDK 로그인
앱 서버의 Hive Axyl 서버 API 호출 준비 필수 Hive 콘솔, Hive Axyl 서버 API 호출 전 준비
앱 서버 등록 선택 Hive 콘솔 앱 서버

항목별로 확인할 내용은 아래와 같습니다.

  • 로그인 세션 활성화: 결제 주체인 로그인한 사용자의 세션. 세션이 없으면 결제 관련 서버 호출이 인증 오류로 거절되므로 상점 화면을 열기 전에 세션이 유효한지 확인
  • 앱 서버의 Hive Axyl 서버 API 호출 준비: 앱 서버가 Hive Axyl 서버 API로 영수증을 검증하기 위한 준비
  • 앱 서버 등록: Hive Axyl 서버 API 호출 준비와 별개인 선택 설정. 앱 서버를 여러 대 운영하면서 어느 서버에서 발생한 구매인지 구분해야 할 때만 등록

다음 단계

판매할 마켓에서 원하는 결제 상품을 구현하세요. Google Play 결제부터 확인하려면 Google Play 결제 구현을 참조하세요.