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.
}
Поля
packageName

string

Только вывод. Имя ресурса внешней транзакции. Имя пакета приложения, в котором были проданы продукты inapp (например, '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/ ), должны предоставлять код программы при отчёте об альтернативных платежных транзакциях. Если вы являетесь соответствующим разработчиком, обратитесь к своему менеджеру по бизнес-моделям (BDM) за дополнительной информацией о настройке этого поля. Примечание: это поле не может использоваться для транзакций внешних предложений.

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

object ( OneTimeExternalTransaction )

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

recurringTransaction

object ( RecurringExternalTransaction )

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

Тестовая покупка внешней транзакции

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

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

OneTimeExternalTransaction

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

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

string

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

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

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

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

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

Методы

createexternaltransaction

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

getexternaltransaction

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

refundexternaltransaction

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

Коды ошибок

Операции этого ресурса возвращают следующие коды ошибок HTTP:

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

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

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

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

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