5#include "XsollaStoreDataModel.h"
6#include "XsollaUtilsHttpRequestHelper.h"
7#include "Blueprint/UserWidget.h"
8#include "Subsystems/GameInstanceSubsystem.h"
9#include "Subsystems/SubsystemCollection.h"
10#include "XsollaOrderCheckObject.h"
11#include "XsollaUtilsDataModel.h"
12#include "XsollaStoreDelegates.h"
13#include "XsollaStoreAuxiliaryDataModel.h"
14#include "XsollaStoreSubsystem.generated.h"
17enum class EXsollaPublishingPlatform : uint8;
22DECLARE_DYNAMIC_DELEGATE(FOnStoreUpdate);
23DECLARE_DYNAMIC_DELEGATE(FOnStoreSuccessPayment);
24DECLARE_DYNAMIC_DELEGATE(FOnStoreCancelPayment);
25DECLARE_DYNAMIC_DELEGATE(FOnStoreCartUpdate);
26DECLARE_DYNAMIC_DELEGATE_OneParam(FOnStoreBrowserClosed, bool, bIsManually);
27DECLARE_DYNAMIC_DELEGATE_OneParam(FOnCartUpdate, const FStoreCart&, Cart);
28DECLARE_DYNAMIC_DELEGATE_TwoParams(FOnFetchTokenSuccess, const FString&, AccessToken, int32, OrderId);
29DECLARE_DYNAMIC_DELEGATE_ThreeParams(FOnCheckOrder, int32, OrderId, EXsollaOrderStatus, OrderStatus, FXsollaOrderContent, OrderContent);
30DECLARE_DYNAMIC_DELEGATE_OneParam(FOnCurrencyUpdate, const FVirtualCurrency&, Currency);
31DECLARE_DYNAMIC_DELEGATE_OneParam(FOnCurrencyPackageUpdate, const FVirtualCurrencyPackage&, CurrencyPackage);
32DECLARE_DYNAMIC_DELEGATE_OneParam(FOnPurchaseUpdate, int32, OrderId);
33DECLARE_DYNAMIC_DELEGATE_OneParam(FOnGetPromocodeRewardsUpdate, FStorePromocodeRewardData, RewardsData);
34DECLARE_DYNAMIC_DELEGATE_OneParam(FOnGetSpecifiedBundleUpdate, FStoreBundle, Bundle);
35DECLARE_DYNAMIC_DELEGATE_OneParam(FOnPromocodeUpdate, const FStoreCart&, Cart);
36DECLARE_DYNAMIC_DELEGATE_OneParam(FOnGetItemsList, FStoreItemsList, ItemsList);
37DECLARE_DYNAMIC_DELEGATE_OneParam(FOnGetGamesListBySpecifiedGroup, FStoreGamesList, GamesList);
38DECLARE_DYNAMIC_DELEGATE_OneParam(FOnGameUpdate, const FGameItem&, Game);
39DECLARE_DYNAMIC_DELEGATE_OneParam(FOnGameKeyUpdate, const FGameKeyItem&, GameKey);
40DECLARE_DYNAMIC_DELEGATE_OneParam(FOnGetGameKeysListBySpecifiedGroup, FStoreGameKeysList, GameKeysList);
41DECLARE_DYNAMIC_DELEGATE_OneParam(FOnDRMListUpdate, FStoreDRMList, DRMList);
42DECLARE_DYNAMIC_DELEGATE_OneParam(FOnOwnedGamesListUpdate, FOwnedGamesList, GamesList);
43DECLARE_DYNAMIC_DELEGATE_OneParam(FOnStoreGamesUpdate, const FStoreGamesData&, GamesData);
44DECLARE_DYNAMIC_DELEGATE_OneParam(FOnItemGroupsUpdate, const FStoreItemGroupsData&, ItemGroupsData);
45DECLARE_DYNAMIC_DELEGATE(FOnRedeemGameCodeSuccess);
46DECLARE_DYNAMIC_DELEGATE_OneParam(FOnSubscriptionPublicPlansListUpdate, FSubscriptionPlansList, SubscriptionPlansList);
47DECLARE_DYNAMIC_DELEGATE_OneParam(FOnSubscriptionPlansListUpdate, FSubscriptionPlansList, SubscriptionPlansList);
48DECLARE_DYNAMIC_DELEGATE_OneParam(FOnSubscriptionsListUpdate, FSubscriptionsList, SubscriptionsList);
49DECLARE_DYNAMIC_DELEGATE_OneParam(FOnGetSubscriptionDetailsSuccess, const FSubscriptionDetails&, SubscriptionDetails);
50DECLARE_DYNAMIC_DELEGATE_OneParam(FOnGetSubscriptionPayStationLinkSuccess, const FString&, LinkToPaystation);
51DECLARE_DYNAMIC_DELEGATE(FOnCancelSubscriptionSuccess);
62 virtual void Initialize(FSubsystemCollectionBase& Collection)
override;
63 virtual void Deinitialize()
override;
71 UFUNCTION(BlueprintCallable, Category =
"Xsolla|Store")
72 void Initialize(const FString& InProjectId);
87 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
88 void GetPaginatedVirtualItems(const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
89 const FOnStoreItemsUpdate& SuccessCallback, const FOnError& ErrorCallback,
90 const
int Limit = 50, const
int Offset = 0, const FString& AuthToken = TEXT(""));
102 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
103 void GetVirtualItems(const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
104 const FOnStoreItemsUpdate& SuccessCallback, const FOnError& ErrorCallback, const FString& AuthToken = TEXT(""));
113 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
114 void GetItemGroups(const FString& PromoCode, const FOnItemGroupsUpdate& SuccessCallback, const FOnError& ErrorCallback);
128 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|VirtualCurrency", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
129 void GetPaginatedVirtualCurrencies(const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
130 const FOnVirtualCurrenciesUpdate& SuccessCallback, const FOnError& ErrorCallback, const
int Limit = 50, const
int Offset = 0);
141 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|VirtualCurrency", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
142 void GetVirtualCurrencies(const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
143 const FOnVirtualCurrenciesUpdate& SuccessCallback, const FOnError& ErrorCallback);
158 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|VirtualCurrency", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
159 void GetPaginatedVirtualCurrencyPackages(const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
160 const FOnVirtualCurrencyPackagesUpdate& SuccessCallback, const FOnError& ErrorCallback,
161 const
int Limit = 50, const
int Offset = 0, const FString& AuthToken = TEXT(""));
174 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|VirtualCurrency", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
175 void GetVirtualCurrencyPackages(const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
176 const FOnVirtualCurrencyPackagesUpdate& SuccessCallback, const FOnError& ErrorCallback, const FString& AuthToken = TEXT(""));
192 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|VirtualItems", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
193 void GetPaginatedItemsListBySpecifiedGroup(const FString& ExternalId, const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
194 const FOnGetItemsListBySpecifiedGroup& SuccessCallback, const FOnError& ErrorCallback, const
int Limit = 50, const
int Offset = 0, const FString& AuthToken = TEXT(""));
207 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|VirtualItems", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
208 void GetItemsListBySpecifiedGroup(const FString& ExternalId, const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
209 const FOnGetItemsListBySpecifiedGroup& SuccessCallback, const FOnError& ErrorCallback, const FString& AuthToken = TEXT(""));
219 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|VirtualItems", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
220 void GetAllItemsList(const FString& Locale, const FOnGetItemsList& SuccessCallback, const FOnError& ErrorCallback, const FString& AuthToken = TEXT(""));
231 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback, PurchaseParams"))
232 void FetchPaymentToken(const FString& AuthToken, const FString& ItemSKU,
233 const FOnFetchTokenSuccess& SuccessCallback, const FOnError& ErrorCallback, const FXsollaPaymentTokenRequestPayload& PurchaseParams);
244 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Cart", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback, PurchaseParams"))
245 void FetchCartPaymentToken(const FString& AuthToken, const FString& CartId,
246 const FOnFetchTokenSuccess& SuccessCallback, const FOnError& ErrorCallback, const FXsollaPaymentTokenRequestPayload& PurchaseParams);
262 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (WorldContext = "WorldContextObject", AutoCreateRefTerm = "SuccessCallback, ErrorCallback, BrowserClosedCallback"))
263 void LaunchPaymentConsole(UObject* WorldContextObject, const int32 OrderId, const FString& AccessToken,
264 const FOnStoreSuccessPayment& SuccessCallback, const FOnError& ErrorCallback, const FOnStoreBrowserClosed& BrowserClosedCallback,
265 const EXsollaPayStationVersion PayStationVersion = EXsollaPayStationVersion::v4);
276 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "PurchaseParams, SuccessCallback, ErrorCallback, BrowserClosedCallback"))
277 void PurchaseItemBySku(const FString& AuthToken, const FString& ItemSKU, const FXsollaPaymentTokenRequestPayload& PurchaseParams,
278 const FOnPurchaseUpdate& SuccessCallback, const FOnError& ErrorCallback, const FOnStoreBrowserClosed& BrowserClosedCallback);
290 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "PurchaseParams, SuccessCallback, ErrorCallback, BrowserClosedCallback"))
291 void PurchaseCart(const FString& AuthToken, const FString& CartId, const FXsollaPaymentTokenRequestPayload& PurchaseParams,
292 const FOnPurchaseUpdate& SuccessCallback, const FOnError& ErrorCallback, const FOnStoreBrowserClosed& BrowserClosedCallback);
301 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
302 void PurchaseFreeCart(const FString& AuthToken, const FString& CartId,
303 const FOnPurchaseUpdate& SuccessCallback, const FOnError& ErrorCallback);
312 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
313 void CheckOrder(const FString& AuthToken, const int32 OrderId,
314 const FOnCheckOrder& SuccessCallback, const FOnError& ErrorCallback);
324 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
325 void CheckPendingOrder(const FString& AccessToken, const int32 OrderId,
326 const FOnStoreSuccessPayment& SuccessCallback, const FOnError& ErrorCallback,
bool bIsUserInvolvedToPayment = false);
337 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
338 void CreateOrderWithSpecifiedFreeItem(const FString& AuthToken, const FString& ItemSKU,
339 const FOnPurchaseUpdate& SuccessCallback, const FOnError& ErrorCallback, const int32 Quantity = 1);
349 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
350 void CreateOrderWithFreeCart(const FString& AuthToken, const FString& CartId,
351 const FOnPurchaseUpdate& SuccessCallback, const FOnError& ErrorCallback);
361 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "PurchaseParams, SuccessCallback, ErrorCallback"))
362 void PurchaseStoreItem(const FString& AuthToken, const
FStoreItem& StoreItem, const FXsollaPaymentTokenRequestPayload& PurchaseParams,
363 const FOnPurchaseUpdate& SuccessCallback, const FOnError& ErrorCallback);
373 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "PurchaseParams, SuccessCallback, ErrorCallback"))
374 void PurchaseCurrencyPackage(const FString& AuthToken, const
FVirtualCurrencyPackage& CurrencyPackage, const FXsollaPaymentTokenRequestPayload& PurchaseParams,
375 const FOnPurchaseUpdate& SuccessCallback, const FOnError& ErrorCallback);
385 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store", meta = (AutoCreateRefTerm = "PurchaseParams, SuccessCallback, ErrorCallback"))
386 void PurchaseBundle(const FString& AuthToken, const
FStoreBundle& Bundle, const FXsollaPaymentTokenRequestPayload& PurchaseParams,
387 const FOnPurchaseUpdate& SuccessCallback, const FOnError& ErrorCallback);
397 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Cart", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
398 void ClearCart(const FString& AuthToken, const FString& CartId,
399 const FOnStoreCartUpdate& SuccessCallback, const FOnError& ErrorCallback);
411 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Cart", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
412 void GetCart(const FString& AuthToken, const FString& CartId, const FString& Currency, const FString& Locale,
413 const FOnCartUpdate& SuccessCallback, const FOnError& ErrorCallback);
425 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Cart", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
426 void UpdateItemInCart(const FString& AuthToken, const FString& CartId, const FString& ItemSKU, const int32 Quantity,
427 const FOnStoreCartUpdate& SuccessCallback, const FOnError& ErrorCallback);
438 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Cart", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
439 void RemoveFromCart(const FString& AuthToken, const FString& CartId, const FString& ItemSKU,
440 const FOnStoreCartUpdate& SuccessCallback, const FOnError& ErrorCallback);
451 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Cart", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
452 void FillCartById(const FString& AuthToken, const FString& CartId, const TArray<
FStoreCartItem>& Items,
453 const FOnCartUpdate& SuccessCallback, const FOnError& ErrorCallback);
463 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Bundle", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
464 void GetSpecifiedBundle(const FString& Sku, const FOnGetSpecifiedBundleUpdate& SuccessCallback, const FOnError& ErrorCallback, const FString& AuthToken = TEXT(""));
479 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Bundle", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
480 void GetPaginatedBundles(const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
481 const FOnGetListOfBundlesUpdate& SuccessCallback, const FOnError& ErrorCallback, const
int Limit = 50, const
int Offset = 0, const FString& AuthToken = TEXT(""));
494 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Bundle", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
495 void GetBundles(const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
496 const FOnGetListOfBundlesUpdate& SuccessCallback, const FOnError& ErrorCallback, const FString& AuthToken = TEXT(""));
509 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|VirtualCurrency", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
510 void GetVirtualCurrency(const FString& CurrencySKU,
511 const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
512 const FOnCurrencyUpdate& SuccessCallback, const FOnError& ErrorCallback);
524 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|VirtualCurrency", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
525 void GetVirtualCurrencyPackage(const FString& PackageSKU,
526 const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
527 const FOnCurrencyPackageUpdate& SuccessCallback, const FOnError& ErrorCallback);
540 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|VirtualCurrency", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
541 void BuyItemWithVirtualCurrency(const FString& AuthToken, const FString& ItemSKU, const FString& CurrencySKU,
542 const EXsollaPublishingPlatform Platform, const FOnPurchaseUpdate& SuccessCallback, const FOnError& ErrorCallback);
552 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Promocode", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
553 void GetPromocodeRewards(const FString& AuthToken, const FString& PromocodeCode,
554 const FOnGetPromocodeRewardsUpdate& SuccessCallback, const FOnError& ErrorCallback);
565 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Promocode", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
566 void RedeemPromocode(const FString& AuthToken, const FString& PromocodeCode, const FString& CartId,
567 const FOnPromocodeUpdate& SuccessCallback, const FOnError& ErrorCallback);
577 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Promocode", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
578 void RemovePromocodeFromCart(const FString& AuthToken, const FString& CartId,
579 const FOnPromocodeUpdate& SuccessCallback, const FOnError& ErrorCallback);
591 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|GameKeys" , meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
592 void GetGamesList(const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
593 const FOnStoreGamesUpdate& SuccessCallback, const FOnError& ErrorCallback, const
int Limit = 50, const
int Offset = 0);
606 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|GameKeys", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
607 void GetGamesListBySpecifiedGroup(const FString& ExternalId, const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
608 const FOnGetGamesListBySpecifiedGroup& SuccessCallback, const FOnError& ErrorCallback, const
int Limit = 50, const
int Offset = 0);
622 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|GameKeys", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
623 void GetGameItem(const FString& GameSKU, const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
624 const FOnGameUpdate& SuccessCallback, const FOnError& ErrorCallback);
656 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|GameKeys", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
657 void GetGameKeyItem(const FString& ItemSKU, const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
658 const FOnGameKeyUpdate& SuccessCallback, const FOnError& ErrorCallback);
671 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|GameKeys", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
672 void GetGameKeysListBySpecifiedGroup(const FString& ExternalId, const FString& Locale, const FString& Country, const TArray<FString>& AdditionalFields,
673 const FOnGetGameKeysListBySpecifiedGroup& SuccessCallback, const FOnError& ErrorCallback, const
int Limit = 50, const
int Offset = 0);
680 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|GameKeys", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
681 void GetDRMList(const FOnDRMListUpdate& SuccessCallback, const FOnError& ErrorCallback);
694 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|GameKeys", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
695 void GetOwnedGames(const FString& AuthToken, const TArray<FString>& AdditionalFields,
696 const FOnOwnedGamesListUpdate& SuccessCallback, const FOnError& ErrorCallback, const
int Limit = 50, const
int Offset = 0, const
bool bIsSandbox = false);
705 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|GameKeys", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
706 void RedeemGameCodeByClient(const FString& AuthToken, const FString& Code,
707 const FOnRedeemGameCodeSuccess& SuccessCallback, const FOnError& ErrorCallback);
722 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Subscriptions", meta = (AutoCreateRefTerm = "PlanId, PlanExternalId, SuccessCallback, ErrorCallback"))
723 void GetSubscriptionPublicPlans(const TArray<
int> PlanId, const TArray<FString>& PlanExternalId, const FString& Country, const FString& Locale,
724 const FOnSubscriptionPublicPlansListUpdate& SuccessCallback, const FOnError& ErrorCallback, const
int Limit = 50, const
int Offset = 0);
740 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Subscriptions", meta = (AutoCreateRefTerm = "PlanId, PlanExternalId, SuccessCallback, ErrorCallback"))
741 void GetSubscriptionPlans(const FString& AuthToken, const TArray<
int> PlanId, const TArray<FString>& PlanExternalId, const FString& Country, const FString& Locale,
742 const FOnSubscriptionPlansListUpdate& SuccessCallback, const FOnError& ErrorCallback, const
int Limit = 50, const
int Offset = 0);
755 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Subscriptions", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
756 void GetSubscriptions(const FString& AuthToken, const FString& Locale,
757 const FOnSubscriptionsListUpdate& SuccessCallback, const FOnError& ErrorCallback, const
int Limit = 50, const
int Offset = 0);
769 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Subscriptions", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
770 void GetSubscriptionDetails(const FString& AuthToken, const int32 SubscriptionId, const FString& Locale,
771 const FOnGetSubscriptionDetailsSuccess& SuccessCallback, const FOnError& ErrorCallback);
782 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Subscriptions", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
783 void GetSubscriptionPurchaseUrl(const FString& AuthToken, const FString& PlanExternalId, const FString& Country,
784 const FOnGetSubscriptionPayStationLinkSuccess& SuccessCallback, const FOnError& ErrorCallback);
794 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Subscriptions", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
795 void GetSubscriptionManagementUrl(const FString& AuthToken, const FString& Country,
796 const FOnGetSubscriptionPayStationLinkSuccess& SuccessCallback, const FOnError& ErrorCallback);
806 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Subscriptions", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
807 void GetSubscriptionRenewalUrl(const FString& AuthToken, const int32 SubscriptionId,
808 const FOnGetSubscriptionPayStationLinkSuccess& SuccessCallback, const FOnError& ErrorCallback);
818 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Subscriptions", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
819 void CancelSubscription(const FString& AuthToken, const int32 SubscriptionId,
820 const FOnCancelSubscriptionSuccess& SuccessCallback, const FOnError& ErrorCallback);
826 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Xsolla|Store|Utils", meta = (WorldContext = "WorldContextObject"))
827 static
bool IsCustomTabsBrowserAvailable(UObject* WorldContextObject);
830 void GetVirtualItems_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
831 const
bool bSucceeded, FOnStoreItemsUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
832 void GetItemGroups_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
833 const
bool bSucceeded, FOnItemGroupsUpdate SuccessCallback, FOnError ErrorCallback);
834 void GetVirtualCurrencies_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
835 const
bool bSucceeded, FOnVirtualCurrenciesUpdate SuccessCallback, FOnError ErrorCallback);
836 void GetVirtualCurrencyPackages_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
837 const
bool bSucceeded, FOnVirtualCurrencyPackagesUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
838 void GetItemsListBySpecifiedGroup_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
839 const
bool bSucceeded, FOnGetItemsListBySpecifiedGroup SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
840 void GetAllItemsList_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
841 const
bool bSucceeded, FOnGetItemsList SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
843 void FetchPaymentToken_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
844 const
bool bSucceeded, FOnFetchTokenSuccess SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
845 void CheckOrder_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
846 const
bool bSucceeded, FOnCheckOrder SuccessCallback, FOnError ErrorCallback);
848 void CreateOrderWithSpecifiedFreeItem_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
849 const
bool bSucceeded, FOnPurchaseUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
850 void CreateOrderWithFreeCart_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
851 const
bool bSucceeded, FOnPurchaseUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
853 void ClearCart_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
854 const
bool bSucceeded, FOnStoreCartUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
855 void GetCart_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
856 const
bool bSucceeded, FOnCartUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
857 void UpdateItemInCart_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
858 const
bool bSucceeded, FOnStoreCartUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
859 void RemoveFromCart_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
860 const
bool bSucceeded, FOnStoreCartUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
861 void FillCartById_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
862 const
bool bSucceeded, FOnCartUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
864 void GetListOfBundles_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
865 const
bool bSucceeded, FOnGetListOfBundlesUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
866 void GetSpecifiedBundle_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
867 const
bool bSucceeded, FOnGetSpecifiedBundleUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
869 void GetVirtualCurrency_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
870 const
bool bSucceeded, FOnCurrencyUpdate SuccessCallback, FOnError ErrorCallback);
871 void GetVirtualCurrencyPackage_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
872 const
bool bSucceeded, FOnCurrencyPackageUpdate SuccessCallback, FOnError ErrorCallback);
874 void BuyItemWithVirtualCurrency_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
875 const
bool bSucceeded, FOnPurchaseUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
877 void GetPromocodeRewards_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
878 const
bool bSucceeded, FOnGetPromocodeRewardsUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
879 void RedeemPromocode_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
880 const
bool bSucceeded, FOnPromocodeUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
881 void RemovePromocodeFromCart_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
882 const
bool bSucceeded, FOnPromocodeUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
884 void GetGamesList_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
885 const
bool bSucceeded, FOnStoreGamesUpdate SuccessCallback, FOnError ErrorCallback);
887 void GetGamesListBySpecifiedGroup_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
888 const
bool bSucceeded, FOnGetGamesListBySpecifiedGroup SuccessCallback, FOnError ErrorCallback);
890 void GetGameItem_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
891 const
bool bSucceeded, FOnGameUpdate SuccessCallback, FOnError ErrorCallback);
893 void GetGameKeyItem_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
894 const
bool bSucceeded, FOnGameKeyUpdate SuccessCallback, FOnError ErrorCallback);
896 void GetGameKeysListBySpecifiedGroup_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
897 const
bool bSucceeded, FOnGetGameKeysListBySpecifiedGroup SuccessCallback, FOnError ErrorCallback);
899 void GetDRMList_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
900 const
bool bSucceeded, FOnDRMListUpdate SuccessCallback, FOnError ErrorCallback);
902 void GetOwnedGames_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
903 const
bool bSucceeded, FOnOwnedGamesListUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
905 void RedeemGameCodeByClient_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
906 const
bool bSucceeded, FOnRedeemGameCodeSuccess SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
908 void GetSubscriptionPublicPlans_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
909 const
bool bSucceeded, FOnSubscriptionPublicPlansListUpdate SuccessCallback, FOnError ErrorCallback);
911 void GetSubscriptionPlans_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
912 const
bool bSucceeded, FOnSubscriptionPlansListUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
914 void GetSubscriptions_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
915 const
bool bSucceeded, FOnSubscriptionsListUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
917 void GetSubscriptionDetails_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
918 const
bool bSucceeded, FOnGetSubscriptionDetailsSuccess SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
920 void GetSubscriptionPaystationLink_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
921 const
bool bSucceeded, FOnGetSubscriptionPayStationLinkSuccess SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
923 void CancelSubscription_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
924 const
bool bSucceeded, FOnCancelSubscriptionSuccess SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
927 void HandleRequestError(XsollaHttpRequestError ErrorData, FOnError ErrorCallback);
929 void HandlePurchaseFreeItemsRequest(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
930 const
bool bSucceeded, FOnPurchaseUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
934 bool IsSandboxEnabled() const;
936 void InnerPurchase(const FString& AuthToken, const FString& Sku,
bool bIsFree, const TArray<FXsollaVirtualCurrencyPrice>& VirtualPrices,
937 const FXsollaPaymentTokenRequestPayload PaymentTokenRequestPayload, const FOnPurchaseUpdate& SuccessCallback, const FOnError& ErrorCallback);
940 void FetchTokenCallback(const FString& AccessToken, int32 InOrderId);
943 void BuyVirtualOrFreeItemCallback(int32 InOrderId);
946 void CheckPendingOrderSuccessCallback();
949 void BrowserClosedCallback(
bool bIsManually);
956 void GetVirtualItemsError(int32 StatusCode, int32 ErrorCode, const FString& ErrorMessage);
958 void CallGetVirtualItems();
965 void GetVirtualCurrenciesError(int32 StatusCode, int32 ErrorCode, const FString& ErrorMessage);
967 void CallGetVirtualCurrencies();
974 void GetVirtualCurrencyPackagesError(int32 StatusCode, int32 ErrorCode, const FString& ErrorMessage);
976 void CallGetVirtualCurrencyPackages();
980 void GetAllItemsListBySpecifiedGroupCallback(const
FStoreItemsList& InItemsList);
983 void GetAllItemsListBySpecifiedGroupError(int32 StatusCode, int32 ErrorCode, const FString& ErrorMessage);
985 void CallGetAllItemsListBySpecifiedGroup();
992 void GetBundlesError(int32 StatusCode, int32 ErrorCode, const FString& ErrorMessage);
994 void CallGetBundles();
998 TSharedRef<IHttpRequest, ESPMode::ThreadSafe> CreateHttpRequest(const FString& Url, const EXsollaHttpRequestVerb Verb = EXsollaHttpRequestVerb::VERB_GET,
999 const FString& AuthToken = FString(), const FString& Content = FString());
1002 FString SerializeJson(const TSharedPtr<FJsonObject> DataJson) const;
1005 TSharedPtr<FJsonObject> PreparePaymentTokenRequestPayload(const FXsollaPaymentTokenRequestPayload& PaymentTokenRequestPayload);
1008 TSharedPtr<FJsonObject> PreparePaystationSettings(const
bool bAddAdditionalParameters = false, const
bool bDisableSdkParameter = false, const
bool bShowCloseButton = false, const FString& CloseButtonIcon = TEXT("cross"), const
bool bGpQuickPaymentButton = false);
1011 bool GetSteamUserId(const FString& AuthToken, FString& SteamId, FString& OutError);
1013 FString GetPayStationVersionPath(const EXsollaPayStationVersion PayStationVersion) const;
1015 FString GetTokenQueryParameterName(const EXsollaPayStationVersion PayStationVersion) const;
1017 FString GetBrowserType() const;
1019 FString GetBuildPlatform() const;
1023 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store")
1032 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store")
1033 const FString& GetPendingPaystationUrl() const;
1036 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store")
1037 static FString GetItemName(const
FStoreItemsData& StoreItemsData, const FString& ItemSKU);
1045 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store")
1055 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store")
1057 const FString& ItemSku,
bool& bHasFound);
1060 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|Cart")
1061 static
bool IsItemInCart(const
FStoreCart& Cart, const FString& ItemSKU);
1068 FString CachedAuthToken;
1071 FXsollaPaymentTokenRequestPayload CachedPaymentTokenRequestPayload;
1074 FString PendingPaystationUrl;
1089 FString PaymentAccessToken;
1092 FString PaymentRedirectURI;
1095 bool PaymentEnableSandbox;
1098 int32 PaymentOrderId;
1101 int32 PaymentPayStationVersionNumber;
1104 FOnPurchaseUpdate PaymentSuccessCallback;
1107 FOnError PaymentErrorCallback;
1110 FOnStoreBrowserClosed PaymentBrowserClosedCallback;
1112 UPROPERTY(Transient)
1115 UPROPERTY(Transient)
1118 UPROPERTY(Transient)
1121 UPROPERTY(Transient)
1124 UPROPERTY(Transient)
Definition: XsollaLoginSubsystem.h:52
Definition: XsollaOrderCheckObject.h:21
Definition: XsollaStoreBrowserWrapper.h:16
Definition: XsollaStoreSubsystem.h:55
Definition: XsollaStoreAuxiliaryDataModel.h:347
Definition: XsollaStoreAuxiliaryDataModel.h:258
Definition: XsollaStoreAuxiliaryDataModel.h:95
Definition: XsollaStoreAuxiliaryDataModel.h:174
Definition: XsollaStoreAuxiliaryDataModel.h:11
Definition: XsollaStoreDataModel.h:607
Definition: XsollaStoreDataModel.h:550
Definition: XsollaStoreDataModel.h:465
Definition: XsollaStoreDataModel.h:116
Definition: XsollaStoreDataModel.h:248
Definition: XsollaStoreDataModel.h:236
Definition: XsollaStoreDataModel.h:658
Definition: XsollaStoreDataModel.h:338
Definition: XsollaStoreDataModel.h:386
Definition: XsollaStoreDataModel.h:449