NAV
shell ruby python csharp php

PaymentPlanStudent

The PaymentPlanStudent object

The PaymentPlanStudent object looks like this in JSON:

{
    "object": "payment_plan_student",
    "id": 7,
    "student_id": 12,
    "academic_term_id": 6,
    "invoice_id": 9,
    "payment_plan_id": null,
    "start_date": "2020-09-07",
    "as_of_time": null,
    "charge_types_broken_out": false,
    "total_eligible_charges": 0,
    "recurring_amount": 0,
    "exclude_aid": false,
    "scheduled_aid_handling": "consider_allocation_time",
    "schedule_type": "days_from_applied",
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
student_id Yes int
academic_term_id Yes int
invoice_id No int
payment_plan_id Yes int
start_date No date
as_of_time No datetime
charge_types_broken_out Yes bool
total_eligible_charges Yes decimal
recurring_amount Yes decimal
exclude_aid Yes bool
scheduled_aid_handling Yes enum (ignore, consider_allocation_time, always_exclude)
schedule_type Yes enum (days_from_applied, date, days_into_term, recurring)
added_at No datetime
added_by_id No int
sandbox No bool

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/paymentplans" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/paymentplans"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "list",
    "count": 1,
    "results": 1,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "payment_plan_student",
            "id": 7,
            "student_id": 12,
            "academic_term_id": 6,
            "invoice_id": 9,
            "payment_plan_id": null,
            "start_date": "2020-09-07",
            "as_of_time": null,
            "charge_types_broken_out": false,
            "total_eligible_charges": 0,
            "recurring_amount": 0,
            "exclude_aid": false,
            "scheduled_aid_handling": "consider_allocation_time",
            "schedule_type": "days_from_applied",
            "added_at": null,
            "added_by_id": null
        }
    ],
    "sandbox": true
}

Retrieves all PaymentPlanStudent objects tied to a specific Person.

HTTP Request

GET /people/(person)/paymentplans

Parameters

None

Permissions

One of the following roles is required to call this method:

create

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/paymentplans" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "payment_plan_id": 1
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :payment_plan_id => 1
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'payment_plan_id': 1
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/paymentplans"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  payment_plan_id = 1
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'payment_plan_id' => 1
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "payment_plan_student",
    "id": 8,
    "student_id": 12,
    "academic_term_id": null,
    "invoice_id": null,
    "payment_plan_id": 1,
    "start_date": "2026-07-25",
    "as_of_time": "2026-07-25T16:24:12+00:00",
    "charge_types_broken_out": false,
    "total_eligible_charges": 0,
    "recurring_amount": 0,
    "exclude_aid": true,
    "scheduled_aid_handling": "consider_allocation_time",
    "schedule_type": "date",
    "added_at": "2026-07-25T16:24:12+00:00",
    "added_by_id": 22,
    "sandbox": true
}

Creates a new PaymentPlanStudent object.

HTTP Request

POST /people/(person)/paymentplans

Parameters

Name Required Data Type Description
payment_plan_id Yes int
academic_term_id No int
recurring_amount No decimal This option is only relevant for plans with a recurring schedule type.
start_date No date
as_of_time No datetime
invoice_ids No array of Invoice ids By default, all possible invoices will be added to the plan. Provide an array of invoice ids to limit the selection.

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "payment_plan_student",
    "id": 7,
    "student_id": 12,
    "academic_term_id": 6,
    "invoice_id": 9,
    "payment_plan_id": null,
    "start_date": "2020-09-07",
    "as_of_time": null,
    "charge_types_broken_out": false,
    "total_eligible_charges": 0,
    "recurring_amount": 0,
    "exclude_aid": false,
    "scheduled_aid_handling": "consider_allocation_time",
    "schedule_type": "days_from_applied",
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Retrieves a specific PaymentPlanStudent object.

HTTP Request

GET /people/(person)/paymentplans/(paymentplanstudent)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Expandable Properties

Permissions

One of the following roles is required to call this method:

delete

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)"), Method.Delete);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "payment_plan_student",
    "id": 8,
    "deleted": true
}

Deletes an existing PaymentPlanStudent object.

HTTP Request

DELETE /people/(person)/paymentplans/(paymentplanstudent)

Parameters

Name Required Data Type Description
remove_initial_fee No bool

No additional parameters are needed beyond the ID of the object to delete that appears in the URL.

Permissions

One of the following roles is required to call this method: