REST Resource: orders

Ресурс: Заказ

Ресурс «Заказ» содержит полную информацию о транзакции, совершённой в Google Play. Он включает в себя ряд атрибутов, предоставляющих подробную информацию о самом заказе, приобретённых товарах и истории событий, связанных с заказом.

API Orders предоставляют доступ к данным о ваших заказах в режиме реального времени в экосистеме Google Play. Вы можете получать подробную информацию и метаданные как для разовых, так и для повторяющихся заказов, включая сведения о транзакциях, такие как сборы, налоги и возвраты, а также метаданные, такие как этапы ценообразования для подписок. API Orders позволяют автоматизировать задачи, связанные с управлением заказами, сокращая необходимость ручных проверок через Play Developer Console.

Ниже приведены некоторые варианты использования этого API:

  • Извлечение данных о заказе в режиме реального времени — orders.get сведения о заказе и метаданные сразу после покупки, используя идентификатор заказа.

  • Синхронизация обновлений заказов. Периодически синхронизируйте обновления заказов, чтобы поддерживать актуальную информацию о заказах.

Примечание:

  • Вызовы API Orders учитываются в вашей квоте API Play Developer, которая по умолчанию составляет 200 тыс. в день, и может быть недостаточно для синхронизации обширных историй заказов.

  • За один вызов можно получить не более 1000 заказов. Рекомендуется использовать страницы большего размера для минимизации использования квоты. Проверьте свою квоту в Cloud Console и запросите её при необходимости.

JSON-представление
{
  "lineItems": [
    {
      object (LineItem)
    }
  ],
  "orderId": string,
  "purchaseToken": string,
  "state": enum (State),
  "createTime": string,
  "lastEventTime": string,
  "buyerAddress": {
    object (BuyerAddress)
  },
  "total": {
    object (Money)
  },
  "tax": {
    object (Money)
  },
  "orderDetails": {
    object (OrderDetails)
  },
  "orderHistory": {
    object (OrderHistory)
  },
  "developerRevenueInBuyerCurrency": {
    object (Money)
  },
  "pointsDetails": {
    object (PointsDetails)
  }
}
Поля
lineItems[]

object ( LineItem )

Отдельные позиции, составляющие этот заказ.

orderId

string

Идентификатор заказа.

purchaseToken

string

Токен, предоставляемый устройству пользователя при покупке подписки или товара.

state

enum ( State )

Состояние заказа.

createTime

string ( Timestamp format)

Время создания заказа.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

lastEventTime

string ( Timestamp format)

Время последнего события, произошедшего в заказе.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

buyerAddress

object ( BuyerAddress )

Адресная информация покупателя для использования при расчёте налога. Если Google является зарегистрированным продавцом заказа, отображается только страна.

total

object ( Money )

Окончательная сумма, уплачиваемая заказчиком, с учетом скидок и налогов.

tax

object ( Money )

Общая сумма налога, уплаченная в рамках настоящего заказа.

orderDetails

object ( OrderDetails )

Подробная информация о заказе на момент его создания.

orderHistory

object ( OrderHistory )

Подробная информация о событиях, изменивших заказ.

developerRevenueInBuyerCurrency

object ( Money )

Ваш доход по этому заказу в валюте покупателя, включая вычеты частичных возвратов, налогов и сборов. Google вычитает стандартные транзакционные сборы и сборы третьих лиц с каждой продажи, включая НДС в некоторых регионах.

pointsDetails

object ( PointsDetails )

Баллы, примененные к заказу, включая информацию о предложении, размере скидки и стоимости баллов.

Состояние

Состояние заказа.

Перечисления
STATE_UNSPECIFIED Состояние не указано. Это значение не используется.
PENDING Заказ создан и ожидает обработки.
PROCESSED Заказ успешно обработан.
CANCELED Заказ был отменен до обработки.
PENDING_REFUND Запрошенный возврат ожидает обработки.
PARTIALLY_REFUNDED Часть суммы заказа была возвращена.
REFUNDED Возврат полной стоимости заказа.

Адрес покупателя

Адресная информация клиента для использования при расчете налога.

JSON-представление
{
  "buyerState": string,
  "buyerCountry": string,
  "buyerPostcode": string
}
Поля
buyerState

string

Административная единица верхнего уровня страны адреса покупателя. Если Google является зарегистрированным продавцом заказа, эта информация не включается.

buyerCountry

string

Двухбуквенный код страны на основе ISO-3166-1 Alpha-2 (коды стран ООН).

buyerPostcode

string

Почтовый индекс адреса. Если Google является зарегистрированным продавцом заказа, эта информация не включается.

Подробности заказа

Подробная информация о заказе на момент его создания.

JSON-представление
{
  "taxInclusive": boolean
}
Поля
taxInclusive

boolean

Указывает, включен ли налог в указанную цену или нет.

LineItem

Подробная информация о позиции.

JSON-представление
{
  "productTitle": string,
  "productId": string,
  "listingPrice": {
    object (Money)
  },
  "total": {
    object (Money)
  },
  "tax": {
    object (Money)
  },

  // Union field details can be only one of the following:
  "oneTimePurchaseDetails": {
    object (OneTimePurchaseDetails)
  },
  "subscriptionDetails": {
    object (SubscriptionDetails)
  },
  "paidAppDetails": {
    object (PaidAppDetails)
  }
  // End of list of possible types for union field details.
}
Поля
productTitle

string

Название продукта, указанное разработчиком. Отображается в соответствии с регионом покупателя. Пример: монеты, ежемесячная подписка и т. д.

productId

string

Идентификатор приобретенного продукта или артикул в приложении (например, «monthly001» или «com.some.thing.inapp1»).

listingPrice

object ( Money )

Цена товара указана в Play Store. Она может включать или не включать налог. Скидки и акции не учитываются.

total

object ( Money )

Общая сумма, уплаченная пользователем за данную позицию, с учетом скидок и налогов.

tax

object ( Money )

Налог, уплаченный по этой позиции.

details полевых работах Союза.

details могут быть только одними из следующих:

oneTimePurchaseDetails

object ( OneTimePurchaseDetails )

Подробности разовой покупки.

subscriptionDetails

object ( SubscriptionDetails )

Подробная информация о покупке подписки.

paidAppDetails

object ( PaidAppDetails )

Подробная информация о покупке платного приложения.

Подробности одноразовой покупки

Подробности разовой покупки.

JSON-представление
{
  "quantity": integer,
  "offerId": string,
  "purchaseOptionId": string,
  "rentalDetails": {
    object (RentalDetails)
  }
}
Поля
quantity

integer

Количество купленных товаров (для покупок нескольких товаров).

offerId

string

Идентификатор предложения для единовременной покупки.

purchaseOptionId

string

Идентификатор варианта покупки. Это поле задаётся как для вариантов покупки, так и для вариантов предложений. Для вариантов покупки этот идентификатор идентифицирует сам вариант покупки. Для вариантов предложений этот идентификатор относится к связанному варианту покупки и вместе с offerId идентифицирует вариант предложения.

rentalDetails

object ( RentalDetails )

Информация о покупке с арендой. Устанавливается только в случае покупки с арендой.

Подробности аренды

Этот тип не имеет полей.

Подробности аренды.

ПодпискаДетали

Подробная информация о покупке подписки.

JSON-представление
{
  "basePlanId": string,
  "offerId": string,
  "offerPhase": enum (OfferPhase),
  "servicePeriodStartTime": string,
  "servicePeriodEndTime": string
}
Поля
basePlanId

string

Идентификатор базового плана подписки.

offerId

string

Идентификатор предложения для текущего предложения подписки.

offerPhase

enum ( OfferPhase )

Фаза ценообразования для расчетного периода, финансируемого данным заказом.

servicePeriodStartTime

string ( Timestamp format)

Начало расчётного периода, финансируемого данным заказом. Это моментальное представление времени начала расчётного/сервисного периода на момент обработки заказа и должно использоваться только в бухгалтерских целях.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

servicePeriodEndTime

string ( Timestamp format)

Окончание расчётного периода, финансируемого данным заказом. Это моментальное представление времени окончания расчётного/сервисного периода на момент обработки заказа, которое следует использовать только для учёта. Чтобы получить текущее время окончания периода обслуживания подписки, используйте метод purchases.subscriptionsv2.get.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

OfferPhase

Фаза ценообразования на период предоставления льгот, финансируемый данным заказом.

Перечисления
OFFER_PHASE_UNSPECIFIED Фаза предложения не указана. Это значение не используется.
BASE Заказ финансирует базовый ценовой период.
INTRODUCTORY Заказ финансирует период ознакомительного ценообразования.
FREE_TRIAL Заказ предусматривает финансирование бесплатного пробного периода.

PaidAppDetails

Этот тип не имеет полей.

Подробная информация о покупке платного приложения.

История заказов

Подробная информация о событиях, изменивших заказ.

JSON-представление
{
  "partialRefundEvents": [
    {
      object (PartialRefundEvent)
    }
  ],
  "processedEvent": {
    object (ProcessedEvent)
  },
  "cancellationEvent": {
    object (CancellationEvent)
  },
  "refundEvent": {
    object (RefundEvent)
  }
}
Поля
partialRefundEvents[]

object ( PartialRefundEvent )

Подробная информация о событиях частичного возврата средств по данному заказу.

processedEvent

object ( ProcessedEvent )

Подробная информация о времени обработки заказа.

cancellationEvent

object ( CancellationEvent )

Подробная информация о том, когда заказ был отменен.

refundEvent

object ( RefundEvent )

Подробная информация о том, когда заказ был полностью возвращен.

ОбработанноеСобытие

Подробная информация о времени обработки заказа.

JSON-представление
{
  "eventTime": string
}
Поля
eventTime

string ( Timestamp format)

Время обработки заказа.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

ОтменаСобытия

Подробная информация о том, когда заказ был отменен.

JSON-представление
{
  "eventTime": string
}
Поля
eventTime

string ( Timestamp format)

Время отмены заказа.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

Возврат средств

Подробная информация о том, когда заказ был полностью возвращен.

JSON-представление
{
  "eventTime": string,
  "refundDetails": {
    object (RefundDetails)
  },
  "refundReason": enum (RefundReason)
}
Поля
eventTime

string ( Timestamp format)

Время, когда заказ был полностью возмещен.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

refundDetails

object ( RefundDetails )

Подробная информация для полного возврата средств.

refundReason

enum ( RefundReason )

Причина, по которой заказ был возвращен.

Подробности возврата

Подробная информация для частичного или полного возврата средств.

JSON-представление
{
  "total": {
    object (Money)
  },
  "tax": {
    object (Money)
  }
}
Поля
total

object ( Money )

Общая сумма возврата, включая налог.

tax

object ( Money )

Сумма возвращенного налога.

Причина возврата

Причина, по которой заказ был возвращен.

Перечисления
REFUND_REASON_UNSPECIFIED Причина возврата заказов не указана. Это значение не используется.
OTHER Заказ был возвращен по причине, отличной от перечисленных здесь.
CHARGEBACK Заказ был возвращен.

PartialRefundEvent

Подробная информация о событиях частичного возврата средств по данному заказу.

JSON-представление
{
  "createTime": string,
  "processTime": string,
  "state": enum (State),
  "refundDetails": {
    object (RefundDetails)
  }
}
Поля
createTime

string ( Timestamp format)

Время создания частичного возврата.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

processTime

string ( Timestamp format)

Время обработки частичного возврата.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

state

enum ( State )

Состояние частичного возврата.

refundDetails

object ( RefundDetails )

Подробная информация о частичном возврате средств.

Состояние

Состояние частичного возврата.

Перечисления
STATE_UNSPECIFIED Состояние не указано. Это значение не используется.
PENDING Частичный возврат средств создан, но еще не обработан.
PROCESSED_SUCCESSFULLY Частичный возврат был успешно обработан.

ОчкиПодробности

Подробная информация о баллах Play Points, примененных к заказу.

JSON-представление
{
  "pointsOfferId": string,
  "pointsCouponValue": {
    object (Money)
  },
  "pointsDiscountRateMicros": string,
  "pointsSpent": string
}
Поля
pointsOfferId

string

Уникальный идентификатор предложения игровых баллов, используемого для этого заказа.

pointsCouponValue

object ( Money )

Денежная стоимость купона Play Points. Это скидка, предоставляемая купоном, которая может не совпадать с общей суммой. Устанавливается только при использовании купонов Play Points. Например, для купона на 100 баллов за 2 доллара это будет 2 доллара.

pointsDiscountRateMicros

string ( int64 format)

Процент, на который акция Play Points снижает стоимость. Например, для купона на 100 баллов за 2 доллара это 500 000. Поскольку 2 доллара оцениваются в 200 баллов, но фактически требуемые 100 баллов составляют 50% от этого значения, а 50% в микро-единицах составляет 500 000. Диапазон значений: от 0 до 1 000 000.

pointsSpent

string ( int64 format)

Количество баллов Play Points, использованных в этом заказе. Например, для купона на 100 баллов за 2 доллара это будет 100. Для купона, суммированного с базовым предложением, это будет общая сумма баллов, потраченных в обоих случаях.

Методы

batchget

Получить сведения о заказе для получения списка заказов.

get

Получите подробную информацию о заказе для одного заказа.

refund

Возврат средств за подписку или покупку в приложении пользователя.