BillingFlowParams.ProductDetailsParams.SubscriptionProductReplacementParams.ReplacementMode

@Retention(value = java.lang.annotation.RetentionPolicy.SOURCE)
public annotation BillingFlowParams.ProductDetailsParams.SubscriptionProductReplacementParams.ReplacementMode


Supported replacement modes to replace an existing product with a new one.

Summary

Constants

static final int

Replacement takes effect immediately, and the user is charged full price of new plan and is given a full billing cycle of subscription, plus remaining prorated time from the old plan.

static final int

The new plan takes effect immediately, and the billing cycle remains the same.

static final int

The new purchase takes effect immediately, the new plan will take effect when the old item expires.

static final int

Indicates that this plan should remain unchanged in the new purchase.

static final int
static final int

The new plan takes effect immediately, and the new price will be charged on next recurrence time.

static final int

The new plan takes effect immediately, and the remaining time will be prorated and credited to the user.

Constants

CHARGE_FULL_PRICE

public static final int CHARGE_FULL_PRICE = 4

Replacement takes effect immediately, and the user is charged full price of new plan and is given a full billing cycle of subscription, plus remaining prorated time from the old plan. The remaining value from the previous subscription is either carried over for the same entitlement, or prorated for time when switching to a different entitlement.

CHARGE_PRORATED_PRICE

public static final int CHARGE_PRORATED_PRICE = 2

The new plan takes effect immediately, and the billing cycle remains the same. The price for the remaining period will be charged. This option is only available for subscription upgrade.

DEFERRED

public static final int DEFERRED = 5

The new purchase takes effect immediately, the new plan will take effect when the old item expires.

KEEP_EXISTING

public static final int KEEP_EXISTING = 6

Indicates that this plan should remain unchanged in the new purchase. User's existing payment plan will be carried over from the old purchase to the new purchase. Any remainder introductory and free trial period from the old purchase will be applied to the new purchase. When using this mode, the offer token in ProductDetailsParams should not be set.

UNKNOWN_REPLACEMENT_MODE

public static final int UNKNOWN_REPLACEMENT_MODE = 0

WITHOUT_PRORATION

public static final int WITHOUT_PRORATION = 3

The new plan takes effect immediately, and the new price will be charged on next recurrence time. The billing cycle stays the same.

WITH_TIME_PRORATION

public static final int WITH_TIME_PRORATION = 1

The new plan takes effect immediately, and the remaining time will be prorated and credited to the user.

Note: This is the default behavior for base item replacement.