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