API/Autodoc/Files/URuStorePayPurchaseNode.cpp.md


Source code

// Copyright Epic Games, Inc. All Rights Reserved.

#include "URuStorePayPurchaseNode.h"

using namespace RuStoreSDK;

URuStorePayPurchaseNode::URuStorePayPurchaseNode(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
{
}

URuStorePayPurchaseNode* URuStorePayPurchaseNode::PurchaseAsync(
    URuStorePayClient* target,
    FURuStorePayProductPurchaseParams productPurchaseParams,
    EURuStorePayPreferredPurchaseType preferredPurchaseType,
    EURuStorePaySdkTheme sdkTheme
) {
    auto node = NewObject<URuStorePayPurchaseNode>(GetTransientPackage());
    
    target->Purchase(
        productPurchaseParams,
        preferredPurchaseType,
        sdkTheme,
        [target, node](long requestId, TSharedPtr<FURuStorePayProductPurchaseResult, ESPMode::ThreadSafe> response) {
            node->Success.Broadcast(*response, FURuStoreError());
        },
        [target, node](long requestId, TSharedPtr<FURuStoreError, ESPMode::ThreadSafe> error) {
            node->Error.Broadcast(FURuStorePayProductPurchaseResult(), *error);
        }
    );

    return node;
}

Назад