curl --request GET \
--url https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body"{ \"object\": \"BillingPlan\", \"id\": \"plan_12356\", \"vid\": \"899d709bcccdd50539f25778974858d51639cf8a\", \"created\": \"2022-04-26T10:16:10+00:00\", \"description\": \"Simple Monthly Plan with Trial\", \"status\": \"Active\", \"trial\": { \"object\": \"BillingPlanPeriod\", \"type\": \"Day\", \"quantity\": 7, \"cycles\": 1, \"prices\": { \"object\": \"List\", \"data\": [ { \"object\": \"BillingPlanPrice\", \"amount\": 0, \"currency\": \"USD\" } ], \"total_count\": 1 }, \"do_not_notify_first_bill\": false }, \"periods\": { \"object\": \"List\", \"data\": [ { \"object\": \"BillingPlanPeriod\", \"type\": \"Month\", \"quantity\": 1, \"cycles\": 1, \"prices\": { \"object\": \"List\", \"data\": [ { \"object\": \"BillingPlanPrice\", \"amount\": 49.99, \"currency\": \"USD\" } ], \"total_count\": 1 } } ], \"total_count\": 1 }, \"skip_initial_billing_notification\": false, \"metadata\": { \"plan info\": \"trial billing plan\" }, \"entitlements\": { \"object\": \"List\", \"data\": [ { \"object\": \"Entitlement\", \"id\": \"ent_p1235\", \"description\": \"Access to ent_p1235\" } ], \"total_count\": 1 }, \"times_to_run\": \"1\", \"used_on_subscriptions\": false }"{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}"{ \"object\": \"Error\", \"message\": \"This endpoint does not exist. Check our API docs.\" }"Fetch a Specific Billing Plan
Retrieves a specific Billing Plan.
curl --request GET \
--url https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09/billing_plans/{ID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body"{ \"object\": \"BillingPlan\", \"id\": \"plan_12356\", \"vid\": \"899d709bcccdd50539f25778974858d51639cf8a\", \"created\": \"2022-04-26T10:16:10+00:00\", \"description\": \"Simple Monthly Plan with Trial\", \"status\": \"Active\", \"trial\": { \"object\": \"BillingPlanPeriod\", \"type\": \"Day\", \"quantity\": 7, \"cycles\": 1, \"prices\": { \"object\": \"List\", \"data\": [ { \"object\": \"BillingPlanPrice\", \"amount\": 0, \"currency\": \"USD\" } ], \"total_count\": 1 }, \"do_not_notify_first_bill\": false }, \"periods\": { \"object\": \"List\", \"data\": [ { \"object\": \"BillingPlanPeriod\", \"type\": \"Month\", \"quantity\": 1, \"cycles\": 1, \"prices\": { \"object\": \"List\", \"data\": [ { \"object\": \"BillingPlanPrice\", \"amount\": 49.99, \"currency\": \"USD\" } ], \"total_count\": 1 } } ], \"total_count\": 1 }, \"skip_initial_billing_notification\": false, \"metadata\": { \"plan info\": \"trial billing plan\" }, \"entitlements\": { \"object\": \"List\", \"data\": [ { \"object\": \"Entitlement\", \"id\": \"ent_p1235\", \"description\": \"Access to ent_p1235\" } ], \"total_count\": 1 }, \"times_to_run\": \"1\", \"used_on_subscriptions\": false }"{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}"{ \"object\": \"Error\", \"message\": \"This endpoint does not exist. Check our API docs.\" }"Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
The id or the vid of the billing plan to retrieve A unique identifier. Optionally, this object can also be identified by its vid. Using a unique custom identifier is strongly encouraged.
128Response
JSON A full Billing Plans object.
Value is "BillingPlan"
BillingPlan A unique identifier. Optionally, this object can also be identified by its vid. Using a unique custom identifier is strongly encouraged.
128A Globally Unique Identifier (GUID) for this object. This value is generated by Vindicia.
128The date and time the plan was created.
A CSP-specified description of this offering.
CSPs may define whether they want to declare a plan as available to offer. Values can be Active,Suspended
Active, Suspended The tax classification or code to be used with any plan-level charges.
enum(Category)
Optionally declares an initial trial period for this plan.
Show child attributes
Show child attributes
Defines the sequential billing periods in the plan, each with its own billing schedule and terms.
Show child attributes
Show child attributes
Number of days prior to schedule billing at which CashBox will send email notification.
For the trial period, this replaces billing_notification_days, indicating the number of days prior to end of a trial to send the trial end email.
Determines whether to send a billing notification for the initial period.
The date after which the plan should not be offered.
Metadata are sets of key-value pairs and are useful for storing additional, structured information on an object. This object is used to store a list of keys, which you create and associate with text string values. You use these key-value pairs to store custom data for your own internal tracking purposes, or to store CashBox specific data for defined CashBox purposes.
The metadata field supports key-value pairs with the following limitations:
Keys can be up to 256 characters
Keys can be any string that is needed, except only CashBox can prefix keys with vin:
Values can be up to 1024 characters
In some cases metadata from one object will be inherited automatically from one object to another that is spawned from it. e.g. metadata on a Subscription and SubscriptionItem will be inherited by all Transactions and TransactionItems that result from them.
Entitlements granted by active subscriptions on this plan.
Show child attributes
Show child attributes
Optional “soft descriptor” to send to the payment processor for transactions associated with a subscription using this billing plan.
Number of days after the billing date when, if payment is not received, the Subscription is stopped and the customer is disentitled; overrides the global CSP default setting, if both are set.
Number of billing cycles the customer is contractually obligated to complete before cancelling. The only impact this has is upon the cancelling a Subscription.
List of early cancel fees for various currencies.
Show child attributes
Show child attributes
The number of times the sequence of Billing Periods should be repeated. Valid input includes positive integers (Default is null).
The length of time for which Entitlements are valid after the last Billing date (Default is null).
If a Billing Period set repeats, this value defines the length of time after the first billing that the set should repeat.
The SeasonSet to which the Billing Plan applies. (May be null.)
Show child attributes
Show child attributes
Optional setting when using a season set to control the integer number of days before a season starts to bill.
Optional setting when using a season set to control the integer number of days customer is entitled before a season starts
Optional setting when using a season set to control the integer number of days after a season ends a customer remains entitled.
Optional setting when using a season set to continue entitling customer between seasons.
Signifies if Billing Plan has been used on an Active Subscription

