Billing Plan
June 5, 2026 ยท View on GitHub
The plan details.
Structure
BillingPlan
Fields
| Name | Type | Tags | Description | Getter | Setter |
|---|---|---|---|---|---|
Id | String | Optional, Read-only | The unique PayPal-generated ID for the plan. Constraints: Minimum Length: 26, Maximum Length: 26, Pattern: ^P-[A-Z0-9]*$ | String getId() | setId(String id) |
ProductId | String | Optional | The ID for the product. Constraints: Minimum Length: 22, Maximum Length: 22, Pattern: ^PROD-[A-Z0-9]*$ | String getProductId() | setProductId(String productId) |
Name | String | Optional | The plan name. Constraints: Minimum Length: 1, Maximum Length: 127, Pattern: ^.*$ | String getName() | setName(String name) |
Status | SubscriptionPlanStatus | Optional | The plan status. Constraints: Minimum Length: 1, Maximum Length: 24, Pattern: ^[A-Z_]+$ | SubscriptionPlanStatus getStatus() | setStatus(SubscriptionPlanStatus status) |
Description | String | Optional | The detailed description of the plan. Constraints: Minimum Length: 1, Maximum Length: 127, Pattern: ^.*$ | String getDescription() | setDescription(String description) |
BillingCycles | List<SubscriptionBillingCycle> | Optional | An array of billing cycles for trial billing and regular billing. A plan can have at most two trial cycles and only one regular cycle. Constraints: Minimum Items: 1, Maximum Items: 12 | List | setBillingCycles(List |
PaymentPreferences | PaymentPreferences | Optional | The payment preferences for a subscription. | PaymentPreferences getPaymentPreferences() | setPaymentPreferences(PaymentPreferences paymentPreferences) |
MerchantPreferences | MerchantPreferences | Optional | The merchant preferences for a subscription. | MerchantPreferences getMerchantPreferences() | setMerchantPreferences(MerchantPreferences merchantPreferences) |
Taxes | Taxes | Optional | The tax details. | Taxes getTaxes() | setTaxes(Taxes taxes) |
QuantitySupported | Boolean | Optional | Indicates whether you can subscribe to this plan by providing a quantity for the goods or service. Default: false | Boolean getQuantitySupported() | setQuantitySupported(Boolean quantitySupported) |
CreateTime | String | Optional | The date and time, in Internet date and time format. Seconds are required while fractional seconds are optional. Note: The regular expression provides guidance but does not reject all invalid dates. Constraints: Minimum Length: 20, Maximum Length: 64, Pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$ | String getCreateTime() | setCreateTime(String createTime) |
UpdateTime | String | Optional | The date and time, in Internet date and time format. Seconds are required while fractional seconds are optional. Note: The regular expression provides guidance but does not reject all invalid dates. Constraints: Minimum Length: 20, Maximum Length: 64, Pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$ | String getUpdateTime() | setUpdateTime(String updateTime) |
Links | List<LinkDescription> | Optional, Read-only | An array of request-related HATEOAS links. Constraints: Minimum Items: 1, Maximum Items: 10 | List | setLinks(List |
Example (as JSON)
{
"quantity_supported": false,
"id": "id0",
"product_id": "product_id4",
"name": "name0",
"status": "CREATED",
"description": "description0"
}