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,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "oneTimeTransaction": {
    object (OneTimeExternalTransaction)
  },
  "recurringTransaction": {
    object (RecurringExternalTransaction)
  }
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "externalOfferDetails": {
    object (ExternalOfferDetails)
  },
  "externalContentLinkDetails": {
    object (ExternalContentLinkDetails)
  }
  // End of mutually exclusive fields.
}
Поля
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/ ), должны указывать код программы при отчетности по альтернативным платежным транзакциям. Если вы являетесь подходящим разработчиком, обратитесь к своему менеджеру по развитию бизнеса за дополнительной информацией о том, как настроить это поле. Примечание: это поле нельзя использовать для транзакций внешних предложений.

Тип выполненной транзакции. Ниже приведён список взаимоисключающих полей. В ответе будет установлено не более одного из полей:
oneTimeTransaction

object ( OneTimeExternalTransaction )

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

recurringTransaction

object ( RecurringExternalTransaction )

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

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

object ( ExternalOfferDetails )

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

Конец взаимоисключающих областей.

ExternalTransactionTestPurchase

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

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

OneTimeExternalTransaction

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

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

string

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

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

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

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

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "initialExternalTransactionId": string,
  "externalTransactionToken": string,
  "migratedTransactionProgram": enum (ExternalTransactionProgram)
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "externalSubscription": {
    object (ExternalSubscription)
  },
  "otherRecurringProduct": {
    object (OtherRecurringProduct)
  }
  // End of mutually exclusive fields.
}
Поля
Ниже приведён список взаимоисключающих полей. В ответе будет установлено не более одного из этих полей:
initialExternalTransactionId

string

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

externalTransactionToken

string

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

migratedTransactionProgram

enum ( ExternalTransactionProgram )

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

Конец взаимоисключающих областей.
Обязательно. Подробная информация о продукте в повторяющейся внешней транзакции. Ниже приведен список взаимоисключающих полей. В ответе будет установлено не более одного из полей:
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 Приложение относится к категории игр.

ExternalContentLinkDetails

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

JSON-представление
{
  "linkType": enum (ExternalContentLinkType),
  "installedAppPackage": string,
  "externalAppCategory": enum (ExternalContentAppCategory)
}
Поля
installedAppPackage

string

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

externalAppCategory

enum ( ExternalContentAppCategory )

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

ExternalContentLinkType

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

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

ExternalContentAppCategory

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

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

Методы

createexternaltransaction

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

getexternaltransaction

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

refundexternaltransaction

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

коды ошибок

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

Код ошибки Причина Описание Разрешение