SDK for / Overview

XsollaStoreDataModel.h

1// Copyright 2024 Xsolla Inc. All Rights Reserved.
2
3#pragma once
4
5#include "XsollaUtilsDataModel.h"
6#include "XsollaStoreDataModel.generated.h"
7
8UENUM(BlueprintType)
9enum class EXsollaOrderStatus : uint8
10{
11Unknown,
12New,
13Paid,
14Done,
15Canceled
16};
17
18USTRUCT(BlueprintType)
19struct XSOLLASTORE_API FXsollaOrderItem
20{
21GENERATED_BODY()
22
23UPROPERTY(BlueprintReadOnly, Category = "Order Item")
24FString sku;
25
26UPROPERTY(BlueprintReadOnly, Category = "Order Item")
27int32 quantity;
28
29UPROPERTY(BlueprintReadOnly, Category = "Order Item")
30FString is_free;
31
32UPROPERTY(BlueprintReadOnly, Category = "Order Item")
33FXsollaPrice price;
34
36: quantity(0){};
37};
38
39USTRUCT(BlueprintType)
40struct XSOLLASTORE_API FXsollaOrderContent
41{
42GENERATED_BODY()
43
44UPROPERTY(BlueprintReadOnly, Category = "Order Content")
45FXsollaPrice price;
46
47UPROPERTY(BlueprintReadOnly, Category = "Order Content")
48FXsollaVirtualCurrencyPrice virtual_price;
49
50UPROPERTY(BlueprintReadOnly, Category = "Order Content")
51FString is_free;
52
53UPROPERTY(BlueprintReadOnly, Category = "Order Content")
54TArray<FXsollaOrderItem> items;
55};
56
57USTRUCT(BlueprintType)
58struct XSOLLASTORE_API FXsollaOrder
59{
60GENERATED_BODY()
61
62UPROPERTY(BlueprintReadOnly, Category = "Order")
63int32 order_id = 0;
64
65UPROPERTY(BlueprintReadOnly, Category = "Order")
66FString status;
67
68UPROPERTY(BlueprintReadOnly, Category = "Order")
70};
71
72USTRUCT(BlueprintType)
73struct XSOLLASTORE_API FStoreBundleContent
74{
75GENERATED_BODY()
76
77UPROPERTY(BlueprintReadOnly, Category = "Bundle")
78FString sku;
79
80UPROPERTY(BlueprintReadOnly, Category = "Bundle")
81FString name;
82
83UPROPERTY(BlueprintReadOnly, Category = "Bundle")
84FString type;
85
86UPROPERTY(BlueprintReadOnly, Category = "Bundle")
87FString description;
88
89UPROPERTY(BlueprintReadOnly, Category = "Bundle")
90FString image_url;
91
92UPROPERTY(BlueprintReadOnly, Category = "Bundle")
93int32 quantity = 0;
94
95UPROPERTY(BlueprintReadOnly, Category = "Bundle")
96FXsollaPrice price;
97
98UPROPERTY(BlueprintReadOnly, Category = "Bundle")
99TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
100};
101
102USTRUCT(BlueprintType)
103struct XSOLLASTORE_API FStoreItemMediaList
104{
105GENERATED_BODY()
106
107UPROPERTY(BlueprintReadOnly, Category = "Virtual Item Media List")
108FString type;
109
110UPROPERTY(BlueprintReadOnly, Category = "Virtual Item Media List")
111FString url;
112};
113
114USTRUCT(BlueprintType)
115struct XSOLLASTORE_API FStoreItem
116{
117GENERATED_BODY()
118
119/* Unique item ID. The SKU may only contain lowercase Latin alphanumeric characters, periods, dashes, and underscores. */
120UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
121FString sku;
122
123/* Item name. */
124UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
125FString name;
126
127/* Item description. */
128UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
129FString description;
130
131/* Type of item: Consumable/Expiration/Permanent/Lootboxes/Physical. */
132UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
133FString type;
134
135/* Type of virtual item. */
136UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
137FString virtual_item_type;
138
139/* Groups the item belongs to. */
140UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
141TArray<FXsollaItemGroup> groups;
142
143/* If `true`, the item is free. */
144UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
145bool is_free;
146
147/* Item prices */
148UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
149FXsollaPrice price;
150
151/* Virtual prices. */
152UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
153TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
154
155/* Image URL. */
156UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
157FString image_url;
158
159/* Defines the inventory item options. */
160UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
161FXsollaItemOptions inventory_options;
162
163/* Type off bundle. In this case, it is always `standart`. */
164UPROPERTY(BlueprintReadOnly, Category = "Virtual Item Bundle")
165FString bundle_type;
166
167/* Sum of the bundle content prices. */
168UPROPERTY(BlueprintReadOnly, Category = "Virtual Item Bundle")
169FXsollaPrice total_content_price;
170
171/* Bundle package content. */
172UPROPERTY(BlueprintReadOnly, Category = "Virtual Item Bundle")
173TArray<FStoreBundleContent> content;
174
175/* List of attributes and their values corresponding to the item. Can be used for catalog filtering. */
176UPROPERTY(BlueprintReadOnly, Category = "Virtual Item Bundle")
177TArray<FXsollaItemAttribute> attributes;
178
179/* Item long description. */
180UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
181FString long_description;
182
183/* Value that defines arrangement order. */
184UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
185int32 order;
186
187/* List of additional item assets such as screenshots, gameplay video etc.. */
188UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
189TArray<FStoreItemMediaList> media_list;
190
191UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
192TArray<FXsollaStoreItemPromotion> promotions;
193
194UPROPERTY(BlueprintReadOnly, Category = "Virtual Item")
195FXsollaStoreItemLimits limits;
196
197public:
199: is_free(false)
200, order(0){};
201
202FStoreItem(const FStoreItem& Item)
203: sku(Item.sku)
204, name(Item.name)
205, description(Item.description)
206, type(Item.type)
207, virtual_item_type(Item.virtual_item_type)
208, groups(Item.groups)
209, is_free(Item.is_free)
210, price(Item.price)
211, virtual_prices(Item.virtual_prices)
212, image_url(Item.image_url)
213, inventory_options(Item.inventory_options)
214, bundle_type(Item.bundle_type)
215, total_content_price(Item.total_content_price)
216, content(Item.content)
217, attributes(Item.attributes)
218, long_description(Item.long_description)
219, order(Item.order)
220, media_list(Item.media_list)
221, promotions(Item.promotions)
222, limits(Item.limits)
223{
224}
225
226FStoreItem(const struct FStoreBundle& Bundle);
227
228bool operator==(const FStoreItem& Item) const
229{
230return sku == Item.sku;
231}
232};
233
234USTRUCT(BlueprintType)
235struct XSOLLASTORE_API FStoreItemsList
236{
237GENERATED_BODY()
238
239UPROPERTY(BlueprintReadOnly, Category = "Items List", meta = (DisplayName = "bHasMore"))
240bool has_more = false;
241
242UPROPERTY(BlueprintReadOnly, Category = "Items List")
243TArray<FStoreItem> Items;
244};
245
246USTRUCT(BlueprintType)
247struct XSOLLASTORE_API FStoreItemsData
248{
249public:
250GENERATED_BODY()
251
252UPROPERTY(BlueprintReadOnly, Category = "Items Data", meta = (DisplayName = "bHasMore"))
253bool has_more = false;
254
255UPROPERTY(BlueprintReadOnly, Category = "Items Data")
256TArray<FStoreItem> Items;
257
259UPROPERTY(BlueprintReadOnly, Category = "Items Data")
260TSet<FString> GroupIds;
261
263UPROPERTY(BlueprintReadOnly, Category = "Items Data")
264TArray<FXsollaItemGroup> Groups;
265
266public:
268};
269
270USTRUCT(BlueprintType)
271struct XSOLLASTORE_API FVirtualCurrency
272{
273public:
274GENERATED_BODY()
275
276UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
277FString sku;
278
279UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
280FString name;
281
282UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
283TArray<FString> groups;
284
285UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
286TArray<FXsollaItemAttribute> attributes;
287
288UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
289FString type;
290
291UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
292FString description;
293
294UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
295FString image_url;
296
297UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
298bool is_free;
299
300UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
301FXsollaPrice price;
302
303UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
304TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
305
306UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
307FXsollaItemOptions inventory_options;
308
309UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
310FString long_description;
311
312UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
313int32 order;
314
315UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
316TArray<FStoreItemMediaList> media_list;
317
318UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
319TArray<FXsollaStoreItemPromotion> promotions;
320
321UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
322FXsollaStoreItemLimits limits;
323
324public:
326: is_free(false)
327, order(0){};
328};
329
330USTRUCT(BlueprintType)
331struct XSOLLASTORE_API FVirtualCurrencyData
332{
333public:
334GENERATED_BODY()
335
336UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Data", meta = (DisplayName = "bHasMore"))
337bool has_more = false;
338
339UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Data")
340TArray<FVirtualCurrency> Items;
341
342public:
344};
345
346USTRUCT(BlueprintType)
347struct XSOLLASTORE_API FVirtualCurrencyPackageContent
348{
349public:
350GENERATED_BODY()
351
352UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
353FString sku;
354
355UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
356FString name;
357
358UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
359FString type;
360
361UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
362FString description;
363
364UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
365FString image_url;
366
367UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
368int32 quantity;
369
370UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
371FXsollaItemOptions inventory_options;
372
373public:
375: quantity(0){};
376};
377
378USTRUCT(BlueprintType)
379struct XSOLLASTORE_API FVirtualCurrencyPackage
380{
381public:
382GENERATED_BODY()
383
384UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
385FString sku;
386
387UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
388FString name;
389
390UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
391FString type;
392
393UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
394FString description;
395
396UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
397FString image_url;
398
399UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
400TArray<FXsollaItemAttribute> attributes;
401
402UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
403TArray<FXsollaItemGroup> groups;
404
405UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
406FString bundle_type;
407
408UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
409bool is_free;
410
411UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
412FXsollaPrice price;
413
414UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
415TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
416
417UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
419
420UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
421FString long_description;
422
423UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
424int32 order;
425
426UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
427TArray<FStoreItemMediaList> media_list;
428
429UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
430TArray<FXsollaStoreItemPromotion> promotions;
431
432UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
433FXsollaStoreItemLimits limits;
434
435public:
437: is_free(false)
438, order(0){};
439};
440
441USTRUCT(BlueprintType)
442struct XSOLLASTORE_API FVirtualCurrencyPackagesData
443{
444public:
445GENERATED_BODY()
446
447UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Packages Data", meta = (DisplayName = "bHasMore"))
448bool has_more = false;
449
450UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Packages Data")
451TArray<FVirtualCurrencyPackage> Items;
452
453public:
455};
456
457USTRUCT(BlueprintType)
458struct XSOLLASTORE_API FStoreCartItem
459{
460GENERATED_BODY()
461
462UPROPERTY(BlueprintReadWrite, Category = "Cart Item")
463FString sku;
464
465UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
466FString name;
467
468UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
469TArray<FXsollaItemAttribute> attributes;
470
471UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
472TArray<FXsollaItemGroup> groups;
473
474UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
475FString description;
476
477UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
478FString long_description;
479
480UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
481FString type;
482
483UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
484FString virtual_item_type;
485
486UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
487bool is_free;
488
489UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
490bool is_bonus;
491
492UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
493FXsollaPrice price;
494
495UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
496TArray<FXsollaVirtualCurrencyPrice> vc_prices;
497
498UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
499FString image_url;
500
501UPROPERTY(BlueprintReadWrite, Category = "Cart Item")
502int32 quantity;
503
504UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
505FXsollaItemOptions inventory_options;
506
507public:
509: is_free(false)
510, is_bonus(false)
511, quantity(0){};
512
513FStoreCartItem(const FStoreItem& Item)
514: sku(Item.sku)
515, name(Item.name)
516, is_free(Item.is_free)
517, is_bonus(false)
518, price(Item.price)
519, image_url(Item.image_url)
520, quantity(0){};
521
522FStoreCartItem(const FVirtualCurrencyPackage& CurrencyPackage)
523: sku(CurrencyPackage.sku)
524, name(CurrencyPackage.name)
525, is_free(CurrencyPackage.is_free)
526, is_bonus(false)
527, price(CurrencyPackage.price)
528, image_url(CurrencyPackage.image_url)
529, quantity(0){};
530
531bool operator==(const FStoreCartItem& Item) const
532{
533return sku == Item.sku;
534}
535
536/*bool operator==(const FStoreItem& Item) const
537{
538return sku == Item.sku;
539}*/
540};
541
542USTRUCT(BlueprintType)
543struct XSOLLASTORE_API FStoreCart
544{
545public:
546GENERATED_BODY()
547
548UPROPERTY(BlueprintReadOnly, Category = "Cart Data")
549FString cart_id;
550
551UPROPERTY(BlueprintReadOnly, Category = "Cart Data")
552FXsollaPrice price;
553
554UPROPERTY(BlueprintReadOnly, Category = "Cart Data")
555bool is_free;
556
557UPROPERTY(BlueprintReadOnly, Category = "Cart Data")
558TArray<FStoreCartItem> Items;
559
560public:
562: is_free(false){};
563
564FStoreCart(FString CartId)
565: cart_id(CartId)
566, is_free(false){};
567
568// Check if we have the same set of items.
569bool operator==(const FStoreCart& Cart) const
570{
571if (cart_id == Cart.cart_id)
572{
573if (Items.Num() == Cart.Items.Num())
574{
575int32 ItemsCount = Items.Num();
576for (int32 i = 0; i < ItemsCount; ++i)
577{
578if (Items[i].sku == Cart.Items[i].sku)
579{
580if (Items[i].quantity != Cart.Items[i].quantity)
581{
582return false;
583}
584}
585else
586{
587return false;
588}
589}
590
591return true;
592}
593}
594
595return false;
596}
597};
598
599USTRUCT(BlueprintType)
600struct XSOLLASTORE_API FStoreBundle
601{
602GENERATED_BODY()
603
604UPROPERTY(BlueprintReadOnly, Category = "Bundle")
605FString sku;
606
607UPROPERTY(BlueprintReadOnly, Category = "Bundle")
608FString name;
609
610UPROPERTY(BlueprintReadOnly, Category = "Bundle")
611TArray<FXsollaItemGroup> groups;
612
613UPROPERTY(BlueprintReadOnly, Category = "Bundle")
614TArray<FXsollaItemAttribute> attributes;
615
616UPROPERTY(BlueprintReadOnly, Category = "Bundle")
617FString type;
618
619UPROPERTY(BlueprintReadOnly, Category = "Bundle")
620FString bundle_type;
621
622UPROPERTY(BlueprintReadOnly, Category = "Bundle")
623FString description;
624
625UPROPERTY(BlueprintReadOnly, Category = "Bundle")
626FString image_url;
627
628UPROPERTY(BlueprintReadOnly, Category = "Bundle")
629FString is_free;
630
631UPROPERTY(BlueprintReadOnly, Category = "Bundle")
632FXsollaPrice price;
633
634UPROPERTY(BlueprintReadOnly, Category = "Bundle")
635FXsollaPrice total_content_price;
636
637UPROPERTY(BlueprintReadOnly, Category = "Bundle")
638TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
639
640UPROPERTY(BlueprintReadOnly, Category = "Bundle")
641TArray<FStoreBundleContent> content;
642
643UPROPERTY(BlueprintReadOnly, Category = "Bundle")
644TArray<FXsollaStoreItemPromotion> promotions;
645
646UPROPERTY(BlueprintReadOnly, Category = "Bundle")
647FXsollaStoreItemLimits limits;
648};
649
650USTRUCT(BlueprintType)
651struct XSOLLASTORE_API FStoreListOfBundles
652{
653GENERATED_BODY()
654
655UPROPERTY(BlueprintReadOnly, Category = "Bundle")
656TArray<FStoreBundle> items;
657};
658
659USTRUCT(BlueprintType)
660struct XSOLLASTORE_API FStoreDiscount
661{
662GENERATED_BODY()
663
664UPROPERTY(BlueprintReadOnly, Category = "Discount")
665FString percent;
666};
667
668USTRUCT(BlueprintType)
669struct XSOLLASTORE_API FStorePromocodeRewardData
670{
671GENERATED_BODY()
672
673UPROPERTY(BlueprintReadOnly, Category = "Promocode Reward Data")
674TArray<FXsollaBonusItem> bonus;
675
677UPROPERTY(BlueprintReadOnly, Category = "Promocode Reward Data")
679
681UPROPERTY(BlueprintReadOnly, Category = "Promocode Reward Data")
682bool is_selectable = false;
683};
684
685inline FStoreItem::FStoreItem(const struct FStoreBundle& Bundle)
686{
687this->description = Bundle.description;
688this->groups = Bundle.groups;
689this->image_url = Bundle.image_url;
690this->is_free = Bundle.is_free == "true";
691this->name = Bundle.name;
692this->price = Bundle.price;
693this->sku = Bundle.sku;
694this->type = Bundle.type;
695this->virtual_prices = Bundle.virtual_prices;
696this->bundle_type = Bundle.bundle_type;
697this->total_content_price = Bundle.total_content_price;
698this->content = Bundle.content;
699this->attributes = Bundle.attributes;
700}
701
702USTRUCT(BlueprintType)
703struct XSOLLASTORE_API FGameUnitItem
704{
705GENERATED_BODY()
706
707UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
708FString sku;
709
710UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
711FString type;
712
713UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
714bool is_free = false;
715
716UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
717FXsollaPrice price;
718
719UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
720TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
721
722UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
723FString drm_name;
724
725UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
726FString drm_sku;
727
728UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
729bool has_keys = false;
730
731UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
732bool is_pre_order = false;
733
734UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
735FString release_date;
736};
737
738USTRUCT(BlueprintType)
739struct XSOLLASTORE_API FGameKeyItem
740{
741GENERATED_BODY()
742
743UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
744FString sku;
745
746UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
747FString name;
748
749UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
750FString type;
751
752/* Groups the item belongs to. */
753UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
754TArray<FXsollaItemGroup> groups;
755
756UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
757TArray<FXsollaItemAttribute> attributes;
758
759UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
760FString description;
761
762UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
763FString image_url;
764
765UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
766bool is_free = false;
767
768UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
769FXsollaPrice price;
770
771UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
772TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
773
774UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
775FString drm_name;
776
777UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
778FString drm_sku;
779
780UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
781bool has_keys = false;
782
783UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
784bool is_pre_order = false;
785
786UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
787FString release_date;
788};
789
790USTRUCT(BlueprintType)
791struct XSOLLASTORE_API FGameItem
792{
793GENERATED_BODY()
794
795UPROPERTY(BlueprintReadOnly, Category = "Game Item")
796FString sku;
797
798UPROPERTY(BlueprintReadOnly, Category = "Game Item")
799FString name;
800
801UPROPERTY(BlueprintReadOnly, Category = "Game Item")
802TArray<FXsollaItemGroup> groups;
803
804UPROPERTY(BlueprintReadOnly, Category = "Game Item")
805TArray<FXsollaItemAttribute> attributes;
806
807UPROPERTY(BlueprintReadOnly, Category = "Game Item")
808FString type;
809
810UPROPERTY(BlueprintReadOnly, Category = "Game Item")
811FString unit_type;
812
813UPROPERTY(BlueprintReadOnly, Category = "Game Item")
814FString description;
815
816UPROPERTY(BlueprintReadOnly, Category = "Game Item")
817FString image_url;
818
819UPROPERTY(BlueprintReadOnly, Category = "Game Item")
820TArray<FGameUnitItem> unit_items;
821};
822
823USTRUCT(BlueprintType)
824struct XSOLLASTORE_API FStoreGamesList
825{
826GENERATED_BODY()
827
828UPROPERTY(BlueprintReadOnly, Category = "Game List")
829TArray<FGameItem> Games;
830};
831
832USTRUCT(BlueprintType)
833struct XSOLLASTORE_API FStoreGamesData
834{
835GENERATED_BODY()
836
837UPROPERTY(BlueprintReadOnly, Category = "Games Data")
838TArray<FGameItem> Items;
839
841UPROPERTY(BlueprintReadOnly, Category = "Games Data")
842TSet<FString> GroupIds;
843
845UPROPERTY(BlueprintReadOnly, Category = "Games Data")
846TArray<FXsollaItemGroup> Groups;
847};
848
849USTRUCT(BlueprintType)
850struct XSOLLASTORE_API FStoreGameKeysList
851{
852GENERATED_BODY()
853
854UPROPERTY(BlueprintReadOnly, Category = "Game Key List")
855TArray<FGameKeyItem> GameKeys;
856};
857
858USTRUCT(BlueprintType)
859struct XSOLLASTORE_API FDRMItem
860{
861GENERATED_BODY()
862
863UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
864FString sku;
865
866UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
867FString name;
868
869UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
870FString image;
871
872UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
873FString link;
874
875UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
876FString redeem_instruction_link;
877
878UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
879int32 drm_id = 0;
880};
881
882USTRUCT(BlueprintType)
883struct XSOLLASTORE_API FStoreDRMList
884{
885GENERATED_BODY()
886
887UPROPERTY(BlueprintReadOnly, Category = "DRM List")
888TArray<FDRMItem> drm;
889};
890
891USTRUCT(BlueprintType)
892struct XSOLLASTORE_API FOwnedGameItem
893{
894GENERATED_BODY()
895
896UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
897FString name;
898
899UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
900FString description;
901
902UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
903int32 project_id = 0;
904
905UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
906FString game_sku;
907
908UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
909FString drm;
910
911UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
912FString image_url;
913
914UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
915bool is_pre_order = false;
916
917UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
918TArray<FXsollaItemAttribute> attributes;
919};
920
921USTRUCT(BlueprintType)
922struct XSOLLASTORE_API FOwnedGamesList
923{
924GENERATED_BODY()
925
926UPROPERTY(BlueprintReadOnly, Category = "Owned Games List")
927bool has_more = false;
928
929UPROPERTY(BlueprintReadOnly, Category = "Owned Games List")
930int32 total_items_count = 0;
931
932UPROPERTY(BlueprintReadOnly, Category = "Owned Games List")
933TArray<FOwnedGameItem> items;
934};
935
936USTRUCT(BlueprintType)
937struct XSOLLASTORE_API FSubscriptionPaystationLink
938{
939GENERATED_BODY()
940
941UPROPERTY(BlueprintReadOnly, Category = "Subscription Paystation Link")
942FString link_to_ps;
943};
944
945USTRUCT(BlueprintType)
946struct XSOLLASTORE_API FSubscriptionPeriod
947{
948GENERATED_BODY()
949
950UPROPERTY(BlueprintReadOnly, Category = "Subscription Period")
951int32 value = 0;
952
953UPROPERTY(BlueprintReadOnly, Category = "Subscription Period")
954FString unit;
955};
956
957USTRUCT(BlueprintType)
958struct XSOLLASTORE_API FSubscriptionCharge
959{
960GENERATED_BODY()
961
962UPROPERTY(BlueprintReadOnly, Category = "Subscription Charge")
963float amount = 0.f;
964
965UPROPERTY(BlueprintReadOnly, Category = "Subscription Charge")
966float amount_with_promotion = 0.f;
967
968UPROPERTY(BlueprintReadOnly, Category = "Subscription Charge")
969FString currency;
970};
971
972USTRUCT(BlueprintType)
973struct XSOLLASTORE_API FSubscriptionPlanCharge
974{
975GENERATED_BODY()
976
977UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan Charge")
978float amount = 0.f;
979
980UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan Charge")
981float setup_fee = false;
982
983UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan Charge")
984FString currency;
985};
986
987USTRUCT(BlueprintType)
988struct XSOLLASTORE_API FSubscriptionPlanPromotion
989{
990GENERATED_BODY()
991
992UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan Promotion")
993float promotion_charge_amount = 0.f;
994
995UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan Promotion")
996float promotion_remaining_charges = 0.f;
997};
998
999USTRUCT(BlueprintType)
1000struct XSOLLASTORE_API FSubscriptionPlan
1001{
1002GENERATED_BODY()
1003
1004UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1005int32 plan_id = 0;
1006
1007UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1008FString plan_external_id;
1009
1010UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1011FString plan_group_id;
1012
1013UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1014FString plan_type;
1015
1016UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1017FString plan_name;
1018
1019UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1020FString plan_description;
1021
1022UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1023FDateTime plan_start_date;
1024
1025UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1026FDateTime plan_end_date;
1027
1028UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1029int32 trial_period = 0;
1030
1031UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1032FSubscriptionPeriod period;
1033
1034UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1036
1037UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1039};
1040
1041USTRUCT(BlueprintType)
1042struct XSOLLASTORE_API FSubscriptionPlansList
1043{
1044GENERATED_BODY()
1045
1046UPROPERTY(BlueprintReadOnly, Category = "Subscription Plans List")
1047TArray<FSubscriptionPlan> items;
1048
1049UPROPERTY(BlueprintReadOnly, Category = "Subscription Plans List")
1050bool has_more = false;
1051};
1052
1053USTRUCT(BlueprintType)
1054struct XSOLLASTORE_API FSubscription
1055{
1056GENERATED_BODY()
1057
1058UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1059int32 id = 0;
1060
1061UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1062int32 plan_id = 0;
1063
1064UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1065FString plan_external_id;
1066
1067UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1068FString plan_name;
1069
1070UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1071FString plan_description;
1072
1073UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1074FDateTime plan_start_date;
1075
1076UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1077FDateTime plan_end_date;
1078
1079UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1080int32 product_id = 0;
1081
1082UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1083FString product_external_id;
1084
1085UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1086FString product_name;
1087
1088UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1089FString product_description;
1090
1091UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1092FString status;
1093
1094UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1095bool is_in_trial = false;
1096
1097UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1098int32 trial_period = 0;
1099
1100UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1101FDateTime date_create;
1102
1103UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1104FDateTime date_next_charge;
1105
1106UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1107FDateTime date_last_charge;
1108
1109UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1110FSubscriptionCharge charge;
1111
1112UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1113FSubscriptionPeriod period;
1114};
1115
1116USTRUCT(BlueprintType)
1117struct XSOLLASTORE_API FSubscriptionsList
1118{
1119GENERATED_BODY()
1120
1121UPROPERTY(BlueprintReadOnly, Category = "Subscriptions List")
1122TArray<FSubscription> items;
1123
1124UPROPERTY(BlueprintReadOnly, Category = "Subscriptions List")
1125bool has_more = false;
1126};
1127
1128USTRUCT(BlueprintType)
1129struct XSOLLASTORE_API FSubscriptionDetails
1130{
1131GENERATED_BODY()
1132
1133UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1134int32 id = 0;
1135
1136UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1137int32 plan_id = 0;
1138
1139UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1140FString plan_external_id;
1141
1142UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1143FString plan_name;
1144
1145UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1146FString plan_description;
1147
1148UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1149FDateTime plan_start_date;
1150
1151UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1152FDateTime plan_end_date;
1153
1154UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1155int32 product_id = 0;
1156
1157UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1158FString product_external_id;
1159
1160UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1161FString product_name;
1162
1163UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1164FString product_description;
1165
1166UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1167FString status;
1168
1169UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1170bool is_in_trial = false;
1171
1172UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1173int32 trial_period = 0;
1174
1175UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1176FDateTime date_create;
1177
1178UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1179FDateTime date_next_charge;
1180
1181UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1182FDateTime date_last_charge;
1183
1184UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1185FSubscriptionCharge charge;
1186
1187UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1188FSubscriptionPeriod period;
1189
1190UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1191FDateTime date_end;
1192
1193UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1194bool is_renew_possible = false;
1195
1196UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1197bool is_change_to_non_renew_possible = false;
1198
1199UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1200bool is_change_plan_allowed = false;
1201};
Definition: XsollaStoreDataModel.h:860
Definition: XsollaStoreDataModel.h:792
Definition: XsollaStoreDataModel.h:740
Definition: XsollaStoreDataModel.h:704
Definition: XsollaStoreDataModel.h:893
Definition: XsollaStoreDataModel.h:923
Definition: XsollaStoreDataModel.h:74
Definition: XsollaStoreDataModel.h:601
Definition: XsollaStoreDataModel.h:544
Definition: XsollaStoreDataModel.h:459
Definition: XsollaStoreDataModel.h:884
Definition: XsollaStoreDataModel.h:661
Definition: XsollaStoreDataModel.h:851
Definition: XsollaStoreDataModel.h:834
Definition: XsollaStoreDataModel.h:825
Definition: XsollaStoreDataModel.h:116
Definition: XsollaStoreDataModel.h:104
Definition: XsollaStoreDataModel.h:248
Definition: XsollaStoreDataModel.h:236
Definition: XsollaStoreDataModel.h:652
Definition: XsollaStoreDataModel.h:670
Definition: XsollaStoreDataModel.h:959
Definition: XsollaStoreDataModel.h:1130
Definition: XsollaStoreDataModel.h:1055
Definition: XsollaStoreDataModel.h:947
Definition: XsollaStoreDataModel.h:974
Definition: XsollaStoreDataModel.h:1001
Definition: XsollaStoreDataModel.h:989
Definition: XsollaStoreDataModel.h:1043
Definition: XsollaStoreDataModel.h:1118
Definition: XsollaStoreDataModel.h:332
Definition: XsollaStoreDataModel.h:272
Definition: XsollaStoreDataModel.h:348
Definition: XsollaStoreDataModel.h:380
Definition: XsollaStoreDataModel.h:443
Definition: XsollaStoreDataModel.h:41
Definition: XsollaStoreDataModel.h:59
Definition: XsollaStoreDataModel.h:20