Получение списка покупок

Для получения списка покупок необходимо использовать метод GetPurchases:

Вызов метода получения списка покупок пользователя
long requestId = URuStoreBillingClient::Instance()->GetPurchases(
    [](long requestId, TSharedPtr<FURuStorePurchasesResponse, ESPMode::ThreadSafe> response) {
        // Process response
    },
    [](long requestId, TSharedPtr<FURuStoreRuStoreError, ESPMode::ThreadSafe> error) {
        // Process error
    }
);

Blueprint-реализация:

image

image

image

Метод возвращает:

Ответ GetPurchases
USTRUCT(BlueprintType)
struct FURuStorePurchasesResponse : public FURuStoreResponseWithCode
{
    GENERATED_USTRUCT_BODY()
 
    UPROPERTY(BlueprintReadOnly)
    TArray<FURuStorePurchase> purchases;
};
  • purchases  список покупок.

Базовый класс ответа:

Базовый класс ответа
USTRUCT(BlueprintType)
struct FURuStoreResponseWithCode
{
    GENERATED_USTRUCT_BODY()
 
    FURuStoreResponseWithCode()
    {
        code = 0;
        errorMessage = "";
        errorDescription = "";
    }
 
    UPROPERTY(BlueprintReadOnly)
    int code;
 
    UPROPERTY(BlueprintReadOnly)
    FString errorMessage;
 
    UPROPERTY(BlueprintReadOnly)
    FString errorDescription;
 
    UPROPERTY(BlueprintReadOnly)
    TArray<FURuStoreDigitalShopGeneralError> errors;
};
  • code  код ответа.
  • errorMessage  сообщение об ошибке. 
  • errorDescription  описание ошибки. 
  • errors  список ошибок.

Структура ошибки:

Структура ошибки
USTRUCT(BlueprintType)
struct FURuStoreDigitalShopGeneralError
{
    GENERATED_USTRUCT_BODY()
 
    FURuStoreDigitalShopGeneralError()
    {
        name = "";
        code = 0;
        description = "";
    }
 
    UPROPERTY(BlueprintReadOnly)
    FString name;
 
    UPROPERTY(BlueprintReadOnly)
    int code;
 
    UPROPERTY(BlueprintReadOnly)
    FString description;
};
  • name  наименование ошибки.
  • code  код ошибки.

  • description  описание ошибки.

Структура покупки:

Структура с информацией о покупке
USTRUCT(BlueprintType)
struct FURuStorePurchase
{
    GENERATED_USTRUCT_BODY()
 
    FURuStorePurchase()
    {
        purchaseId = "";
        productId = "";
        invoiceId = "";
        description = "";
        language = "";
        purchaseTime = FDateTime(0);
        orderId = "";
        amountLabel = "";
        amount = 0;
        currency = "";
        quantity = 0;
        purchaseState = EURuStorePurchaseState::CANCELLED;
        developerPayload = "";
        subscriptionToken = "";
    }
 
    UPROPERTY(BlueprintReadOnly)
    FString purchaseId;
 
    UPROPERTY(BlueprintReadOnly)
    FString productId;
 
    UPROPERTY(BlueprintReadOnly)
    FString invoiceId;
 
    UPROPERTY(BlueprintReadOnly)
    FString description;
 
    UPROPERTY(BlueprintReadOnly)
    FString language;
 
    UPROPERTY(BlueprintReadOnly)
    FDateTime purchaseTime;
 
    UPROPERTY(BlueprintReadOnly)
    FString purchaseTimeLabel;
 
    UPROPERTY(BlueprintReadOnly)
    FString orderId;
 
    UPROPERTY(BlueprintReadOnly)
    FString amountLabel;
 
    UPROPERTY(BlueprintReadOnly)
    int amount;
 
    UPROPERTY(BlueprintReadOnly)
    FString currency;
 
    UPROPERTY(BlueprintReadOnly)
    int quantity;
 
    UPROPERTY(BlueprintReadOnly)
    EURuStorePurchaseState purchaseState;
 
    UPROPERTY(BlueprintReadOnly)
    FString developerPayload;
 
    UPROPERTY(BlueprintReadOnly)
    FString subscriptionToken;
};
  • purchaseId  идентификатор покупки. 
  • productId  идентификатор продукта. 
  • description  описание покупки. 
  • invoiceId  идентификатор счета.
  • language  язык, указанный с помощью BCP 47 кодирования. 
  • purchaseTime  время покупки.
  • purchaseTimeLabel  время покупки в формате DD.MM.YYYY HH:MM:SS.
  • orderId  уникальный идентификатор оплаты, сформированный приложением (uuid). 
  • amountLable  отформатированная цена покупки, включая валютный знак на языке [language]. 
  • amount  цена в минимальных единицах валюты. 
  • currency  код валюты ISO 4217. 
  • quantity  количество продукта. 
  • purchaseState  состояние покупки. 
    • Возможные значения состояния покупки:
      • CREATED  создана. 
      • INVOICE_CREATED  создана, ожидает оплаты. 
      • CONFIRMED  подтверждена. 
      • PAID  оплачена. 
      • CANCELLED  покупка отменена. 
      • CONSUMED  потребление покупки подтверждено. 
      • CLOSED  подписка была отменена. 
  • developerPayload  указанная разработчиком строка, содержащая дополнительную информацию о заказе.
  • subscriptionToken  токен для валидации покупки на сервере.
Обновлено 17 июля 2023 г.
Was this information helpful?