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:
- Financial Auditor
- Financial Admin
- Student Billing
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:
- Financial Admin
- Student Billing
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
- invoices
- ignored_scheduled_aid
- payment_plan
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Student Billing
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:
- Financial Admin
- Student Billing