SDK for / Overview

XsollaStoreDataModel.h

1// Copyright 2023 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")
240TArray<FStoreItem> Items;
241};
242
243USTRUCT(BlueprintType)
244struct XSOLLASTORE_API FStoreItemsData
245{
246public:
247GENERATED_BODY()
248
249UPROPERTY(BlueprintReadOnly, Category = "Items Data")
250TArray<FStoreItem> Items;
251
253UPROPERTY(BlueprintReadOnly, Category = "Items Data")
254TSet<FString> GroupIds;
255
257UPROPERTY(BlueprintReadOnly, Category = "Items Data")
258TArray<FXsollaItemGroup> Groups;
259
260public:
262};
263
264USTRUCT(BlueprintType)
265struct XSOLLASTORE_API FVirtualCurrency
266{
267public:
268GENERATED_BODY()
269
270UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
271FString sku;
272
273UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
274FString name;
275
276UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
277TArray<FString> groups;
278
279UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
280TArray<FXsollaItemAttribute> attributes;
281
282UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
283FString type;
284
285UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
286FString description;
287
288UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
289FString image_url;
290
291UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
292bool is_free;
293
294UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
295FXsollaPrice price;
296
297UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
298TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
299
300UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
301FXsollaItemOptions inventory_options;
302
303UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
304FString long_description;
305
306UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
307int32 order;
308
309UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
310TArray<FStoreItemMediaList> media_list;
311
312UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
313TArray<FXsollaStoreItemPromotion> promotions;
314
315UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency")
316FXsollaStoreItemLimits limits;
317
318public:
320: is_free(false)
321, order(0){};
322};
323
324USTRUCT(BlueprintType)
325struct XSOLLASTORE_API FVirtualCurrencyData
326{
327public:
328GENERATED_BODY()
329
330UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Data")
331TArray<FVirtualCurrency> Items;
332
333public:
335};
336
337USTRUCT(BlueprintType)
338struct XSOLLASTORE_API FVirtualCurrencyPackageContent
339{
340public:
341GENERATED_BODY()
342
343UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
344FString sku;
345
346UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
347FString name;
348
349UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
350FString type;
351
352UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
353FString description;
354
355UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
356FString image_url;
357
358UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
359int32 quantity;
360
361UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package Content")
362FXsollaItemOptions inventory_options;
363
364public:
366: quantity(0){};
367};
368
369USTRUCT(BlueprintType)
370struct XSOLLASTORE_API FVirtualCurrencyPackage
371{
372public:
373GENERATED_BODY()
374
375UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
376FString sku;
377
378UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
379FString name;
380
381UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
382FString type;
383
384UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
385FString description;
386
387UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
388FString image_url;
389
390UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
391TArray<FXsollaItemAttribute> attributes;
392
393UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
394TArray<FXsollaItemGroup> groups;
395
396UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
397FString bundle_type;
398
399UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
400bool is_free;
401
402UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
403FXsollaPrice price;
404
405UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
406TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
407
408UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
410
411UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
412FString long_description;
413
414UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
415int32 order;
416
417UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
418TArray<FStoreItemMediaList> media_list;
419
420UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
421TArray<FXsollaStoreItemPromotion> promotions;
422
423UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Package")
424FXsollaStoreItemLimits limits;
425
426public:
428: is_free(false)
429, order(0){};
430};
431
432USTRUCT(BlueprintType)
433struct XSOLLASTORE_API FVirtualCurrencyPackagesData
434{
435public:
436GENERATED_BODY()
437
438UPROPERTY(BlueprintReadOnly, Category = "Virtual Currency Packages Data")
439TArray<FVirtualCurrencyPackage> Items;
440
441public:
443};
444
445USTRUCT(BlueprintType)
446struct XSOLLASTORE_API FStoreCartItem
447{
448GENERATED_BODY()
449
450UPROPERTY(BlueprintReadWrite, Category = "Cart Item")
451FString sku;
452
453UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
454FString name;
455
456UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
457TArray<FXsollaItemAttribute> attributes;
458
459UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
460TArray<FXsollaItemGroup> groups;
461
462UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
463FString description;
464
465UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
466FString long_description;
467
468UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
469FString type;
470
471UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
472FString virtual_item_type;
473
474UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
475bool is_free;
476
477UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
478bool is_bonus;
479
480UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
481FXsollaPrice price;
482
483UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
484TArray<FXsollaVirtualCurrencyPrice> vc_prices;
485
486UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
487FString image_url;
488
489UPROPERTY(BlueprintReadWrite, Category = "Cart Item")
490int32 quantity;
491
492UPROPERTY(BlueprintReadOnly, Category = "Cart Item")
493FXsollaItemOptions inventory_options;
494
495public:
497: is_free(false)
498, is_bonus(false)
499, quantity(0){};
500
501FStoreCartItem(const FStoreItem& Item)
502: sku(Item.sku)
503, name(Item.name)
504, is_free(Item.is_free)
505, is_bonus(false)
506, price(Item.price)
507, image_url(Item.image_url)
508, quantity(0){};
509
510FStoreCartItem(const FVirtualCurrencyPackage& CurrencyPackage)
511: sku(CurrencyPackage.sku)
512, name(CurrencyPackage.name)
513, is_free(CurrencyPackage.is_free)
514, is_bonus(false)
515, price(CurrencyPackage.price)
516, image_url(CurrencyPackage.image_url)
517, quantity(0){};
518
519bool operator==(const FStoreCartItem& Item) const
520{
521return sku == Item.sku;
522}
523
524/*bool operator==(const FStoreItem& Item) const
525{
526return sku == Item.sku;
527}*/
528};
529
530USTRUCT(BlueprintType)
531struct XSOLLASTORE_API FStoreCart
532{
533public:
534GENERATED_BODY()
535
536UPROPERTY(BlueprintReadOnly, Category = "Cart Data")
537FString cart_id;
538
539UPROPERTY(BlueprintReadOnly, Category = "Cart Data")
540FXsollaPrice price;
541
542UPROPERTY(BlueprintReadOnly, Category = "Cart Data")
543bool is_free;
544
545UPROPERTY(BlueprintReadOnly, Category = "Cart Data")
546TArray<FStoreCartItem> Items;
547
548public:
550: is_free(false){};
551
552FStoreCart(FString CartId)
553: cart_id(CartId)
554, is_free(false){};
555
556// Check if we have the same set of items.
557bool operator==(const FStoreCart& Cart) const
558{
559if (cart_id == Cart.cart_id)
560{
561if (Items.Num() == Cart.Items.Num())
562{
563int32 ItemsCount = Items.Num();
564for (int32 i = 0; i < ItemsCount; ++i)
565{
566if (Items[i].sku == Cart.Items[i].sku)
567{
568if (Items[i].quantity != Cart.Items[i].quantity)
569{
570return false;
571}
572}
573else
574{
575return false;
576}
577}
578
579return true;
580}
581}
582
583return false;
584}
585};
586
587USTRUCT(BlueprintType)
588struct XSOLLASTORE_API FStoreBundle
589{
590GENERATED_BODY()
591
592UPROPERTY(BlueprintReadOnly, Category = "Bundle")
593FString sku;
594
595UPROPERTY(BlueprintReadOnly, Category = "Bundle")
596FString name;
597
598UPROPERTY(BlueprintReadOnly, Category = "Bundle")
599TArray<FXsollaItemGroup> groups;
600
601UPROPERTY(BlueprintReadOnly, Category = "Bundle")
602TArray<FXsollaItemAttribute> attributes;
603
604UPROPERTY(BlueprintReadOnly, Category = "Bundle")
605FString type;
606
607UPROPERTY(BlueprintReadOnly, Category = "Bundle")
608FString bundle_type;
609
610UPROPERTY(BlueprintReadOnly, Category = "Bundle")
611FString description;
612
613UPROPERTY(BlueprintReadOnly, Category = "Bundle")
614FString image_url;
615
616UPROPERTY(BlueprintReadOnly, Category = "Bundle")
617FString is_free;
618
619UPROPERTY(BlueprintReadOnly, Category = "Bundle")
620FXsollaPrice price;
621
622UPROPERTY(BlueprintReadOnly, Category = "Bundle")
623FXsollaPrice total_content_price;
624
625UPROPERTY(BlueprintReadOnly, Category = "Bundle")
626TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
627
628UPROPERTY(BlueprintReadOnly, Category = "Bundle")
629TArray<FStoreBundleContent> content;
630
631UPROPERTY(BlueprintReadOnly, Category = "Bundle")
632TArray<FXsollaStoreItemPromotion> promotions;
633
634UPROPERTY(BlueprintReadOnly, Category = "Bundle")
635FXsollaStoreItemLimits limits;
636};
637
638USTRUCT(BlueprintType)
639struct XSOLLASTORE_API FStoreListOfBundles
640{
641GENERATED_BODY()
642
643UPROPERTY(BlueprintReadOnly, Category = "Bundle")
644TArray<FStoreBundle> items;
645};
646
647USTRUCT(BlueprintType)
648struct XSOLLASTORE_API FStoreDiscount
649{
650GENERATED_BODY()
651
652UPROPERTY(BlueprintReadOnly, Category = "Discount")
653FString percent;
654};
655
656USTRUCT(BlueprintType)
657struct XSOLLASTORE_API FStorePromocodeRewardData
658{
659GENERATED_BODY()
660
661UPROPERTY(BlueprintReadOnly, Category = "Promocode Reward Data")
662TArray<FXsollaBonusItem> bonus;
663
665UPROPERTY(BlueprintReadOnly, Category = "Promocode Reward Data")
667
669UPROPERTY(BlueprintReadOnly, Category = "Promocode Reward Data")
670bool is_selectable = false;
671};
672
673inline FStoreItem::FStoreItem(const struct FStoreBundle& Bundle)
674{
675this->description = Bundle.description;
676this->groups = Bundle.groups;
677this->image_url = Bundle.image_url;
678this->is_free = Bundle.is_free == "true";
679this->name = Bundle.name;
680this->price = Bundle.price;
681this->sku = Bundle.sku;
682this->type = Bundle.type;
683this->virtual_prices = Bundle.virtual_prices;
684this->bundle_type = Bundle.bundle_type;
685this->total_content_price = Bundle.total_content_price;
686this->content = Bundle.content;
687this->attributes = Bundle.attributes;
688}
689
690USTRUCT(BlueprintType)
691struct XSOLLASTORE_API FGameUnitItem
692{
693GENERATED_BODY()
694
695UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
696FString sku;
697
698UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
699FString type;
700
701UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
702bool is_free = false;
703
704UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
705FXsollaPrice price;
706
707UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
708TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
709
710UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
711FString drm_name;
712
713UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
714FString drm_sku;
715
716UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
717bool has_keys = false;
718
719UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
720bool is_pre_order = false;
721
722UPROPERTY(BlueprintReadOnly, Category = "Game Unit Item")
723FString release_date;
724};
725
726USTRUCT(BlueprintType)
727struct XSOLLASTORE_API FGameKeyItem
728{
729GENERATED_BODY()
730
731UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
732FString sku;
733
734UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
735FString name;
736
737UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
738FString type;
739
740/* Groups the item belongs to. */
741UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
742TArray<FXsollaItemGroup> groups;
743
744UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
745TArray<FXsollaItemAttribute> attributes;
746
747UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
748FString description;
749
750UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
751FString image_url;
752
753UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
754bool is_free = false;
755
756UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
757FXsollaPrice price;
758
759UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
760TArray<FXsollaVirtualCurrencyPrice> virtual_prices;
761
762UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
763FString drm_name;
764
765UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
766FString drm_sku;
767
768UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
769bool has_keys = false;
770
771UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
772bool is_pre_order = false;
773
774UPROPERTY(BlueprintReadOnly, Category = "Game Key Item")
775FString release_date;
776};
777
778USTRUCT(BlueprintType)
779struct XSOLLASTORE_API FGameItem
780{
781GENERATED_BODY()
782
783UPROPERTY(BlueprintReadOnly, Category = "Game Item")
784FString sku;
785
786UPROPERTY(BlueprintReadOnly, Category = "Game Item")
787FString name;
788
789UPROPERTY(BlueprintReadOnly, Category = "Game Item")
790TArray<FXsollaItemGroup> groups;
791
792UPROPERTY(BlueprintReadOnly, Category = "Game Item")
793TArray<FXsollaItemAttribute> attributes;
794
795UPROPERTY(BlueprintReadOnly, Category = "Game Item")
796FString type;
797
798UPROPERTY(BlueprintReadOnly, Category = "Game Item")
799FString unit_type;
800
801UPROPERTY(BlueprintReadOnly, Category = "Game Item")
802FString description;
803
804UPROPERTY(BlueprintReadOnly, Category = "Game Item")
805FString image_url;
806
807UPROPERTY(BlueprintReadOnly, Category = "Game Item")
808TArray<FGameUnitItem> unit_items;
809};
810
811USTRUCT(BlueprintType)
812struct XSOLLASTORE_API FStoreGamesList
813{
814GENERATED_BODY()
815
816UPROPERTY(BlueprintReadOnly, Category = "Game List")
817TArray<FGameItem> Games;
818};
819
820USTRUCT(BlueprintType)
821struct XSOLLASTORE_API FStoreGamesData
822{
823GENERATED_BODY()
824
825UPROPERTY(BlueprintReadOnly, Category = "Games Data")
826TArray<FGameItem> Items;
827
829UPROPERTY(BlueprintReadOnly, Category = "Games Data")
830TSet<FString> GroupIds;
831
833UPROPERTY(BlueprintReadOnly, Category = "Games Data")
834TArray<FXsollaItemGroup> Groups;
835};
836
837USTRUCT(BlueprintType)
838struct XSOLLASTORE_API FStoreGameKeysList
839{
840GENERATED_BODY()
841
842UPROPERTY(BlueprintReadOnly, Category = "Game Key List")
843TArray<FGameKeyItem> GameKeys;
844};
845
846USTRUCT(BlueprintType)
847struct XSOLLASTORE_API FDRMItem
848{
849GENERATED_BODY()
850
851UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
852FString sku;
853
854UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
855FString name;
856
857UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
858FString image;
859
860UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
861FString link;
862
863UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
864FString redeem_instruction_link;
865
866UPROPERTY(BlueprintReadOnly, Category = "DRM Item")
867int32 drm_id = 0;
868};
869
870USTRUCT(BlueprintType)
871struct XSOLLASTORE_API FStoreDRMList
872{
873GENERATED_BODY()
874
875UPROPERTY(BlueprintReadOnly, Category = "DRM List")
876TArray<FDRMItem> drm;
877};
878
879USTRUCT(BlueprintType)
880struct XSOLLASTORE_API FOwnedGameItem
881{
882GENERATED_BODY()
883
884UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
885FString name;
886
887UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
888FString description;
889
890UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
891int32 project_id = 0;
892
893UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
894FString game_sku;
895
896UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
897FString drm;
898
899UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
900FString image_url;
901
902UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
903bool is_pre_order = false;
904
905UPROPERTY(BlueprintReadOnly, Category = "Owned Game Item")
906TArray<FXsollaItemAttribute> attributes;
907};
908
909USTRUCT(BlueprintType)
910struct XSOLLASTORE_API FOwnedGamesList
911{
912GENERATED_BODY()
913
914UPROPERTY(BlueprintReadOnly, Category = "Owned Games List")
915bool has_more = false;
916
917UPROPERTY(BlueprintReadOnly, Category = "Owned Games List")
918int32 total_items_count = 0;
919
920UPROPERTY(BlueprintReadOnly, Category = "Owned Games List")
921TArray<FOwnedGameItem> items;
922};
923
924USTRUCT(BlueprintType)
925struct XSOLLASTORE_API FSubscriptionPaystationLink
926{
927GENERATED_BODY()
928
929UPROPERTY(BlueprintReadOnly, Category = "Subscription Paystation Link")
930FString link_to_ps;
931};
932
933USTRUCT(BlueprintType)
934struct XSOLLASTORE_API FSubscriptionPeriod
935{
936GENERATED_BODY()
937
938UPROPERTY(BlueprintReadOnly, Category = "Subscription Period")
939int32 value = 0;
940
941UPROPERTY(BlueprintReadOnly, Category = "Subscription Period")
942FString unit;
943};
944
945USTRUCT(BlueprintType)
946struct XSOLLASTORE_API FSubscriptionCharge
947{
948GENERATED_BODY()
949
950UPROPERTY(BlueprintReadOnly, Category = "Subscription Charge")
951float amount = 0.f;
952
953UPROPERTY(BlueprintReadOnly, Category = "Subscription Charge")
954float amount_with_promotion = 0.f;
955
956UPROPERTY(BlueprintReadOnly, Category = "Subscription Charge")
957FString currency;
958};
959
960USTRUCT(BlueprintType)
961struct XSOLLASTORE_API FSubscriptionPlanCharge
962{
963GENERATED_BODY()
964
965UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan Charge")
966float amount = 0.f;
967
968UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan Charge")
969float setup_fee = false;
970
971UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan Charge")
972FString currency;
973};
974
975USTRUCT(BlueprintType)
976struct XSOLLASTORE_API FSubscriptionPlanPromotion
977{
978GENERATED_BODY()
979
980UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan Promotion")
981float promotion_charge_amount = 0.f;
982
983UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan Promotion")
984float promotion_remaining_charges = 0.f;
985};
986
987USTRUCT(BlueprintType)
988struct XSOLLASTORE_API FSubscriptionPlan
989{
990GENERATED_BODY()
991
992UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
993int32 plan_id = 0;
994
995UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
996FString plan_external_id;
997
998UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
999FString plan_group_id;
1000
1001UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1002FString plan_type;
1003
1004UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1005FString plan_name;
1006
1007UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1008FString plan_description;
1009
1010UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1011FDateTime plan_start_date;
1012
1013UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1014FDateTime plan_end_date;
1015
1016UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1017int32 trial_period = 0;
1018
1019UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1020FSubscriptionPeriod period;
1021
1022UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1024
1025UPROPERTY(BlueprintReadOnly, Category = "Subscription Plan")
1027};
1028
1029USTRUCT(BlueprintType)
1030struct XSOLLASTORE_API FSubscriptionPlansList
1031{
1032GENERATED_BODY()
1033
1034UPROPERTY(BlueprintReadOnly, Category = "Subscription Plans List")
1035TArray<FSubscriptionPlan> items;
1036
1037UPROPERTY(BlueprintReadOnly, Category = "Subscription Plans List")
1038bool has_more = false;
1039};
1040
1041USTRUCT(BlueprintType)
1042struct XSOLLASTORE_API FSubscription
1043{
1044GENERATED_BODY()
1045
1046UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1047int32 id = 0;
1048
1049UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1050int32 plan_id = 0;
1051
1052UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1053FString plan_external_id;
1054
1055UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1056FString plan_name;
1057
1058UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1059FString plan_description;
1060
1061UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1062FDateTime plan_start_date;
1063
1064UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1065FDateTime plan_end_date;
1066
1067UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1068int32 product_id = 0;
1069
1070UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1071FString product_external_id;
1072
1073UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1074FString product_name;
1075
1076UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1077FString product_description;
1078
1079UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1080FString status;
1081
1082UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1083bool is_in_trial = false;
1084
1085UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1086int32 trial_period = 0;
1087
1088UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1089FDateTime date_create;
1090
1091UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1092FDateTime date_next_charge;
1093
1094UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1095FDateTime date_last_charge;
1096
1097UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1098FSubscriptionCharge charge;
1099
1100UPROPERTY(BlueprintReadOnly, Category = "Subscription")
1101FSubscriptionPeriod period;
1102};
1103
1104USTRUCT(BlueprintType)
1105struct XSOLLASTORE_API FSubscriptionsList
1106{
1107GENERATED_BODY()
1108
1109UPROPERTY(BlueprintReadOnly, Category = "Subscriptions List")
1110TArray<FSubscription> items;
1111
1112UPROPERTY(BlueprintReadOnly, Category = "Subscriptions List")
1113bool has_more = false;
1114};
1115
1116USTRUCT(BlueprintType)
1117struct XSOLLASTORE_API FSubscriptionDetails
1118{
1119GENERATED_BODY()
1120
1121UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1122int32 id = 0;
1123
1124UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1125int32 plan_id = 0;
1126
1127UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1128FString plan_external_id;
1129
1130UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1131FString plan_name;
1132
1133UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1134FString plan_description;
1135
1136UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1137FDateTime plan_start_date;
1138
1139UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1140FDateTime plan_end_date;
1141
1142UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1143int32 product_id = 0;
1144
1145UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1146FString product_external_id;
1147
1148UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1149FString product_name;
1150
1151UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1152FString product_description;
1153
1154UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1155FString status;
1156
1157UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1158bool is_in_trial = false;
1159
1160UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1161int32 trial_period = 0;
1162
1163UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1164FDateTime date_create;
1165
1166UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1167FDateTime date_next_charge;
1168
1169UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1170FDateTime date_last_charge;
1171
1172UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1173FSubscriptionCharge charge;
1174
1175UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1176FSubscriptionPeriod period;
1177
1178UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1179FDateTime date_end;
1180
1181UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1182bool is_renew_possible = false;
1183
1184UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1185bool is_change_to_non_renew_possible = false;
1186
1187UPROPERTY(BlueprintReadOnly, Category = "Subscription Details")
1188bool is_change_plan_allowed = false;
1189};
Definition: XsollaStoreDataModel.h:848
Definition: XsollaStoreDataModel.h:780
Definition: XsollaStoreDataModel.h:728
Definition: XsollaStoreDataModel.h:692
Definition: XsollaStoreDataModel.h:881
Definition: XsollaStoreDataModel.h:911
Definition: XsollaStoreDataModel.h:74
Definition: XsollaStoreDataModel.h:589
Definition: XsollaStoreDataModel.h:532
Definition: XsollaStoreDataModel.h:447
Definition: XsollaStoreDataModel.h:872
Definition: XsollaStoreDataModel.h:649
Definition: XsollaStoreDataModel.h:839
Definition: XsollaStoreDataModel.h:822
Definition: XsollaStoreDataModel.h:813
Definition: XsollaStoreDataModel.h:116
Definition: XsollaStoreDataModel.h:104
Definition: XsollaStoreDataModel.h:245
Definition: XsollaStoreDataModel.h:236
Definition: XsollaStoreDataModel.h:640
Definition: XsollaStoreDataModel.h:658
Definition: XsollaStoreDataModel.h:947
Definition: XsollaStoreDataModel.h:1118
Definition: XsollaStoreDataModel.h:1043
Definition: XsollaStoreDataModel.h:935
Definition: XsollaStoreDataModel.h:962
Definition: XsollaStoreDataModel.h:989
Definition: XsollaStoreDataModel.h:977
Definition: XsollaStoreDataModel.h:1031
Definition: XsollaStoreDataModel.h:1106
Definition: XsollaStoreDataModel.h:326
Definition: XsollaStoreDataModel.h:266
Definition: XsollaStoreDataModel.h:339
Definition: XsollaStoreDataModel.h:371
Definition: XsollaStoreDataModel.h:434
Definition: XsollaStoreDataModel.h:41
Definition: XsollaStoreDataModel.h:59
Definition: XsollaStoreDataModel.h:20