- Ресурс: Заказ
- Состояние
- Адрес покупателя
- Подробности заказа
- LineItem
- Подробности одноразовой покупки
- Подробности аренды
- ПодпискаДетали
- OfferPhase
- PaidAppDetails
- История заказов
- ОбработанноеСобытие
- ОтменаСобытия
- Возврат средств
- Подробности возврата
- Причина возврата
- PartialRefundEvent
- Состояние
- ОчкиПодробности
- Методы
Ресурс: Заказ
Ресурс «Заказ» содержит полную информацию о транзакции, совершённой в 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 ( |
Поля | |
---|---|
lineItems[] | Отдельные позиции, составляющие этот заказ. |
orderId | Идентификатор заказа. |
purchaseToken | Токен, предоставляемый устройству пользователя при покупке подписки или товара. |
state | Состояние заказа. |
createTime | Время создания заказа. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
lastEventTime | Время последнего события, произошедшего в заказе. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
buyerAddress | Адресная информация покупателя для использования при расчёте налога. Если Google является зарегистрированным продавцом заказа, отображается только страна. |
total | Окончательная сумма, уплачиваемая заказчиком, с учетом скидок и налогов. |
tax | Общая сумма налога, уплаченная в рамках настоящего заказа. |
orderDetails | Подробная информация о заказе на момент его создания. |
orderHistory | Подробная информация о событиях, изменивших заказ. |
developerRevenueInBuyerCurrency | Ваш доход по этому заказу в валюте покупателя, включая вычеты частичных возвратов, налогов и сборов. Google вычитает стандартные транзакционные сборы и сборы третьих лиц с каждой продажи, включая НДС в некоторых регионах. |
pointsDetails | Баллы, примененные к заказу, включая информацию о предложении, размере скидки и стоимости баллов. |
Состояние
Состояние заказа.
Перечисления | |
---|---|
STATE_UNSPECIFIED | Состояние не указано. Это значение не используется. |
PENDING | Заказ создан и ожидает обработки. |
PROCESSED | Заказ успешно обработан. |
CANCELED | Заказ был отменен до обработки. |
PENDING_REFUND | Запрошенный возврат ожидает обработки. |
PARTIALLY_REFUNDED | Часть суммы заказа была возвращена. |
REFUNDED | Возврат полной стоимости заказа. |
Адрес покупателя
Адресная информация клиента для использования при расчете налога.
JSON-представление |
---|
{ "buyerState": string, "buyerCountry": string, "buyerPostcode": string } |
Поля | |
---|---|
buyerState | Административная единица верхнего уровня страны адреса покупателя. Если Google является зарегистрированным продавцом заказа, эта информация не включается. |
buyerCountry | Двухбуквенный код страны на основе ISO-3166-1 Alpha-2 (коды стран ООН). |
buyerPostcode | Почтовый индекс адреса. Если Google является зарегистрированным продавцом заказа, эта информация не включается. |
Подробности заказа
Подробная информация о заказе на момент его создания.
JSON-представление |
---|
{ "taxInclusive": boolean } |
Поля | |
---|---|
taxInclusive | Указывает, включен ли налог в указанную цену или нет. |
LineItem
Подробная информация о позиции.
JSON-представление |
---|
{ "productTitle": string, "productId": string, "listingPrice": { object ( |
Поля | |
---|---|
productTitle | Название продукта, указанное разработчиком. Отображается в соответствии с регионом покупателя. Пример: монеты, ежемесячная подписка и т. д. |
productId | Идентификатор приобретенного продукта или артикул в приложении (например, «monthly001» или «com.some.thing.inapp1»). |
listingPrice | Цена товара указана в Play Store. Она может включать или не включать налог. Скидки и акции не учитываются. |
total | Общая сумма, уплаченная пользователем за данную позицию, с учетом скидок и налогов. |
tax | Налог, уплаченный по этой позиции. |
| |
oneTimePurchaseDetails | Подробности разовой покупки. |
subscriptionDetails | Подробная информация о покупке подписки. |
paidAppDetails | Подробная информация о покупке платного приложения. |
Подробности одноразовой покупки
Подробности разовой покупки.
JSON-представление |
---|
{
"quantity": integer,
"offerId": string,
"purchaseOptionId": string,
"rentalDetails": {
object ( |
Поля | |
---|---|
quantity | Количество купленных товаров (для покупок нескольких товаров). |
offerId | Идентификатор предложения для единовременной покупки. |
purchaseOptionId | Идентификатор варианта покупки. Это поле задаётся как для вариантов покупки, так и для вариантов предложений. Для вариантов покупки этот идентификатор идентифицирует сам вариант покупки. Для вариантов предложений этот идентификатор относится к связанному варианту покупки и вместе с offerId идентифицирует вариант предложения. |
rentalDetails | Информация о покупке с арендой. Устанавливается только в случае покупки с арендой. |
Подробности аренды
Этот тип не имеет полей.
Подробности аренды.
ПодпискаДетали
Подробная информация о покупке подписки.
JSON-представление |
---|
{
"basePlanId": string,
"offerId": string,
"offerPhase": enum ( |
Поля | |
---|---|
basePlanId | Идентификатор базового плана подписки. |
offerId | Идентификатор предложения для текущего предложения подписки. |
offerPhase | Фаза ценообразования для расчетного периода, финансируемого данным заказом. |
servicePeriodStartTime | Начало расчётного периода, финансируемого данным заказом. Это моментальное представление времени начала расчётного/сервисного периода на момент обработки заказа и должно использоваться только в бухгалтерских целях. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
servicePeriodEndTime | Окончание расчётного периода, финансируемого данным заказом. Это моментальное представление времени окончания расчётного/сервисного периода на момент обработки заказа, которое следует использовать только для учёта. Чтобы получить текущее время окончания периода обслуживания подписки, используйте метод purchases.subscriptionsv2.get. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
OfferPhase
Фаза ценообразования на период предоставления льгот, финансируемый данным заказом.
Перечисления | |
---|---|
OFFER_PHASE_UNSPECIFIED | Фаза предложения не указана. Это значение не используется. |
BASE | Заказ финансирует базовый ценовой период. |
INTRODUCTORY | Заказ финансирует период ознакомительного ценообразования. |
FREE_TRIAL | Заказ предусматривает финансирование бесплатного пробного периода. |
PaidAppDetails
Этот тип не имеет полей.
Подробная информация о покупке платного приложения.
История заказов
Подробная информация о событиях, изменивших заказ.
JSON-представление |
---|
{ "partialRefundEvents": [ { object ( |
Поля | |
---|---|
partialRefundEvents[] | Подробная информация о событиях частичного возврата средств по данному заказу. |
processedEvent | Подробная информация о времени обработки заказа. |
cancellationEvent | Подробная информация о том, когда заказ был отменен. |
refundEvent | Подробная информация о том, когда заказ был полностью возвращен. |
ОбработанноеСобытие
Подробная информация о времени обработки заказа.
JSON-представление |
---|
{ "eventTime": string } |
Поля | |
---|---|
eventTime | Время обработки заказа. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
ОтменаСобытия
Подробная информация о том, когда заказ был отменен.
JSON-представление |
---|
{ "eventTime": string } |
Поля | |
---|---|
eventTime | Время отмены заказа. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
Возврат средств
Подробная информация о том, когда заказ был полностью возвращен.
JSON-представление |
---|
{ "eventTime": string, "refundDetails": { object ( |
Поля | |
---|---|
eventTime | Время, когда заказ был полностью возмещен. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
refundDetails | Подробная информация для полного возврата средств. |
refundReason | Причина, по которой заказ был возвращен. |
Подробности возврата
Подробная информация для частичного или полного возврата средств.
JSON-представление |
---|
{ "total": { object ( |
Поля | |
---|---|
total | Общая сумма возврата, включая налог. |
tax | Сумма возвращенного налога. |
Причина возврата
Причина, по которой заказ был возвращен.
Перечисления | |
---|---|
REFUND_REASON_UNSPECIFIED | Причина возврата заказов не указана. Это значение не используется. |
OTHER | Заказ был возвращен по причине, отличной от перечисленных здесь. |
CHARGEBACK | Заказ был возвращен. |
PartialRefundEvent
Подробная информация о событиях частичного возврата средств по данному заказу.
JSON-представление |
---|
{ "createTime": string, "processTime": string, "state": enum ( |
Поля | |
---|---|
createTime | Время создания частичного возврата. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
processTime | Время обработки частичного возврата. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и будет содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
state | Состояние частичного возврата. |
refundDetails | Подробная информация о частичном возврате средств. |
Состояние
Состояние частичного возврата.
Перечисления | |
---|---|
STATE_UNSPECIFIED | Состояние не указано. Это значение не используется. |
PENDING | Частичный возврат средств создан, но еще не обработан. |
PROCESSED_SUCCESSFULLY | Частичный возврат был успешно обработан. |
ОчкиПодробности
Подробная информация о баллах Play Points, примененных к заказу.
JSON-представление |
---|
{
"pointsOfferId": string,
"pointsCouponValue": {
object ( |
Поля | |
---|---|
pointsOfferId | Уникальный идентификатор предложения игровых баллов, используемого для этого заказа. |
pointsCouponValue | Денежная стоимость купона Play Points. Это скидка, предоставляемая купоном, которая может не совпадать с общей суммой. Устанавливается только при использовании купонов Play Points. Например, для купона на 100 баллов за 2 доллара это будет 2 доллара. |
pointsDiscountRateMicros | Процент, на который акция Play Points снижает стоимость. Например, для купона на 100 баллов за 2 доллара это 500 000. Поскольку 2 доллара оцениваются в 200 баллов, но фактически требуемые 100 баллов составляют 50% от этого значения, а 50% в микро-единицах составляет 500 000. Диапазон значений: от 0 до 1 000 000. |
pointsSpent | Количество баллов Play Points, использованных в этом заказе. Например, для купона на 100 баллов за 2 доллара это будет 100. Для купона, суммированного с базовым предложением, это будет общая сумма баллов, потраченных в обоих случаях. |
Методы | |
---|---|
| Получить сведения о заказе для получения списка заказов. |
| Получите подробную информацию о заказе для одного заказа. |
| Возврат средств за подписку или покупку в приложении пользователя. |