class Google::Apis::PaymentsresellersubscriptionV1::GoogleCloudPaymentsResellerSubscriptionV1Subscription

A Subscription resource managed by 3P Partners.

Attributes

cancellation_details[RW]

Describes the details of a cancelled or cancelling subscription. Corresponds to the JSON property `cancellationDetails` @return [Google::Apis::PaymentsresellersubscriptionV1::GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails]

create_time[RW]

Output only. System generated timestamp when the subscription is created. UTC timezone. Corresponds to the JSON property `createTime` @return [String]

cycle_end_time[RW]

Output only. The time at which the subscription is expected to be extended, in ISO 8061 format. UTC timezone. For example: “2019-08-31T17:28:54.564Z” Corresponds to the JSON property `cycleEndTime` @return [String]

end_user_entitled[RW]

Output only. Indicates if the subscription is entitled to the end user. Corresponds to the JSON property `endUserEntitled` @return [Boolean]

end_user_entitled?[RW]

Output only. Indicates if the subscription is entitled to the end user. Corresponds to the JSON property `endUserEntitled` @return [Boolean]

free_trial_end_time[RW]

Output only. End of the free trial period, in ISO 8061 format. For example, “ 2019-08-31T17:28:54.564Z”. It will be set the same as createTime if no free trial promotion is specified. Corresponds to the JSON property `freeTrialEndTime` @return [String]

name[RW]

Output only. Response only. Resource name of the subscription. It will have the format of “partners/`partner_id`/subscriptions/`subscription_id`” Corresponds to the JSON property `name` @return [String]

partner_user_token[RW]

Required. Identifier of the end-user in partner’s system. The value is restricted to 63 ASCII characters at the maximum. Corresponds to the JSON property `partnerUserToken` @return [String]

processing_state[RW]

Output only. Describes the processing state of the subscription. See more details at [the lifecycle of a subscription](/payments/reseller/subscription/ reference/index/Receive.Notifications#payments-subscription-lifecycle). Corresponds to the JSON property `processingState` @return [String]

products[RW]

Required. Resource name that identifies one or more subscription products. The format will be 'partners/`partner_id`/products/`product_id`'. Corresponds to the JSON property `products` @return [Array<String>]

promotions[RW]

Optional. Resource name that identifies one or more promotions that can be applied on the product. A typical promotion for a subscription is Free trial. The format will be 'partners/`partner_id`/promotions/`promotion_id`'. Corresponds to the JSON property `promotions` @return [Array<String>]

redirect_uri[RW]

Output only. The place where partners should redirect the end-user to after creation. This field might also be populated when creation failed. However, Partners should always prepare a default URL to redirect the user in case this field is empty. Corresponds to the JSON property `redirectUri` @return [String]

service_location[RW]

Describes a location of an end user. Corresponds to the JSON property `serviceLocation` @return [Google::Apis::PaymentsresellersubscriptionV1::GoogleCloudPaymentsResellerSubscriptionV1Location]

state[RW]

Output only. Describes the state of the subscription. See more details at [the lifecycle of a subscription](/payments/reseller/subscription/reference/index/ Receive.Notifications#payments-subscription-lifecycle). Corresponds to the JSON property `state` @return [String]

update_time[RW]

Output only. System generated timestamp when the subscription is most recently updated. UTC timezone. Corresponds to the JSON property `updateTime` @return [String]

upgrade_downgrade_details[RW]

Details about the previous subscription that this new subscription upgrades/ downgrades from. Corresponds to the JSON property `upgradeDowngradeDetails` @return [Google::Apis::PaymentsresellersubscriptionV1::GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/paymentsresellersubscription_v1/classes.rb, line 489
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/paymentsresellersubscription_v1/classes.rb, line 494
def update!(**args)
  @cancellation_details = args[:cancellation_details] if args.key?(:cancellation_details)
  @create_time = args[:create_time] if args.key?(:create_time)
  @cycle_end_time = args[:cycle_end_time] if args.key?(:cycle_end_time)
  @end_user_entitled = args[:end_user_entitled] if args.key?(:end_user_entitled)
  @free_trial_end_time = args[:free_trial_end_time] if args.key?(:free_trial_end_time)
  @name = args[:name] if args.key?(:name)
  @partner_user_token = args[:partner_user_token] if args.key?(:partner_user_token)
  @processing_state = args[:processing_state] if args.key?(:processing_state)
  @products = args[:products] if args.key?(:products)
  @promotions = args[:promotions] if args.key?(:promotions)
  @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
  @service_location = args[:service_location] if args.key?(:service_location)
  @state = args[:state] if args.key?(:state)
  @update_time = args[:update_time] if args.key?(:update_time)
  @upgrade_downgrade_details = args[:upgrade_downgrade_details] if args.key?(:upgrade_downgrade_details)
end