HIVE SDK for C++

HIVE_IAPV4.h
1
19#ifndef __HIVE_IAPV4_H__
20#define __HIVE_IAPV4_H__
21
22#include "HIVE_ResultAPI.h"
23#include <memory>
24
25NS_HIVE_BEGIN
26
27
34enum class IAPV4Type {
35 NotSelected = 0
36 ,AppleAppStore = 1
37 ,GooglePlayStore = 2
38 ,HIVELebi = 3
39 ,OneStore = 4
40 ,AmazonAppStore = 5
41 ,SamsungGalaxyStore = 6
42 ,HuaweiAppGallery = 7
43 ,Funtap = 8
44 ,OPPOAppMarket = 9
45 ,VIVOAppStore = 10
46 ,TencentMyapp = 11
47 ,XiaomiAppStore = 12
48 ,HuaweiAppGalleryChina = 13
49 ,FacebookCloudGame = 14
50 ,HiveStore = 15
51 ,Steam = 16
52 ,Nowgg = 17
53};
54
55class IAPV4Product;
56class IAPV4Receipt;
57class IAPV4PurchaseParam;
58
59
74class HIVESDK_DLLEXPORT IAPV4 {
75public:
76
97 typedef std::function<void(ResultAPI const & result,std::vector<IAPV4Type> const & marketIDs)> onMarketConnect;
98
119 typedef std::function<void(ResultAPI const & result,std::vector<IAPV4Product> const & iapV4ProductList,unsigned int balance)> onGetProductInfo;
120
121
145 typedef std::function<void(ResultAPI const & result,IAPV4Receipt const & iapV4Receipt)> onPurchase;
146
169 typedef std::function<void(ResultAPI const & result,std::vector<std::reference_wrapper<IAPV4Receipt>> const & iapv4ReceiptList)> onRestore;
170
189 typedef std::function<void(ResultAPI const & result,std::string marketPid)> onTransactionFinish;
190
198 typedef std::function<void(ResultAPI const & result,std::string marketPid)> onCheckPromotePurchase;
199
200
217 typedef std::function<void(std::vector<ResultAPI> const & resultList,std::vector<std::string> const & marketPidList)> onTransactionMultiFinish;
218
219
236 typedef std::function<void(ResultAPI const & result, int balance)> onBalance;
237
245 typedef std::function<void(int responseCode)> onInAppMessages;
246
265 static void marketConnect(onMarketConnect listener);
266
281 static void getMarketProductInfo(std::vector<std::string> const & marketPidList, onGetProductInfo listener);
282
297 static void getProductInfo(onGetProductInfo listener);
298
315
338 static void purchase(std::string marketPid,std::string iapPayload,onPurchase listener);
339
366 static void purchaseSubscriptionUpdate(std::string marketPid,std::string oldMarketPid,std::string iapPayload,onPurchase listener);
367
390 static void purchaseSubscription(IAPV4PurchaseParam param, onPurchase listener);
391
410 static void restore(onRestore listener);
411
431 static void restoreSubscription(onRestore listener);
432
460 static void transactionFinish(std::string marketPid,onTransactionFinish listener);
461
489 static void transactionMultiFinish(std::vector<std::string> const & marketPidList,onTransactionMultiFinish listener);
490
508
523 static void getBalanceInfo(onBalance listener);
524
539 static void showCharge(onBalance listener);
540
555
566
576 static std::string getAccountUuid();
577
588 static void showInAppMessages(int categoryId, onInAppMessages listener);
589
590
591 static void executeEngine(picojson::value jsonParam);
592};
593
600class HIVESDK_DLLEXPORT IAPV4Product{
601public:
602 IAPV4Product();
603 IAPV4Product(picojson::value const& jsonParam);
604
605 std::string productType;
606 std::string marketPid;
607 std::string currency;
608 double price;
609 std::string displayPrice;
610 std::string title;
611 std::string productDescription;
612 std::string originalMarketJson;
613
614 //Price before Promotion Sale
615 std::string displayOriginalPrice;
624 std::string iconURL;
626};
627
638class HIVESDK_DLLEXPORT IAPV4Receipt{
639public:
640 static std::shared_ptr<IAPV4Receipt> create(picojson::value const& jsonParam);
641 IAPV4Receipt();
642 virtual ~IAPV4Receipt();
643
644
647 std::string iapPayload;
648 std::string hiveiapReceipt;
649 std::string bypassInfo;
651
652 static IAPV4Type getIAPV4TypeFromJson(picojson::value const& jsonParam);
653
654protected:
655 IAPV4Receipt(picojson::value const& jsonParam);
656};
657
658class HIVESDK_DLLEXPORT IAPV4PurchaseParam{
659public:
660 std::string marketPid;
661 std::string iapPayload;
662 std::string oldMarketPid;
663 std::string offerToken;
664
665 IAPV4PurchaseParam();
666 IAPV4PurchaseParam(picojson::value jsonParam);
667
668 picojson::object toJson() const;
669 std::string toString() const;};
670NS_HIVE_END
671
672extern "C"
673{
674 HIVESDK_DLLEXPORT void IAPV4Purchase(const char* marketPid, const char* iapPayload, hive::IAPV4::onPurchase listener);
675}
676
677
678#endif /* __HIVE_IAPV4_H__ */
HIVE IAP can minimize the development costs of the market-specific purchase process and collect purch...
Definition: HIVE_IAPV4.h:74
HIVE IAP 백오피스에서 생성한 상품 정보 마켓에 등록된 상품(Market Pid) 의 정보를 포함한다.
Definition: HIVE_IAPV4.h:600
purchase(String, String, IAPV4PurchaseListener) 나 restore(IAPV4RestoreListener) API 에서 받을 수 있는 결과 정보.
Definition: HIVE_IAPV4.h:638
Definition: HIVE_ResultAPI.h:63
static void getProductInfo(onGetProductInfo listener)
HIVE IAPV4 It returns information for composition of the product.
std::string iapPayload
iapPayload entered in purchase request
Definition: HIVE_IAPV4.h:647
static void transactionMultiFinish(std::vector< std::string > const &marketPidList, onTransactionMultiFinish listener)
HIVE IAP v4 It requests the multiple transaction completion processing for the purchase receipt of th...
static void getBalanceInfo(onBalance listener)
It request Lebi balance information.
static void transactionFinish(std::string marketPid, onTransactionFinish listener)
HIVE IAP v4 It requests the transaction completion processing for the purchase receipt of the item th...
std::function< void(ResultAPI const &result, std::vector< IAPV4Type > const &marketIDs)> onMarketConnect
HIVE IAPV4 Market information request result callback.
Definition: HIVE_IAPV4.h:97
static void restoreSubscription(onRestore listener)
HIVE IAPV4 It restore the item that has not been delivered.
int quantity
Purchase quantity (Support Google Play multi-purchase)
Definition: HIVE_IAPV4.h:650
std::function< void(ResultAPI const &result, IAPV4Receipt const &iapV4Receipt)> onPurchase
Purchase request result callback The purchase of HIVE IAPV4 will require a marketPid registered in t...
Definition: HIVE_IAPV4.h:145
IAPV4Type type
Receipt Market Information.
Definition: HIVE_IAPV4.h:645
int coinsReward
상품 아이콘 (512x512) Google Only
Definition: HIVE_IAPV4.h:625
IAPV4Product product
Purchased product information.
Definition: HIVE_IAPV4.h:646
std::string displayPrice
Product price string (ex. $100.00)
Definition: HIVE_IAPV4.h:609
std::string originalMarketJson
Original Product info in Market.
Definition: HIVE_IAPV4.h:612
std::string hiveiapReceipt
Receipt Data to send when requesting validation to IAP server.
Definition: HIVE_IAPV4.h:648
static void getMarketProductInfo(std::vector< std::string > const &marketPidList, onGetProductInfo listener)
Apple Appstore It returns information for composition of the product.
static void marketConnect(onMarketConnect listener)
IAPV4 It initialize IAPV4 Purchase module.
std::function< void(int responseCode)> onInAppMessages
Google In-App Offers.
Definition: HIVE_IAPV4.h:245
std::string productDescription
Product Description.
Definition: HIVE_IAPV4.h:611
IAPV4Type
결제 마켓 형태
Definition: HIVE_IAPV4.h:34
std::function< void(ResultAPI const &result, std::string marketPid)> onTransactionFinish
HIVE IAP v4 Transaction Finish request result callback
Definition: HIVE_IAPV4.h:189
static void purchaseSubscription(IAPV4PurchaseParam param, onPurchase listener)
HIVE IAPV4 The purchase will require a marketPid from the App Store and Google Store.
static void showCharge(onBalance listener)
It shows Lebi refill page.
double price
Product price.
Definition: HIVE_IAPV4.h:608
std::string productType
consumable, subscription
Definition: HIVE_IAPV4.h:605
static IAPV4Type getSelectedMarket()
현재 선택된 마켓 타입을 반환한다.
static void purchaseSubscriptionUpdate(std::string marketPid, std::string oldMarketPid, std::string iapPayload, onPurchase listener)
HIVE IAPV4 The purchase will require a marketPid from the App Store and Google Store.
std::function< void(ResultAPI const &result, int balance)> onBalance
HIVE Lebi Balance request result callback, if it is a Rebi store.
Definition: HIVE_IAPV4.h:236
static std::string getAccountUuid()
현재 계정의 UUIDv3 값을 반환한다.
std::function< void(ResultAPI const &result, std::vector< IAPV4Product > const &iapV4ProductList, unsigned int balance)> onGetProductInfo
HIVE IAPV4 Product Information request callback.
Definition: HIVE_IAPV4.h:119
std::string currency
Currency code (ex, KRW / USD)
Definition: HIVE_IAPV4.h:607
std::function< void(ResultAPI const &result, std::string marketPid)> onCheckPromotePurchase
Definition: HIVE_IAPV4.h:198
static void showInAppMessages(int categoryId, onInAppMessages listener)
Google In-App Offers.
static void showMarketSelection(onMarketConnect listener)
It shows a UI to select a Lebi store or a Google store.. If the Google Store and the HIVE Lebi store...
std::string marketPid
Unique product ID registered in Market.
Definition: HIVE_IAPV4.h:606
double originalPrice
세일전 가격 문자열 Google Only
Definition: HIVE_IAPV4.h:616
std::function< void(std::vector< ResultAPI > const &resultList, std::vector< std::string > const &marketPidList)> onTransactionMultiFinish
HIVE IAP v4 Multiple Transaction Finish request result callback
Definition: HIVE_IAPV4.h:217
static void purchase(std::string marketPid, std::string iapPayload, onPurchase listener)
HIVE IAPV4 The purchase will require a marketPid from the App Store and Google Store.
static void restore(onRestore listener)
HIVE IAPV4 It restore the item that has not been delivered.
static void getSubscriptionProductInfo(onGetProductInfo listener)
HIVE IAPV4 It returns information for composition of the product.
std::string title
Item Title.
Definition: HIVE_IAPV4.h:610
std::function< void(ResultAPI const &result, std::vector< std::reference_wrapper< IAPV4Receipt > > const &iapv4ReceiptList)> onRestore
HIVE IAPV4 Restore request result callback It may happen that the item delivery fails due to various...
Definition: HIVE_IAPV4.h:169
std::string iconURL
세일전 가격 Google Only
Definition: HIVE_IAPV4.h:624
static void checkPromotePurchase(onCheckPromotePurchase listener)
Apple AppStore Promote InApp Purchase 동작으로 얻어온 MarketPID를 요청한다.
Copyright © Com2uS Platform Corporation. All Right Reserved. Terms of Use Privacy Policy