# MTRecurringCharge

This is a priceable item of kind RecurringCharge. It inherits all properties and methods from the priceable item (MTPriceableItem). A recurring charge is a charge that occurs on a periodically, such as a monthly subscription charge for a product offering.

To view an object model diagram that includes MTRecurringCharge, click here.

## Program ID

Metratech.MTRecurringCharge.1

## Methods

None.

## Properties

Cycle | The cycle to which the recurring charge applies.
ChargeInAdvance | If this boolean property returns true, the charge will be at the beginning of the cycle. Otherwise, the charge will be in arrears (at the end of the cycle).
ProrateOnActivation | If this boolean property returns true, the initial recurring charge will be prorated when a subscriber signs up for the product offering.
ProrateOnDeactivation | If this boolean property returns true, the last recurring charge will be prorated when a subscriber cancels the subscription.
ProrateOnRateChange | If this boolean property is true, proration will be used when the rate changes (not used currently).
FixedProrationLength | If this boolean property returns true, a fixed length will be used for proration. If false, the actual length of the cycle will be used. Note: The values for the fixed length is specified per cycle type in t_usage_cycle_type_length.

# Property Detail

## Cycle

This property sets the cycle to which the recurring charge applies.

### Visual Basic Syntax

Property Cycle As MTPCCycle

### C++ Syntax

HRESULT Cycle([out, retval] IMTPCCycle* *pVal);

## ChargeInAdvance

If this boolean property returns true, the charge will be at the beginning of the cycle. Otherwise, the charge will be in arrears (at the end of the cycle).

### Visual Basic Syntax

Property ChargeInAdvance As Boolean

### C++ Syntax

HRESULT ChargeInAdvance([out, retval] VARIANT_BOOL *pVal);

HRESULT ChargeInAdvance([in] VARIANT_BOOL newVal);

## ProrateOnActivation

If this boolean property returns true, the initial recurring charge will be prorated when a subscriber signs up for the product offering.

### Visual Basic Syntax

Property ProrateOnActivation As Boolean

### C++ Syntax

HRESULT ProrateOnActivation([out, retval] VARIANT_BOOL *pVal);

HRESULT ProrateOnActivation([in] VARIANT_BOOL newVal);

## ProrateOnDeactivation

If this boolean property returns true, the last recurring charge will be prorated when a subscriber cancels the subscription.

### Visual Basic Syntax

Property ProrateOnDeactivation As Boolean

### C++ Syntax

HRESULT ProrateOnDeactivation([out, retval] VARIANT_BOOL *pVal);

HRESULT ProrateOnDeactivation([in] VARIANT_BOOL newVal);

## ProrateOnRateChange

If this boolean property returns true, proration will be used when the rate changes (not used currently).

### Visual Basic Syntax

Property ProrateOnRateChange As Boolean

### C++ Syntax

HRESULT ProrateOnRateChange([out, retval] VARIANT_BOOL *pVal);

HRESULT ProrateOnRateChange([in] VARIANT_BOOL newVal);

## FixedProrationLength

If this boolean property returns true, a fixed length will be used for proration. If false, the actual length of the cycle will be used.

Note: The values for the fixed length is specified per cycle type in t_usage_cycle_type_length.

### Visual Basic Syntax

Property FixedProrationLength As Boolean

### C++ Syntax

HRESULT FixedProrationLength([out, retval] VARIANT_BOOL *pVal);

HRESULT FixedProrationLength([in] VARIANT_BOOL newVal);

##

###

##