Plan
Plan: Create
- Python
result = gateway.plan.create({
"name": "the_name",
"billing_frequency": "the_billing_frequency",
"currency_iso_code": "the_currency_iso_code",
"price": "the_price"
});
Parameters
The collection of add-ons associated with a plan. Add-on details can only be managed within the Control Panel.
'add'
array'amount'
Decimal'name'
str'remove'
array'update'
array'amount'
Decimal'name'
str'billing_day_of_month'
integer or string'billing_frequency'
integer or stringA collection of discounts associated with this plan. Discount details can only be managed within the Control Panel.
'add'
array'amount'
Decimal'name'
str'remove'
array'update'
array'amount'
Decimal'name'
str'id'
str'name'
str'never_expires'
boolean or string'number_of_billing_cycles'
integer or string'price'
decimal or stringThe trial timeframe specified in a plan. It is required if the trial period is set to True and must be 1-3 digits. If you specify a trial duration of 0, the gateway will start the subscription immediately and not consider it to include a trial period.
day
or month
.'trial_period'
boolA value indicating whether a subscription should begin with a trial period. If not specified on creation, the gateway will generate False by default. It cannot have both a specified billing date and a trial period.
Add add_ons/discounts when creating a plan
There are two ways to add add_ons/discounts when creating a plan. First, modification tokens can be
passed along when creating a plan. A modification is either an add_on or a discount.
- Python
result = gateway.plan.create({
"name": "the_name",
"billing_frequency": "the_billing_frequency",
"currency_iso_code": "the_currency_iso_code",
"price": "the_price",
"modification_tokens": [
"modification1_token",
"modification2_token"
]
});
- Add-ons/discounts that would be inherited from the plan can be updated on the plan.
- Add-ons/discounts that would be inherited from the plan can be removed from the plan.
- Python
result = gateway.plan.create({
"name": "the_name",
"billing_frequency": "the_billing_frequency",
"currency_iso_code": "the_currency_iso_code",
"price": "the_price",
"add_ons": {
"add": [
{
"inherited_from_id": "add_on_id_1",
"amount": Decimal("20.00")
},
{
"inherited_from_id": "add_on_id_2",
"amount": Decimal("30.00")
}
],
"update": [
{
"existing_id": "add_on_id_3",
"description": "Updated description"
},
{
"existing_id": "add_on_id_4",
"description": "Updated description"
}
],
"remove": [
"add_on_id_5",
"add_on_id_6"
]
},
"discounts": {
"add": [
{
"inherited_from_id": "discount_id_1",
"amount": Decimal("7.00")
}
],
"update": [
{
"existing_id": "discount_id_2",
"amount": Decimal("15.00")
}
],
"remove": [
"discount_id_3"
]
}
});
- amount
- number_of_billing_cycles
- name
- description
- Python
result = gateway.plan.create({
"name": "the_name",
"billing_frequency": "the_billing_frequency",
"currency_iso_code": "the_currency_iso_code",
"price": "the_price",
"add_ons": {
"add": [
{
"inherited_from_id": "add_on_id_1",
"amount": Decimal("20.00"),
"number_of_billing_cycles": 2,
"name": "NewName",
"description": "NewDescription"
}
],
"update": [
{
"existing_id": "add_on_id_2",
"amount": Decimal("15.00"),
"number_of_billing_cycles": 2,
"name": "NewName",
"description": "NewDescription"
}
]
},
"discounts": {
"add": [
{
"inherited_from_id": "discount_id_1",
"amount": Decimal("20.00"),
"number_of_billing_cycles": 2,
"name": "NewName",
"description": "NewDescription"
}
],
"update": [
{
"existing_id": "discount_id_2",
"amount": Decimal("15.00"),
"never_expires": True,
"quantity": 3,
"number_of_billing_cycles": 2,
"name": "NewName",
"description": "NewDescription"
}
]
}
});