Bookmark
|
|
|
|
|
|
|
|
|
|
hive.IAPV4.marketConnect (onIAPV4MarketInfo listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
IAPV4.marketConnect((ResultAPI result, List<IAPV4.IAPV4Type> iapV4TypeList) => { switch(result.code) { case ResultAPI.Code.IAPV4NetworkError: // 기기의 네트워크 연결 상태를 확인하세요. // 기기의 네트워크 연결 상태가 정상임에도 해당 에러가 발생하는 경우 에러 메시지와 함께 HIVE 에 문의주세요. break; case ResultAPI.Code.IAPV4ResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4ServerResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4RequestMarketJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4AppStoreError: // 해당 기기에서 AppStore 연동이 가능한 상태인지 확인하세요. // 해당 문제가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4FailMarketConnect: // 해당 기기에서 선택한 Market에 연동이 가능한 상태인지 확인하세요. // 해당 문제가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
IAPV4::marketConnect([](ResultAPI const & result,std::vector<IAPV4Type> const & marketIDs){ switch(result.code) { case ResultAPI::Code::IAPV4NetworkError: // 기기의 네트워크 연결 상태를 확인하세요. // 기기의 네트워크 연결 상태가 정상임에도 해당 에러가 발생하는 경우 에러 메시지와 함께 HIVE 에 문의주세요. break; case ResultAPI::Code::IAPV4ResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4ServerResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4RequestMarketJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4AppStoreError: // 해당 기기에서 AppStore 연동이 가능한 상태인지 확인하세요. // 해당 문제가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4FailMarketConnect: // 해당 기기에서 선택한 Market에 연동이 가능한 상태인지 확인하세요. // 해당 문제가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
IAPV4.marketConnect(new IAPV4.IAPV4MarketInfoListener() { @Override public void onIAPV4MarketInfo(ResultAPI result, List<IAPV4.IAPV4Type> iapV4TypeList) { switch(result.code) { case IAPV4NetworkError: // 기기의 네트워크 연결 상태를 확인하세요. // 기기의 네트워크 연결 상태가 정상임에도 해당 에러가 발생하는 경우 에러 메시지와 함께 HIVE 에 문의주세요. break; case IAPV4ResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case IAPV4ServerResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case IAPV4RequestMarketJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case IAPV4AppStoreError: // 해당 기기에서 AppStore 연동이 가능한 상태인지 확인하세요. // 해당 문제가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case IAPV4FailMarketConnect: // 해당 기기에서 선택한 Market에 연동이 가능한 상태인지 확인하세요. // 해당 문제가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
[HIVEIAPV4 marketConnect:^(HIVEResultAPI *result, NSArray<NSNumber *> *marketIDs) { switch(result.code) { case kIAPV4NetworkError: // 기기의 네트워크 연결 상태를 확인하세요. // 기기의 네트워크 연결 상태가 정상임에도 해당 에러가 발생하는 경우 에러 메시지와 함께 HIVE 에 문의주세요. break; case kIAPV4ResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case kIAPV4ServerResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case kIAPV4RequestMarketJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case kIAPV4AppStoreError: // 해당 기기에서 AppStore 연동이 가능한 상태인지 확인하세요. // 해당 문제가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case kIAPV4FailMarketConnect: // 해당 기기에서 선택한 Market에 연동이 가능한 상태인지 확인하세요. // 해당 문제가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; //... } }]; |
Code | Message | How to solve |
(필수 구현) IAPV4NetworkError | HIVE 서버 통신에 실패하였습니다. | 기기의 네트워크 연결 상태를 확인하세요. 기기의 네트워크 연결 상태가 정상임에도 해당 에러가 발생하는 경우 에러 메시지와 함께 HIVE 에 문의주세요. |
(필수 구현) IAPV4ResponseError | HIVE 서버 통신 응답값이 정상이 아닙니다. | 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4ServerResponseError | HIVE 서버 통신 응답값이 정상이 아닙니다. | 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4RequestMarketJsonException | [Android] /api/call market 서버 통신을 위한 json 데이터 생성 중 에러가 발생하는 경우 | 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4AppStoreError | [Apple Market] AppStore 연동 시도 중 에러가 발생하였습니다. | 해당 기기에서 AppStore 연동이 가능한 상태인지 확인하세요. 해당 문제가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. AppStore 에러 보기 |
(필수 구현) IAPV4FailMarketConnect | [Google Market] Google Market 연동 시도 중 에러가 발생하였습니다. [Lebi Market] Lebi Market 연동 시도 중 에러가 발생하였습니다. [OneStore Market] OneStore Market 연동 시도 중 에러가 발생하였습니다. | 해당 기기에서 선택한 Market에 연동이 가능한 상태인지 확인하세요. 해당 문제가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. |
IAPV4NotInitialize | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
IAPV4InProgressMarketConnect | Market Connect가 이미 진행중입니다. | IAPV4.marketConnect API가 이미 수행중인 경우 중복으로 API 호출이 불가능합니다. |
IAPV4EmptyMarketList | HIVE 서버 통신 응답 데이터의 마켓 리스트가 비정상입니다. | HIVE에 등록된 마켓 정보를 확인하세요. |
IAPV4NotSupportedMarket | 현재 버전의 HIVE SDK에서 사용 불가능한 마켓입니다. | HIVE에 등록된 마켓 정보를 확인하세요. |
IAPV4MarketPidListEmptyInIAPServer | HIVE 서버에 등록된 마켓이 없거나 지원하지 않는 마켓입니다. | HIVE에 등록된 마켓 정보를 확인하세요. |
IAPV4FailToConvertNSSet | [Apple Market] HIVE 서버에 등록된 Apple 마켓의 아이템 리스트가 유효하지 않습니다. | HIVE에 등록된 Apple 마켓의 아이템 정보를 확인하세요. |
IAPV4InProgressConnectAppStore | [Apple Market] 이미 AppStore에 연결을 시도중입니다. | 이미 IAPV4.marketCoonect API를 통해 시도중인 AppStore 연결이 종료될 때 까지 기다려주세요. |
IAPV4AppStoreResponseEmpty | [Apple Market] AppStore에 등록된 아이템 정보가 없거나, AppStore 연동이 정상적으로 진행되지 않았습니다. | AppStore에 상품이 등록되어 있지 않거나, 상품이 비활성화 되어 있는지 확인하세요. 순간적인 인터넷 단절 등의 상황으로 통신이 이루어지지 못하였는지 확인하세요. |
IAPV4PlayStoreQueryInventoryFail | [Google Market] Google Market 연동이 정상적으로 진행되지 않았거나 상품 정보 조회가 정상적으로 진행되지 않았습니다. | 해당 기기에서 Google Market 연동이 가능한 상태인지 확인하세요. 해당 문제가 지속되는 경우 전달받은 메시지와 함께 Hive에 문의하세요. 4.16.0, 1.20.0 부터 추가되었습니다. |
hive.IAPV4.getProductInfo (onIAPV4ProductInfo listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
IAPV4.getProductInfo((ResultAPI result, List<IAPV4.IAPV4Product> iapV4ProductList, int balance) => { switch(result.code) { case ResultAPI.Code.IAPV4ProductInfoJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4RequestProductJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4ResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; /***** 구매 진행할 마켓 선택이 필요한 경우 *****/ case ResultAPI.Code.IAPV4EmptyMarketURL: // 구매 진행할 Market 선택 리스트가 없습니다. break; case ResultAPI.Code.IAPV4CancelMarketSelect: // 구매 진행할 Market 선택을 취소하거나, 선택 처리중 에러가 발생하였습니다. // Market 선택이 진행되지 않으면 구매가 진행 될 수 없으므로 해당 API를 재시도하세요. // 해당 에러가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4NetworkError: // 기기의 네트워크 연결 상태를 확인하세요. // 기기의 네트워크 연결 상태가 정상임에도 해당 에러가 발생하는 경우 에러 메시지와 함께 HIVE 에 문의주세요. break; case ResultAPI.Code.IAPV4ServerResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
IAPV4::getProductInfo([](ResultAPI const & result,std::vector<IAPV4Product> const & productInfoList,unsigned int balance){ switch(result.code) { case ResultAPI::Code::IAPV4ProductInfoJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4RequestProductJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4ResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; /***** 구매 진행할 마켓 선택이 필요한 경우 *****/ case ResultAPI::Code::IAPV4EmptyMarketURL: // 구매 진행할 Market 선택 리스트가 없습니다. break; case ResultAPI::Code::IAPV4CancelMarketSelect: // 구매 진행할 Market 선택을 취소하거나, 선택 처리중 에러가 발생하였습니다. // Market 선택이 진행되지 않으면 구매가 진행 될 수 없으므로 해당 API를 재시도하세요. // 해당 에러가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4NetworkError: // 기기의 네트워크 연결 상태를 확인하세요. // 기기의 네트워크 연결 상태가 정상임에도 해당 에러가 발생하는 경우 에러 메시지와 함께 HIVE 에 문의주세요. break; case ResultAPI::Code::IAPV4ServerResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
IAPV4.getProductInfo(new IAPV4.IAPV4ProductInfoListener() { @Override public void onIAPV4ProductInfo(ResultAPI result, final List<IAPV4.IAPV4Product> iapV4ProductList, final int balance) { switch(result.code) { case IAPV4ProductInfoJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case IAPV4RequestProductJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case IAPV4ResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; /***** 구매 진행할 마켓 선택이 필요한 경우 *****/ case IAPV4EmptyMarketURL: // 구매 진행할 Market 선택 리스트가 없습니다. break; case IAPV4CancelMarketSelect: // 구매 진행할 Market 선택을 취소하거나, 선택 처리중 에러가 발생하였습니다. // Market 선택이 진행되지 않으면 구매가 진행 될 수 없으므로 해당 API를 재시도하세요. // 해당 에러가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case IAPV4NetworkError: // 기기의 네트워크 연결 상태를 확인하세요. // 기기의 네트워크 연결 상태가 정상임에도 해당 에러가 발생하는 경우 에러 메시지와 함께 HIVE 에 문의주세요. break; case IAPV4ServerResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[HIVEIAPV4 getProductInfo:^(HIVEResultAPI *result, NSArray<HIVEIAPV4Product *> *productInfoList, NSUInteger balance) { switch (result.code) { case kIAPV4ProductInfoJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case kIAPV4RequestProductJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case kIAPV4ResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; /***** 구매 진행할 마켓 선택이 필요한 경우 *****/ case kIAPV4EmptyMarketURL: // 구매 진행할 Market 선택 리스트가 없습니다. break; case kIAPV4CancelMarketSelect: // 구매 진행할 Market 선택을 취소하거나, 선택 처리중 에러가 발생하였습니다. // Market 선택이 진행되지 않으면 구매가 진행 될 수 없으므로 해당 API를 재시도하세요. // 해당 에러가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case kIAPV4NetworkError: // 기기의 네트워크 연결 상태를 확인하세요. // 기기의 네트워크 연결 상태가 정상임에도 해당 에러가 발생하는 경우 에러 메시지와 함께 HIVE 에 문의주세요. break; case kIAPV4ServerResponseError: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; //... } }]; |
Code | Message | How to solve |
(필수 구현) IAPV4ProductInfoJsonException | HIVE 서버 통신에 필요한 정보가 누락되었습니다. | 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4RequestProductJsonException | HIVE 서버 통신에 필요한 정보가 누락되었습니다. | 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4ResponseError | HIVE 서버 통신 응답값이 정상이 아닙니다. | 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4EmptyMarketURL | 선택 할 수 있는 Market이 없습니다. | 구매 진행할 Market 선택 리스트가 없습니다. |
(필수 구현) IAPV4CancelMarketSelect | 구매 진행할 Market 선택에 에러가 발생하였습니다. | 구매 진행할 Market 선택을 취소하거나, 선택 처리중 에러가 발생하였습니다. Market 선택이 진행되지 않으면 구매가 진행 될 수 없으므로 해당 API를 재시도하세요. 해당 에러가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4NetworkError | HIVE 서버 통신에 실패하였습니다. | 기기의 네트워크 연결 상태를 확인하세요. 기기의 네트워크 연결 상태가 정상임에도 해당 에러가 발생하는 경우 에러 메시지와 함께 HIVE 에 문의주세요. |
(필수 구현) IAPV4ServerResponseError | HIVE 서버 통신 응답값이 정상이 아닙니다. | 전달받은 메시지와 함께 HIVE에 문의주세요. |
IAPV4NotInitialize | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
IAPV4NeedMarketConnect | 마켓 연동이 되어있지 않습니다. | IAPV4.MarketConnect API를 호출하여 IAPV4 Market 연동를 수행하세요. API 보기 |
IAPV4NeedSignIn | 로그인이 되어있지 않습니다. | AuthV4.helper.signIn API를 호출하여 로그인을 수행하세요. API 보기 |
IAPV4EmptyProductList | HIVE에 등록된 구매 가능한 아이템이 존재하지 않습니다. | HIVE에 구매할 아이템 정보를 등록하세요. |
IAPV4InProgressMarketSelect | 구매 진행할 Market 선택이 이미 진행중입니다. | 구매 진행할 Market 선택 이후 다시 수행하세요. |
IAPV4NeedSignIn | [Lebi Market] HIVE 로그인이 되어있지 않아 Lebi Market 이용이 불가능합니다. | AuthV4.helper.connect API를 providerType 을 HIVE로 설정하여 HIVE 연동을 수행하도록 안내하세요. API 보기 |
IAPV4NotSupportedMarket | 현재 기기의 OS에서 지원할 수 없는 Market을 선택하였습니다. | Market 선택 팝업에서 지원할 수 없는 Market이 노출되지 않도록 하세요. |
IAPV4PlayStoreQueryInventoryFail | [Google Market] Google Market 연동이 정상적으로 진행되지 않았거나 상품 정보 조회가 정상적으로 진행되지 않았습니다. | 해당 기기에서 Google Market 연동이 가능한 상태인지 확인하세요. 해당 문제가 지속되는 경우 전달받은 메시지와 함께 Hive에 문의하세요. 4.16.0, 1.20.0 부터 추가되었습니다. |
hive.IAPV4.purchase (String marketPid, String additionalInfo, onIAPV4Purchase listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
IAPV4.purchase ("com.gcp.product1", "{\"characterName\":\"GCP\"}", (ResultAPI result, IAPV4.IAPV4Receipt iapV4Receipt) => { switch(result.code) { case ResultAPI.Code.IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case ResultAPI.Code.IAPV4NeedRestore: // IAPV4.restore API를 통해 구매복구를 진행하세요. break; case ResultAPI.Code.IAPV4PurchaseParamJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4CancelPayment: // 구매를 취소하였음을 알려주세요. break; /**** Apple 상점 이용 *****/ case ResultAPI.Code.IAPV4AppStoreError: // 구매를 취소하였음을 알려주세요. break; /***** Google 상점 이용 *****/ case ResultAPI.Code.IAPV4FailPayment: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPPlayStoreLaunchPurchaseFlowException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; /***** Lebi 상점 이용 *****/ case ResultAPI.Code.IAPV4LebiCancel: // 유저가 Lebi 잔액 충전을 취소하였습니다. 잔액이 부족하여 구매를 진행 할 수 없음을 안내하세요. break; case ResultAPI.Code.IAPV4LebiPurchaseNetworkError: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4LebiPurchaseJsonException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4LebiInternalRequestException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.CommonUnknown: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4PlayStorePending: // 오프라인 구매 등의 이유로 구매가 대기 중인 거래 처리되었습니다. //이후 UE의 IAP_UPDATED 신호에서 Restore 시 구매 완료된 영수증을 받을 수 있습니다. break; ... } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
string marketPid = "com.gcp.product1"; string additionalInfo = "{\"characterName\":\"GCP\"}"; IAPV4::purchase(pidList[index], getEditboxValue(EDITBOX_ADDITIONAL_INFO), [](ResultAPI const & result,IAPV4Receipt const & receipt){ switch(result.code) { case ResultAPI::Code::IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case ResultAPI::Code::IAPV4NeedRestore: // IAPV4.restore API를 통해 구매복구를 진행하세요. break; case ResultAPI::Code::IAPV4PurchaseParamJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4CancelPayment: // 구매를 취소하였음을 알려주세요. break; / Apple 상점 이용 *****/ case ResultAPI::Code::IAPV4AppStoreError: // 구매를 취소하였음을 알려주세요. break; /***** Google 상점 이용 *****/ case ResultAPI::Code::IAPV4FailPayment: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPPlayStoreLaunchPurchaseFlowException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; /***** Lebi 상점 이용 *****/ case ResultAPI::Code::IAPV4LebiCancel: // 유저가 Lebi 잔액 충전을 취소하였습니다. 잔액이 부족하여 구매를 진행 할 수 없음을 안내하세요. break; case ResultAPI::Code::IAPV4LebiPurchaseNetworkError: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4LebiPurchaseJsonException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4LebiInternalRequestException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::CommonUnknown: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4PlayStorePending: // 오프라인 구매 등의 이유로 구매가 대기 중인 거래 처리되었습니다. //이후 UE의 IAP_UPDATED 신호에서 Restore 시 구매 완료된 영수증을 받을 수 있습니다. break; ... } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
IAPV4.purchase("com.gcp.product1", "{\"characterName\":\"GCP\"}", new IAPV4.IAPV4PurchaseListener() { @Override public void onIAPV4Purchase(ResultAPI result, final IAPV4.IAPV4Receipt iapV4Receipt) { switch(result.code) { case IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case IAPV4NeedRestore: // IAPV4.restore API를 통해 구매복구를 진행하세요. break; case IAPV4PurchaseParamJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case IAPV4CancelPayment: // 구매를 취소하였음을 알려주세요. break; / Apple 상점 이용 *****/ case IAPV4AppStoreError: // 구매를 취소하였음을 알려주세요. break; /***** Google 상점 이용 *****/ case IAPV4FailPayment: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case IAPPlayStoreLaunchPurchaseFlowException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; /***** Lebi 상점 이용 *****/ case IAPV4LebiCancel: // 유저가 Lebi 잔액 충전을 취소하였습니다. 잔액이 부족하여 구매를 진행 할 수 없음을 안내하세요. break; case IAPV4LebiPurchaseNetworkError: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case IAPV4LebiPurchaseJsonException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case IAPV4LebiInternalRequestException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case CommonUnknown: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case IAPV4PlayStorePending: // 오프라인 구매 등의 이유로 구매가 대기 중인 거래 처리되었습니다. //이후 UE의 IAP_UPDATED 신호에서 Restore 시 구매 완료된 영수증을 받을 수 있습니다. break; ... } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
[HIVEIAPV4 purchase:@"com.gcp.product1" additionalInfo:@"{\"characterName\":\"GCP\"}" handler:^(HIVEResultAPI *result, HIVEIAPV4Receipt *receipt) { switch (result.code) { case kIAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case kIAPV4NeedRestore: // IAPV4.restore API를 통해 구매복구를 진행하세요. break; case kIAPV4PurchaseParamJsonException: // 전달받은 메시지와 함께 HIVE에 문의주세요. break; case kIAPV4CancelPayment: // 구매를 취소하였음을 알려주세요. break; /**** Apple 상점 이용 *****/ case kIAPV4AppStoreError: // 구매를 취소하였음을 알려주세요. break; /***** Google 상점 이용 *****/ case kIAPV4FailPayment: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case kIAPPlayStoreLaunchPurchaseFlowException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; /***** Lebi 상점 이용 *****/ case kIAPV4LebiCancel: // 유저가 Lebi 잔액 충전을 취소하였습니다. 잔액이 부족하여 구매를 진행 할 수 없음을 안내하세요. break; case kIAPV4LebiPurchaseNetworkError: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case kIAPV4LebiPurchaseJsonException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case kIAPV4LebiInternalRequestException: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; case kCommonUnknown: // 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. //해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; //... } }]; |
Code | Message | How to solve |
(필수 구현) IAPV4RestrictPayments | Apple App Store 구매 권한이 없습니다. | 기기내 구매 차단 여부를 확인하세요. |
(필수 구현) IAPV4NeedRestore | 해당 아이템이 restore 상태인 경우restore할 아이템이 존재하는 경우 | IAPV4.restore API를 통해 구매복구를 진행하세요. |
(필수 구현) IAPV4PurchaseParamJsonException | HIVE 서버 통신에 필요한 정보가 누락되었습니다. | 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4CancelPayment | 유저가 아이템 구매를 취소하였습니다. [Google Market] 유저가 아이템 구매를 취소하였습니다. | 구매를 취소하였음을 알려주세요. |
(필수 구현) IAPV4AppStoreError | 유저가 아이템 구매를 취소하였습니다. [Google Market] 유저가 아이템 구매를 취소하였습니다. | 구매를 취소하였음을 알려주세요. |
(필수 구현) IAPV4AppStoreError | [Apple Market] AppStore Market에 구매 처리 중 문제가 발생하였습니다. | 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4FailPayment | [Google Market] Google Market에 구매 처리 중 문제가 발생하였습니다. | 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPPlayStoreLaunchPurchaseFlowException | [Google Market] Google Market에서 전달받은 구매 완료 정보 처리 중 문제가 발생하였습니다. | 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4LebiCancel | [Lebi Market] Lebi 잔액 충전을 취소하였습니다. 잔액이 부족하여 구매가 취소됩니다. | 유저가 Lebi 잔액 충전을 취소하였습니다. 잔액이 부족하여 구매를 진행 할 수 없음을 안내하세요. |
(필수 구현) IAPV4LebiPurchaseNetworkError |
[Lebi Market] Lebi Market에 구매 처리 중 문제가 발생하였습니다. | 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4LebiPurchaseJsonException |
[Lebi Market] Lebi Market에서 전달받은 구매 완료 정보 처리 중 문제가 발생하였습니다. | 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4LebiInternalRequestException | [Lebi Market] Lebi Market에서 전달받은 구매 완료 정보 처리 중 문제가 발생하였습니다. | 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4LebiInternalRequestException | [Lebi Market] Lebi Market에서 전달받은 구매 완료 정보 처리 중 문제가 발생하였습니다. | 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. |
(필수 구현) CommonUnknown | [Lebi Market] Lebi Market에서 전달받은 구매 완료 정보 처리 중 문제가 발생하였습니다. | 문제 발생에 대한 안내 후 다시 구매를 시도하도록 안내하세요. 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. |
IAPV4NotInitialize | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
IAPV4NeedMarketConnect | 마켓 연동이 되어있지 않습니다. | IAPV4.MarketConnect API를 호출하여 IAPV4 Market 연동를 수행하세요. API 보기 |
IAPV4NeedSignIn | 로그인이 되어있지 않습니다. | AuthV4.helper.signIn API를 호출하여 로그인을 수행하세요. API 보기 |
IAPV4EmptyParamMarketPID | API 호출시 전달한 marketPid값이 유효하지 않습니다. | 구매 가능한 marketPid값을 입력해주세요. |
IAPV4EmptyProductList | HIVE에 등록된 구매 가능한 아이템이 존재하지 않습니다. | HIVE에 구매할 아이템 정보를 등록하세요. |
IAPV4ProductNotExistInIAPServer | 구매하려는 아이템이 HIVE 에 등록된 아이템이 아닙니다. | HIVE에 구매할 아이템 정보를 등록하세요. |
IAPV4ProductNotExist | 구매하려는 아이템이 해당하는 Market에 등록된 아이템이 아닙니다. | 해당하는 Market에 아이템 정보를 등록하세요. |
IAPV4ProductNotExsitInAppStore | 구매하려는 아이템이 AppStore Market 에 등록된 아이템이 아닙니다. | AppStore Market에 아이템 정보를 등록하세요. |
IAPV4InProgressPurchasing | 구매가 이미 진행중 입니다. | IAPV4.purchase API를 통해 구매가 이미 진행 중 입니다. |
IAPV4InProgressRestoring | 구매복구가 이미 진행 중 입니다. | IAPV4.restore API를 통해 구매복구가 이미 진행 중 입니다. |
IAPV4FailCreateSKPayment | 구매 요청 정보 처리 중 에러가 발생하였습니다. | 구매 정보 처리 중 에러가 발생하였습니다. 전달받은 메세지와 함께 HIVE에 문의주세요.. |
IAPV4NeedsHiveSyncing | [Lebi Market] HIVE 로그인이 되어있지 않아 Lebi Market 이용이 불가능합니다. | AuthV4.helper.connect API를 providerType 을 HIVE로 설정하여 HIVE 연동을 수행하도록 안내하세요. API 보기 |
hive.IAPV4.restore (onIAPV4Restore listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 |
IAPV4.restore ((ResultAPI result, List<IAPV4.IAPV4Receipt> iapV4ReceiptList) => { switch(result.code) { case ResultAPI.Code.IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case ResultAPI.Code.IAPV4FailToRestore: // 문제 발생에 대한 안내 후 다시 구매 복구를 시도하도록 안내하세요. // 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; ... } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 |
IAPV4::restore([](ResultAPI const & result,std::vector<std::reference_wrapper<IAPV4Receipt>> receiptList) { switch(result.code) { case ResultAPI::Code::IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case ResultAPI::Code::IAPV4FailToRestore: // 문제 발생에 대한 안내 후 다시 구매 복구를 시도하도록 안내하세요. // 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; ... } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
IAPV4.restore(new IAPV4.IAPV4RestoreListener() { @Override public void onIAPV4Restore(ResultAPI result, List<IAPV4.IAPV4Receipt> iapv4ReceiptList) { switch(result.code) { case IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case IAPV4FailToRestore: // 문제 발생에 대한 안내 후 다시 구매 복구를 시도하도록 안내하세요. // 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; ... } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 |
[HIVEIAPV4 restore:^(HIVEResultAPI *result, NSArray<HIVEIAPV4Receipt *> *receiptList) { switch (result.code) { case kIAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case kIAPV4FailToRestore: // 문제 발생에 대한 안내 후 다시 구매 복구를 시도하도록 안내하세요. // 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. break; //... } }]; |
Code | Message | How to solve |
(필수 구현) IAPV4RestrictPayments | Apple App Store 구매 권한이 없습니다. | 기기내 구매 차단 여부를 확인하세요. |
(필수 구현) Google : IAPV4FailToRestore | [Google Market] Google Market에서 구매 복구 처리 중 문제가 발생하였습니다. | 문제 발생에 대한 안내 후 다시 구매 복구를 시도하도록 안내하세요. 해당 문제가 지속되는 경우 전달받은 메세지와 함께 HIVE에 문의주세요. |
IAPV4NotInitialize | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
IAPV4NeedMarketConnect | 마켓 연동이 되어있지 않습니다. | IAPV4.MarketConnect API를 호출하여 IAPV4 Market 연동를 수행하세요. API 보기 |
IAPV4NeedSignIn | 로그인이 되어있지 않습니다. | AuthV4.helper.signIn API를 호출하여 로그인을 수행하세요. API 보기 |
IAPV4NotSupportedMarket | 현재 기기의 OS에서 지원할 수 없는 Market을 선택하였습니다. | Market 선택 팝업에서 지원할 수 없는 Market이 노출되지 않도록 하세요. |
IAPV4EmptyProductList | HIVE에 등록된 구매 가능한 아이템이 존재하지 않습니다. | HIVE에 구매할 아이템 정보를 등록하세요. |
IAPV4InProgressPurchasing | 구매가 이미 진행중 입니다. | IAPV4.purchase API를 통해 구매가 이미 진행 중 입니다. |
IAPV4InProgressRestoring | 구매복구가 이미 진행 중 입니다. | IAPV4.restore API를 통해 구매복구가 이미 진행 중 입니다. |
IAPV4InProgressCheckPromote | Promote 인앱 구매 정보 호출 기능을 사용중입니다. | IAPV4.checkPromotePurchase API를 통해 Promote 구매 정보 요청이 이미 진행 중 입니다. |
IAPV4NothingToRestore | 구매 복구 처리가 필요한 아이템이 존재하지 않습니다. | 구매 복구 처리가 필요한 아이템이 존재하지 않습니다. |
hive.IAPV4.transactionFinish (String marketPid, onIAPV4TransacionFinish listener)
Unity
1 2 3 4 5 6 |
IAPV4.transactionFinish ("com.gcp.product1", (ResultAPI result, String finishMarketPid) => { switch(result.code) { ... // 추가로 IAPV4.transactionFinish와 동일한 ResultAPI 코드가 전달됩니다. } }); |
C++
1 2 3 4 5 6 7 |
string marketPid = "com.gcp.product1"; IAPV4::transactionFinish(marketPid,[](ResultAPI const & result,std::string marketPid){ switch(result.code) { ... // 추가로 IAPV4.transactionFinish와 동일한 ResultAPI 코드가 전달됩니다. } }); |
Android
1 2 3 4 5 6 7 8 9 |
IAPV4.transactionFinish("com.gcp.product1", new IAPV4.IAPV4TransactionFinishListener() { @Override public void onIAPV4TransacionFinish(ResultAPI result, String marketPid) { switch(result.code) { ... // 추가로 IAPV4.transactionFinish와 동일한 ResultAPI 코드가 전달됩니다. } } }); |
iOS
1 2 3 4 5 6 |
[HIVEIAPV4 transactionFinish:@"com.gcp.product1" handler:^(HIVEResultAPI *result, NSString *marketPid) { switch (result.code) { //... // 추가로 IAPV4.transactionFinish와 동일한 ResultAPI 코드가 전달됩니다. } }]; |
Code | Message | How to solve |
hive.IAPV4.transactionMultiFinish (List< String > marketPidList, onIAPV4TransacionMultiFinish listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
List<String> marketPidList = new List<String>(); marketPidList.Add(iapV4Receipt.product.marketPid); IAPV4.transactionMultiFinish (marketPidList, (List<ResultAPI> resultList, List<String> marketPidList) => { foreach(ResultAPI result in resultList) { switch(result.code) { case ResultAPI.Code.IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case ResultAPI.Code.IAPV4PlayStoreFinishFail: // 구매 완료 처리할 아이템이 비정상적인 경로로 구매 된 아이템인지 확인하세요. // 정상적인 경로로 구매 된 아이템 종료 처리시 지속적으로 해당 에러가 발생하는 경우 HIVE에 문의하세요. break; ... } } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
IAPV4::transactionMultiFinish(multiPid, [](std::vector<ResultAPI> const & resultList,std::vector<std::string> const & marketPidList){ for(int i=0;i<resultList.size();++i){ ResultAPI result = resultList[i]; switch(result.code) { case ResultAPI::Code::IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case ResultAPI::Code::IAPV4PlayStoreFinishFail: // 구매 완료 처리할 아이템이 비정상적인 경로로 구매 된 아이템인지 확인하세요. // 정상적인 경로로 구매 된 아이템 종료 처리시 지속적으로 해당 에러가 발생하는 경우 HIVE에 문의하세요. break; ... } } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
ArrayList<String> marketPidList = new ArrayList<String>(); marketPidList.add(iapV4Receipt.product.marketPid); IAPV4.transactionMultiFinish(marketPidList, new IAPV4.IAPV4TransactionMultiFinishListener() { @Override public void onIAPV4TransacionMultiFinish(List<ResultAPI> resultList, List<String> marketPidList) { for (ResultAPI result : resultList) { switch(result.code) { case IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case IAPV4PlayStoreFinishFail: // 구매 완료 처리할 아이템이 비정상적인 경로로 구매 된 아이템인지 확인하세요. // 정상적인 경로로 구매 된 아이템 종료 처리시 지속적으로 해당 에러가 발생하는 경우 HIVE에 문의하세요. break; ... } } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
NSMutableArray<NSString*> *marketPidList = [NSMutableArray array]; [marketPidList addObject:iapV4Receipt.product.marketPid]; [HIVEIAPV4 transactionMultiFinish:marketPidList handler:^(NSArray<HIVEResultAPI *> *resultList, NSArray<NSString *> *marketPidList) { for(HIVEResultAPI *result in resultList) { switch (result.code) { case kIAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; case kIAPV4PlayStoreFinishFail: // 구매 완료 처리할 아이템이 비정상적인 경로로 구매 된 아이템인지 확인하세요. // 정상적인 경로로 구매 된 아이템 종료 처리시 지속적으로 해당 에러가 발생하는 경우 HIVE에 문의하세요. break; //... } } }]; |
Code | Message | How to solve |
(필수 구현) IAPV4RestrictPayments | Apple App Store 구매 권한이 없습니다. | 기기내 구매 차단 여부를 확인하세요. |
(필수 구현) IAPV4PlayStoreFinishFail | [Google Market] Google Market에 구매 동기화 중 에러가 발생하였습니다. | 구매 완료 처리할 아이템이 비정상적인 경로로 구매 된 아이템인지 확인하세요. 정상적인 경로로 구매 된 아이템 종료 처리시 지속적으로 해당 에러가 발생하는 경우 HIVE에 문의하세요. |
IAPV4NotInitialize | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
IAPV4NeedMarketConnect | 마켓 연동이 되어있지 않습니다. | IAPV4.MarketConnect API를 호출하여 IAPV4 Market 연동를 수행하세요. API 보기 |
IAPV4NeedSignIn | 로그인이 되어있지 않습니다. | AuthV4.helper.signIn API를 호출하여 로그인을 수행하세요. API 보기 |
IAPV4NeedMarketConnect | 마켓 연동이 되어있지 않습니다. | IAPV4.MarketConnect API를 호출하여 IAPV4 Market 연동를 수행하세요. API 보기 |
IAPV4NotSupportedMarket | 현재 기기의 OS에서 지원할 수 없는 Market을 선택하였습니다. | Market 선택 팝업에서 지원할 수 없는 Market이 노출되지 않도록 하세요. |
IAPV4FinishMarketPidEmpty | API 호출시 전달한 marketPidList값이 유효하지 않습니다. | 구매 가능한 marketPid값을 입력해주세요. |
IAPV4LebiFinishFail | [Lebi Market] Lebi 서버에 해당 아이템 구매 정보가 존재하지 않습니다. | 구매 완료 처리할 아이템이 비정상적인 경로로 구매 된 아이템인지 확인하세요. 정상적인 경로로 구매 된 아이템 종료 처리시 지속적으로 해당 에러가 발생하는 경우 HIVE에 문의하세요. |
hive.IAPV4.checkPromotePurchase
Unity
1 2 3 4 5 6 7 8 |
IAPV4.checkPromotePurchase ((ResultAPI result, String marketPid) => { switch(result.code) { case ResultAPI.Code.IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; ... } }); |
C++
1 2 3 4 5 6 7 8 |
IAPV4::checkPromotePurchase([](ResultAPI const & result,std::string marketPid) { switch(result.code) { case ResultAPI::Code::IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; ... } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 |
IAPV4.checkPromotePurchase(new IAPV4.IAPV4CheckPromotePurchaseListener() { @Override public void onIAPV4CheckPromotePurchase(ResultAPI result, String marketPid) { switch(result.code) { case IAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; ... } } }); |
iOS
1 2 3 4 5 6 7 8 |
[HIVEIAPV4 checkPromotePurchase:^(HIVEResultAPI *result, NSString *marketPid) { switch (result.code) { case kIAPV4RestrictPayments: // 기기내 구매 차단 여부를 확인하세요. break; //... } }]; |
Code | Message | How to solve |
(필수 구현) IAPV4RestrictPayments | Apple App Store 구매 권한이 없습니다. | 기기내 구매 차단 여부를 확인하세요. |
IAPV4NotInitialize | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
IAPV4NeedMarketConnect | 마켓 연동이 되어있지 않습니다. | IAPV4.MarketConnect API를 호출하여 IAPV4 Market 연동를 수행하세요. API 보기 |
IAPV4NeedSignIn | 로그인이 되어있지 않습니다. | AuthV4.helper.signIn API를 호출하여 로그인을 수행하세요. API 보기 |
IAPV4NotSupportedMarket | 현재 기기의 OS에서 지원할 수 없는 Market을 선택하였습니다. | Market 선택 팝업에서 지원할 수 없는 Market이 노출되지 않도록 하세요. |
IAPV4EmptyProductList | HIVE에 등록된 구매 가능한 아이템이 존재하지 않습니다. | HIVE에 구매할 아이템 정보를 등록하세요. |
IAPV4InProgressPurchasing | 구매가 이미 진행중 입니다. | IAPV4.purchase API를 통해 구매가 이미 진행 중 입니다. |
IAPV4InProgressRestoring | 구매복구가 이미 진행 중 입니다. | IAPV4.restore API를 통해 구매복구가 이미 진행 중 입니다. |
IAPV4InProgressCheckPromote | Promote 인앱 구매 정보 호출 기능을 사용중입니다. | IAPV4.checkPromotePurchase API를 통해 Promote 구매 정보 요청이 이미 진행 중 입니다. |
IAPV4PromoteMarketPidEmpty | API 호출시 전달한 marketPidList값이 유효하지 않습니다. | 구매 가능한 marketPid값을 입력해주세요. |
hive.IAPV4.showMarketSelection
Unity
1 2 3 4 5 6 7 8 9 10 |
IAPV4.showMarketSelection ((ResultAPI result, List<IAPV4.IAPV4Type> iapV4TypeList) => { switch(result.code) { case ResultAPI.Code.IAPV4CancelMarketSelect: // 구매 진행할 Market 선택을 취소하거나, 선택 처리중 에러가 발생하였습니다. // Market 선택이 진행되지 않으면 구매가 진행 될 수 없으므로 해당 API를 재시도하세요. // 해당 에러가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } }); |
C++
1 2 3 4 5 6 7 8 9 10 |
IAPV4::showMarketSelection([](ResultAPI const & result,std::vector<IAPV4Type> const & marketIDs) { switch(result.code) { case ResultAPI::Code::IAPV4CancelMarketSelect: // 구매 진행할 Market 선택을 취소하거나, 선택 처리중 에러가 발생하였습니다. // Market 선택이 진행되지 않으면 구매가 진행 될 수 없으므로 해당 API를 재시도하세요. // 해당 에러가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 |
IAPV4.showMarketSelection(new IAPV4.IAPV4MarketInfoListener() { @Override public void onIAPV4MarketInfo(ResultAPI result, List<IAPV4Type> iapV4TypeList) { switch(result.code) { case IAPV4CancelMarketSelect: // 구매 진행할 Market 선택을 취소하거나, 선택 처리중 에러가 발생하였습니다. // Market 선택이 진행되지 않으면 구매가 진행 될 수 없으므로 해당 API를 재시도하세요. // 해당 에러가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } } }); |
iOS
1 |
// 지원하지 않음 |
Code | Message | How to solve |
(필수 구현) IAPV4CancelMarketSelect | 구매 진행할 Market 선택에 에러가 발생하였습니다. | 구매 진행할 Market 선택을 취소하거나, 선택 처리중 에러가 발생하였습니다. Market 선택이 진행되지 않으면 구매가 진행 될 수 없으므로 해당 API를 재시도하세요. 해당 에러가 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. |
IAPV4NeedMarketConnect | 마켓 초기화가 되어있지 않습니다. | IAPV4.MarketConnect API를 호출하여 IAPV4 Market 초기화를 수행하세요. API 보기 |
IAPV4NeedSignIn | 로그인이 되어있지 않습니다. | AuthV4.helper.signIn API를 호출하여 로그인을 수행하세요. API 보기 |
hive.IAPV4.getBalanceInfo (Android Only)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
IAPV4.getBalanceInfo ((ResultAPI result, int balance) => { switch(result.code) { /***** Lebi 마켓 이용 *****/ case ResultAPI.Code.IAPV4LebiInternalRequestException: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.CommonUnknown: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4LebiBalanceParamJsonException: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4LebiBalanceNetworkError: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI.Code.IAPV4LebiPostException: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
IAPV4::getBalanceInfo([](ResultAPI const & result, int balance) { switch(result.code) { /***** Lebi 마켓 이용 *****/ case ResultAPI::Code::IAPV4LebiInternalRequestException: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::CommonUnknown: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4LebiBalanceParamJsonException: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4LebiBalanceNetworkError: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case ResultAPI::Code::IAPV4LebiPostException: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
IAPV4.getBalanceInfo(new IAPV4.IAPV4BalanceInfoListener() { @Override public void onIAPV4Balance(ResultAPI result, int balance) { switch(result.code) { /***** Lebi 마켓 이용 *****/ case IAPV4LebiInternalRequestException: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case CommonUnknown: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case IAPV4LebiBalanceParamJsonException: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case IAPV4LebiBalanceNetworkError: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; case IAPV4LebiPostException: // 일시적으로 해당 현상이 발생 할 수 있습니다. // 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. break; ... } } }); |
iOS
1 |
// 지원하지 않음 |
Code | Message | How to solve |
(필수 구현) IAPV4LebiInternalRequestException | [Lebi Market] Lebi Market 서버 통신 응답 데이터가 비정상입니다. | 일시적으로 해당 현상이 발생 할 수 있습니다. 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) CommonUnknown | [Lebi Market] Lebi Market 서버 통신 응답 데이터 처리 중 알 수 없는 에러가 발생하였습니다. | 일시적으로 해당 현상이 발생 할 수 있습니다. 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4LebiBalanceParamJsonException | [Lebi Market] Lebi Market 서버 통신 응답 데이터 포맷이 처리 할 수 없는 형태입니다. | 일시적으로 해당 현상이 발생 할 수 있습니다. 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4LebiBalanceNetworkError | [Lebi Market] Lebi Market 서버 통신 응답값이 정상이 아닙니다. | 일시적으로 해당 현상이 발생 할 수 있습니다. 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. |
(필수 구현) IAPV4LebiPostException | [Lebi Market] Lebi Market 서버 통신 요청 데이터가 비정상입니다. | 일시적으로 해당 현상이 발생 할 수 있습니다. 해당 현상이 지속되는 경우 전달받은 메시지와 함께 HIVE에 문의주세요. |
IAPV4NotInitialize | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
IAPV4NeedMarketConnect | 마켓 연동이 되어있지 않습니다. | IAPV4.MarketConnect API를 호출하여 IAPV4 Market 연동를 수행하세요. API 보기 |
IAPV4NeedSignIn | 로그인이 되어있지 않습니다. | AuthV4.helper.signIn API를 호출하여 로그인을 수행하세요. API 보기 |
IAPV4MarketNotSupportedAPI | [Google Market] 현재 선택된 Market에서 해당 API를 지원하지 않습니다. | 지원 가능한 Market에서 해당 API를 호출하세요. |
IAPV4MarketNotSupportedAPI | [OneStore Market] 현재 선택된 Market에서 해당 API를 지원하지 않습니다. | 지원 가능한 Market에서 해당 API를 호출하세요. |
hive.IAPV4.showCharge (Android Only)
Unity
1 2 3 4 5 6 |
IAPV4.showCharge ((ResultAPI result, int balance) => { switch(result.code) { ... // 추가로 IAPV4.getBalanceInfo와 동일한 ResultAPI 코드가 전달됩니다. } }); |
C++
1 2 3 4 5 6 |
IAPV4::showCharge([](ResultAPI const & result, int balance) { switch(result.code) { ... // 추가로 IAPV4.getBalanceInfo와 동일한 ResultAPI 코드가 전달됩니다. } }); |
Android
1 2 3 4 5 6 7 8 9 |
IAPV4.showCharge(new IAPV4.IAPV4BalanceInfoListener() { @Override public void onIAPV4Balance(ResultAPI result, int balance) { switch(result.code) { ... // 추가로 IAPV4.getBalanceInfo와 동일한 ResultAPI 코드가 전달됩니다. } } }); |
iOS
1 |
// 지원하지 않음 |
Code | Message | How to solve |
IAPV4NotInitialize | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
IAPV4NeedMarketConnect | 마켓 연동이 되어있지 않습니다. | IAPV4.MarketConnect API를 호출하여 IAPV4 Market 연동를 수행하세요. API 보기 |
IAPV4NeedSignIn | 로그인이 되어있지 않습니다. | AuthV4.helper.signIn API를 호출하여 로그인을 수행하세요. API 보기 |
IAPV4NeedMarketConnect | 마켓 연동이 되어있지 않습니다. | IAPV4.MarketConnect API를 호출하여 IAPV4 Market 연동를 수행하세요. API 보기 |
IAPV4MarketNotSupportedAPI | [Google Market] 현재 선택된 Market에서 해당 API를 지원하지 않습니다. | 지원 가능한 Market에서 해당 API를 호출하세요. |
IAPV4MarketNotSupportedAPI | [OneStore Market] 현재 선택된 Market에서 해당 API를 지원하지 않습니다. | 지원 가능한 Market에서 해당 API를 호출하세요. |