REST Resource: externaltransactions

Ресурс: Внешняя транзакция

Подробности внешней транзакции.

JSON-представление
{
  "packageName": string,
  "externalTransactionId": string,
  "originalPreTaxAmount": {
    object (Price)
  },
  "originalTaxAmount": {
    object (Price)
  },
  "currentPreTaxAmount": {
    object (Price)
  },
  "currentTaxAmount": {
    object (Price)
  },
  "testPurchase": {
    object (ExternalTransactionTestPurchase)
  },
  "transactionTime": string,
  "createTime": string,
  "transactionState": enum (TransactionState),
  "userTaxAddress": {
    object (ExternalTransactionAddress)
  },
  "transactionProgramCode": integer,

  // Union field transaction_type can be only one of the following:
  "oneTimeTransaction": {
    object (OneTimeExternalTransaction)
  },
  "recurringTransaction": {
    object (RecurringExternalTransaction)
  }
  // End of list of possible types for union field transaction_type.

  // Union field program_details can be only one of the following:
  "externalOfferDetails": {
    object (ExternalOfferDetails)
  }
  // End of list of possible types for union field program_details.
}
Поля
packageName

string

Только вывод. Имя ресурса внешней транзакции. Имя пакета приложения, в котором продавались внутриигровые продукты (например, 'com.some.app').

externalTransactionId

string

Только для вывода. Идентификатор этой транзакции. Все идентификаторы транзакций в рамках одного имени пакета должны быть уникальными. Задается при создании внешней транзакции.

originalPreTaxAmount

object ( Price )

Обязательно. Первоначальная сумма транзакции до уплаты налогов. Это сумма до уплаты налогов, первоначально сообщенная Google до применения каких-либо возвратов.

originalTaxAmount

object ( Price )

Обязательно. Первоначальная сумма налога. Это сумма налога, первоначально сообщенная Google до осуществления каких-либо возвратов.

currentPreTaxAmount

object ( Price )

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

currentTaxAmount

object ( Price )

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

testPurchase

object ( ExternalTransactionTestPurchase )

Только для вывода. Если установлено, эта транзакция была тестовой покупкой. Google не будет взимать плату за тестовую транзакцию.

transactionTime

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" .

createTime

string ( Timestamp format)

Только вывод. Время создания этой транзакции. Время, когда Google получил уведомление о транзакции.

Используется 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" .

transactionState

enum ( TransactionState )

Только вывод. Текущее состояние транзакции.

userTaxAddress

object ( ExternalTransactionAddress )

Обязательно. Адрес пользователя для расчета налога.

transactionProgramCode

integer

Необязательно. Код программы транзакций, используемый для определения платы за услуги для приложений, участвующих в партнерских программах. Разработчики, участвующие в программе Play Media Experience ( https://play.google.com/console/about/programs/mediaprogram/ ), должны указывать код программы при отчетности по альтернативным платежным транзакциям. Если вы являетесь подходящим разработчиком, обратитесь к своему менеджеру по развитию бизнеса за дополнительной информацией о том, как настроить это поле. Примечание: это поле нельзя использовать для транзакций внешних предложений.

Поле объединения transaction_type . Тип выполненной транзакции. transaction_type может принимать только одно из следующих значений:
oneTimeTransaction

object ( OneTimeExternalTransaction )

Это разовая транзакция, не являющаяся частью подписки.

recurringTransaction

object ( RecurringExternalTransaction )

Данная транзакция является частью повторяющейся серии транзакций.

Поле объединения program_details . Специфические для программы сведения, необходимые для формирования отчетов по транзакциям. Эти сведения следует задавать только для той программы, с которой связана транзакция. program_details может принимать только одно из следующих значений:
externalOfferDetails

object ( ExternalOfferDetails )

Необязательно. Информация, необходимая для корректного отражения сделок с внешними поставщиками.

ExternalTransactionTestPurchase

Этот тип не содержит полей.

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

OneTimeExternalTransaction

Представляет собой разовую транзакцию.

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

string

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

Повторяющаяся внешняя транзакция

Представляет собой транзакцию, являющуюся частью повторяющейся серии платежей. Это может быть подписка или разовый продукт с несколькими платежами (например, предварительный заказ).

JSON-представление
{

  // Union field source can be only one of the following:
  "initialExternalTransactionId": string,
  "externalTransactionToken": string,
  "migratedTransactionProgram": enum (ExternalTransactionProgram)
  // End of list of possible types for union field source.

  // Union field product_details can be only one of the following:
  "externalSubscription": {
    object (ExternalSubscription)
  },
  "otherRecurringProduct": {
    object (OtherRecurringProduct)
  }
  // End of list of possible types for union field product_details.
}
Поля

source информации о месторождении Юнион.

source может быть только один из следующих вариантов:

initialExternalTransactionId

string

Идентификатор внешней транзакции первой транзакции в этой повторяющейся серии транзакций. Например, для подписки это будет идентификатор транзакции первого платежа. Обязательно при создании повторяющихся внешних транзакций.

externalTransactionToken

string

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

migratedTransactionProgram

enum ( ExternalTransactionProgram )

Только для ввода. Предоставляется во время звонка для создания. Должен использоваться только при миграции подписки с ручной ежемесячной отчетности на автоматизированную.

Поле объединения product_details . Обязательное поле. Подробная информация о продукте в повторяющейся внешней транзакции. product_details может принимать только одно из следующих значений:
externalSubscription

object ( ExternalSubscription )

Подробности внешней подписки.

otherRecurringProduct

object ( OtherRecurringProduct )

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

Внешняя транзакционная программа

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

Перечисления
EXTERNAL_TRANSACTION_PROGRAM_UNSPECIFIED Программа транзакций не указана. Не используется.
USER_CHOICE_BILLING Система оплаты по выбору пользователя, где пользователь может выбрать между оплатой через Google Play Billing и оплатой, управляемой разработчиком.
ALTERNATIVE_BILLING_ONLY Альтернативный способ оплаты, при котором пользователи могут использовать только оплату через систему «разработчик-менеджер».

Внешняя подписка

Подробности внешней подписки.

JSON-представление
{
  "subscriptionType": enum (SubscriptionType)
}
Поля
subscriptionType

enum ( SubscriptionType )

Обязательно. Тип внешней подписки.

Тип подписки

Типы внешних подписок.

Перечисления
SUBSCRIPTION_TYPE_UNSPECIFIED Не указано, не использовать.
RECURRING Это подписка с автоматическим продлением, при которой с пользователя взимается плата каждый расчетный период.
PREPAID Это предоплаченная подписка, при которой пользователь оплачивает её авансом.

Другие повторяющиеся товары

Этот тип не содержит полей.

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

Состояние транзакции

Состояние совершаемой транзакции.

Перечисления
TRANSACTION_STATE_UNSPECIFIED Состояние транзакции не указано. Не используется.
TRANSACTION_REPORTED Информация о сделке успешно передана в Google.
TRANSACTION_CANCELED Сумма транзакции полностью возмещена.

Внешний адрес транзакции

Адрес пользователя для внешней транзакции.

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

string

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

administrativeArea

string

Необязательно. Административное подразделение высшего уровня страны/региона. Требуется только для транзакций в Индии. Допустимые значения: «АНДАМАНСКИЕ И НИКОБАРСКИЕ ОСТРОВА», «АНДРА-ПРАДЕШ», «АРУНАЧАЛ-ПРАДЕШ», «АССАМ», «БИХАР», «ЧАНДИГАРХ», «ЧХАТТИСГАРХ», «ДАДРА И НАГАР ХАВЕЛИ», «ДАДРА И НАГАР ХАВЕЛИ И ДАМАН И ДИУ», «ДАМАН И ДИУ», «ДЕЛИ», «ГОА», «ГУДЖАРАТ», «ХАРЬЯНА», «ХИМАЧАЛ-ПРАДЕШ», «ДЖАММУ И КАШМИР», «ДЖАРКХАНД», «КАРНАТАКА», «КЕРАЛА», «ЛАДАХ», «ЛАКШАДВИП», «МАДХЬЯ-ПРАДЕШ», «МАХАРАШТРА», «МАНИПУР», «МЕГАЛАЙЯ», «МИЗОРАМ», «НАГАЛАНД», «ОДИША», «ПУДУЧЕРРИ», «ПЕНДЖАБ», «РАДЖАСТАН», «СИККИМ», «ТАМИЛ НАДУ», «ТЕЛАНГАНА», «ТРИПУРА», «УТТАР-ПРАДЕШ», «УТТАРАХАНД» и «ЗАПАДНАЯ БЕНГАЛИЯ».

ExternalOfferDetails

Подробная информация об отчетности, специфичная для программы внешних предложений.

JSON-представление
{
  "linkType": enum (ExternalOfferLinkType),
  "installedAppPackage": string,
  "installedAppCategory": enum (ExternalOfferAppCategory),
  "appDownloadEventExternalTransactionId": string
}
Поля
installedAppPackage

string

Необязательно. Имя пакета приложения, загружаемого в рамках этой транзакции. Обязательно, если linkType имеет значение LINK_TO_APP_DOWNLOAD.

installedAppCategory

enum ( ExternalOfferAppCategory )

Необязательно. Категория загружаемого приложения в рамках этой транзакции. Она должна совпадать с категорией, указанной в Play Console во время процесса внешней проверки приложения. Требуется только для загрузки приложений.

appDownloadEventExternalTransactionId

string

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

ExternalOfferLinkType

Тип внешней ссылки.

Перечисления

Внешнее предложениеПриложениеКатегория

Категория загруженного приложения. Дополнительную информацию о категориях приложений см. на странице https://support.google.com/googleplay/android-developer/answer/9859673 .

Перечисления
EXTERNAL_OFFER_APP_CATEGORY_UNSPECIFIED Не указано, не использовать.
APP Приложение относится к категории приложений.
GAME Приложение относится к категории игр.

Методы

createexternaltransaction

Создает новую внешнюю транзакцию.

getexternaltransaction

Получает информацию о существующей внешней транзакции.

refundexternaltransaction

Возврат или частичный возврат средств по существующей внешней транзакции.

коды ошибок

При работе с этим ресурсом возвращаются следующие коды ошибок HTTP:

Код ошибки Причина Разрешение
5xx Общая ошибка на сервере Google Play. Повторите запрос.

Если проблема не исчезнет, ​​обратитесь к своему менеджеру аккаунта Google Play или отправьте запрос в службу поддержки. Рекомендуем проверить панель состояния Play на наличие известных сбоев.

409 Ошибка обновления параллельного доступа.

Была предпринята попытка обновить объект, который и так обновляется. Например, подтверждение покупки осуществляется путем одновременного вызова метода acknowledgePurchase() библиотеки Play Billing и метода purchases.products.acknowledge API разработчиков Play.

Повторите запрос.