UNPKG

@jeremybarbet/google-api-types

Version:

Typescript definitions for Google API services.

98 lines (97 loc) 4.74 kB
/** * @link https://developer.android.com/google/play/billing/rtdn-reference */ import { type OneTimeProductNotificationType, type SubscriptionNotificationType } from './rtdn.enum'; interface OneTimeProductNotification { /** * The version of this notification. Initially, this will be "1.0". This version is distinct from other version fields. */ version: string; /** * The type of notification. It can have the following values: * (1) ONE_TIME_PRODUCT_PURCHASED - A one-time product was successfully purchased by a user. * (2) ONE_TIME_PRODUCT_CANCELED - A pending one-time product purchase has been canceled by the user. */ notificationType: OneTimeProductNotificationType; /** * The token provided to the user’s device when purchase was made. */ purchaseToken: string; /** * The purchased one-time product ID (for example, "sword_001") */ sku: string; } interface SubscriptionNotification { /** * The version of this notification. Initially, this is "1.0". This version is distinct from other version fields. */ version: string; /** * The notificationType for a subscription can have the following values: * (1) SUBSCRIPTION_RECOVERED - A subscription was recovered from account hold. * (2) SUBSCRIPTION_RENEWED - An active subscription was renewed. * (3) SUBSCRIPTION_CANCELED - A subscription was either voluntarily or involuntarily cancelled. For voluntary cancellation, sent when the user cancels. * (4) SUBSCRIPTION_PURCHASED - A new subscription was purchased. * (5) SUBSCRIPTION_ON_HOLD - A subscription has entered account hold (if enabled). * (6) SUBSCRIPTION_IN_GRACE_PERIOD - A subscription has entered grace period (if enabled). * (7) SUBSCRIPTION_RESTARTED - User has restored their subscription from Play > Account > Subscriptions. The subscription was canceled but had not expired yet when the user restores. For more information, see [Restorations](/google/play/billing/subscriptions#restore). * (8) SUBSCRIPTION_PRICE_CHANGE_CONFIRMED - A subscription price change has successfully been confirmed by the user. * (9) SUBSCRIPTION_DEFERRED - A subscription's recurrence time has been extended. * (10) SUBSCRIPTION_PAUSED - A subscription has been paused. * (11) SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED - A subscription pause schedule has been changed. * (12) SUBSCRIPTION_REVOKED - A subscription has been revoked from the user before the expiration time. * (13) SUBSCRIPTION_EXPIRED - A subscription has expired. */ notificationType: SubscriptionNotificationType; /** * The token provided to the user's device when the subscription was purchased. */ purchaseToken: string; /** * The purchased subscription's product ID (for example, "monthly001"). */ subscriptionId: string; } interface TestNotification { /** * The version of this notification. Initially, this is "1.0". This version is distinct from other version fields. */ version: string; } export interface DecodedData { /** * The version of this notification. Initially, this is "1.0". This version is distinct from other version fields. */ version: string; /** * The package name of the application that this notification relates to (for example, `com.some.thing`). */ packageName: string; /** * The timestamp when the event occurred, in milliseconds since the Epoch. */ eventTimeMillis: number; /** * If this field is present, then this notification is related to a one-time purchase, and this field contains additional information related to the purchase. Note that this field is mutually exclusive with testNotification and subscriptionProductNotification. */ oneTimeProductNotification?: OneTimeProductNotification; /** * If this field is present, then this notification is related to a subscription, and this field contains additional information related to the subscription. Note that this field is mutually exclusive with testNotification and oneTimeProductNotification. */ subscriptionNotification?: SubscriptionNotification; /** * If this field is present, then this notification is related to a test publish. These are sent only through the Google Play Developer Console. Note that this field is mutually exclusive with subscriptionNotification and oneTimeProductNotification. */ testNotification?: TestNotification; } interface Message { attributes: Record<string, any>; data: string; messageId: string; } export interface BodyPayload { message: Message; subscription: string; } export {};