Получение списка продуктов
Для получения продуктов необходимо использовать метод RustoreBillingClient.products(ids):
RustoreBillingClient.products(ids).then((response) { for ( final product in response.products) { print(product?.productId); } }, onError: (err) { print( "products err: $err" ); }); |
- ids: List<String?> — список идентификаторов продуктов.
Метод возвращает ProductsResponse:
class ProductsResponse { int code; String? errorMessage; String? errorDescription; String? traceId; List<Product?> products; List<DigitalShopGeneralError?> errors; } |
- code — код ответа;
- errorMessage — сообщение об ошибке;
- errorDescription — описание ошибки;
- traceId — идентификатор ошибки;
- errors — список ошибок;
- products — список продуктов.
Структура ошибки DigitalShopGeneralError:
class DigitalShopGeneralError { String? name; int ? code; String? description } |
- name — имя ошибки;
- code — код ошибки;
- description — описание ошибки.
Структура продукта Product:
class Product { String productId; String? productType; String productStatus; String? priceLabel; int ? price; String? currency; String? language; String? title; String? description; String? imageUrl; String? promoImageUrl; Subscription? subscription; } |
- productId — идентификатор продукта;
- productType — тип продукта;
- productStatus — статус продукта;
- priceLable — отформатированная цена товара, включая валютный знак на языке [language];
- price — цена в минимальных единицах (в копейках);
- currency — код валюты ISO 4217;
- language — язык, указанный с помощью BCP 47 кодирования;
- title — название продукта на языке [language];
- description — описание продукта на языке [language];
- imageUrl — ссылка на картинку;
- promoImageUrl — ссылка на промо картинку;
- subscription — описание подписки, возвращается только для продуктов с типом subscription.
Структура подписки Subscription:
class Subscription { SubscriptionPeriod? subscriptionPeriod; SubscriptionPeriod? freeTrialPeriod; SubscriptionPeriod? gracePeriod; String? introductoryPrice; String? introductoryPriceAmount; SubscriptionPeriod? introductoryPricePeriod; } |
- subscriptionPeriod — период подписки;
- freeTrialPeriod — пробный период подписки;
- gracePeriod — льготный период подписки;
- introductoryPrice — отформатированная вступительная цена подписки, включая знак валюты, на языке product:language;
- introductoryPriceAmount — вступительная цена в минимальных единицах валюты (в копейках);
- introductoryPricePeriod — расчетный период вступительной цены.
Структура периода подписки SubscriptionPeriod:
class SubscriptionPeriod { int years; int months; int days; } |
- years — количество лет;
- months — количество месяцев;
- days — количество дней.
Обновлено 20 июня 2023 г.
Was this information helpful?