Plan
Plan: Create
- Callback
- Promise
gateway.plan.create({
name: "the_name",
billingFrequency: "the_billing_frequency",
currencyIsoCode: "the_currency_iso_code",
price: "the_price"
}, (err, result) => {
});
Parameters
The collection of add-ons associated with a plan. Add-on details can only be managed within the Control Panel.
add
arrayamount
Stringdescription
StringinheritedFromId
Stringname
StringnumberOfBillingCycles
Stringremove
arrayupdate
arrayamount
Stringdescription
StringexistingId
Stringname
StringnumberOfBillingCycles
StringbillingDayOfMonth
integer or stringbillingFrequency
integer or stringcurrencyIsoCode
Stringdescription
StringA collection of discounts associated with this plan. Discount details can only be managed within the Control Panel.
add
arrayamount
Stringdescription
StringinheritedFromId
Stringname
StringnumberOfBillingCycles
Stringremove
arrayupdate
arrayamount
Stringdescription
StringexistingId
Stringname
StringnumberOfBillingCycles
Stringid
StringmodificationTokens
Stringname
StringneverExpires
boolean or stringnumberOfBillingCycles
integer or stringprice
decimal or stringtrialDuration
NumberThe 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.
trialDurationUnit
Stringday
or month
.trialPeriod
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.
- Callback
- Promise
const modification_tokens = ["modification1_token", "modification2_token"];
gateway.plan.create({
name: "the_name",
billingFrequency: "the_billing_frequency",
currencyIsoCode: "the_currency_iso_code",
price: "the_price",
modification_tokens: modification_tokens
}, (err, result) => {
});
- 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.
- Callback
- Promise
gateway.plan.create({
name: "the_name",
billingFrequency: "TheBillingFrequency",
currencyIsoCode: "theCurrencyIsoCode",
price: "the_price",
addOns: {
add: [
{
inheritedFromId: "addOnId1",
amount: "20.00"
},
{
inheritedFromId: "addOnId2",
amount: "30.00"
}
],
update: [
{
existingId: "addOnId3",
description: "Updated description"
},
{
existingId: "addOnId4",
description: "Updated description"
}
],
remove: [
"addOnId5",
"addOnId_6"
]
},
discounts: {
add: [
{
inheritedFromId: "discountId1",
amount: "7.00"
}
],
update: [
{
existingId: "discountId2",
amount: "15.00"
}
],
remove: ["discountId3"]
}
}, (err, result) => {});
- amount
- numberOfBillingCycles
- name
- description
- Callback
- Promise
gateway.plan.create({
name: "the_name",
billingFrequency: "TheBillingFrequency",
currencyIsoCode: "theCurrencyIsoCode",
price: "the_price",
addOns: {
add: [
{
inheritedFromId: "addOnId1",
amount: "20.00",
numberOfBillingCycles: 2,
name: "NewName",
description: "NewDescription"
}
],
update: [
{
existingId: "addOnId2",
amount: "15.00",
numberOfBillingCycles: 2,
name: "NewName",
description: "NewDescription"
}
]
},
discounts: {
add: [
{
inheritedFromId: "discountId1",
amount: "20.00",
numberOfBillingCycles: 2,
name: "NewName",
description: "NewDescription"
}
],
update: [
{
existingId: "discountId2",
amount: "15.00",
numberOfBillingCycles: 2,
name: "NewName",
description: "NewDescription"
}
]
}
}, (err, result) => {});