Contents
On this page
List Payments - Plugixa Car Parking
GET /plugixa-car-parking/v1/payments
List the payments ledger: every payment, deposit, balance and refund recorded against bookings, whether taken online, recorded by staff, pending or failed.
The user needs the plugixa_carparking_view capability, for both payments and bookings.
Request
GET https://your-site.example/wp-json/plugixa-car-parking/v1/payments?booking_id=57
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
booking_id |
integer |
Payments of this booking only. |
Plus the list parameters every paged list accepts. search matches the transaction id. orderby accepts id, booking_id, gateway, type, amount, status and created_at.
And these filters:
| Field | Kind | Operators |
|---|---|---|
booking_id |
A booking id | in, ne, empty, not_empty |
gateway |
A payment method id, such as offline or stripe |
in, ne, empty, not_empty |
type |
full, deposit, balance, refund (and installment with Pro) |
in, ne, empty, not_empty |
status |
completed, pending, failed |
in, ne, empty, not_empty |
amount |
Number | between, gte, gt, lte, lt, eq, ne, empty, not_empty |
created_at |
Date | between, gte, gt, lte, lt, eq, empty, not_empty |
modified_at |
Date | between, gte, gt, lte, lt, eq, empty, not_empty |
Responses
200 OK. data is one page of payments.
{
"success": true,
"data": [
{
"id": 31,
"booking_id": 57,
"gateway": "offline",
"transaction_id": null,
"type": "deposit",
"amount": 10,
"currency": "EUR",
"status": "completed",
"response": { "source": "manual" },
"created_by": 1,
"modified_by": 1,
"created_at": "2026-11-12 10:05:00",
"updated_at": null,
"modified_at": "2026-11-12 10:05:00",
"deleted_at": null,
"booking_ref": "PKG-3F9A1C",
"gateway_label": "Pay on arrival"
}
],
"meta": { "total": 1, "pages": 1 }
}
| Field | Type | Meaning |
|---|---|---|
data[].id |
integer |
The payment’s id |
data[].booking_id |
integer |
The booking it belongs to |
data[].booking_ref |
string|null |
That booking’s reference, null if it no longer exists |
data[].gateway |
string |
The payment method id: offline, or with Pro stripe, paypal, mollie, adyen, klarna |
data[].gateway_label |
string |
Its readable name, or the id when the method is no longer installed |
data[].transaction_id |
string|null |
The provider’s reference. null for a payment recorded by staff |
data[].type |
string |
full, deposit, balance, refund, or installment PRO |
data[].amount |
number |
Always positive, a refund included |
data[].currency |
string |
The booking’s currency when the payment was recorded |
data[].status |
string |
completed, pending or failed. Only completed rows count towards what a booking has been paid |
data[].response |
object|null |
What was stored with the payment: { "source": "manual" } for one recorded by staff, { "refund_of": 31 } for a refund made here, or data from the payment provider |
data[].created_by |
integer |
The user who recorded it, 0 when nobody was signed in (a provider’s notification) |
data[].created_at |
string |
UTC datetime |
meta.total |
integer |
Payments matching, before paging |
meta.pages |
integer |
Number of pages at this per_page |
Errors
| Status | Code | When |
|---|---|---|
400 |
plugixa_carparking_unknown_filter |
A filter names a field this list cannot filter on. |
400 |
plugixa_carparking_unknown_operator |
The operator does not work on that field. |
400 |
plugixa_carparking_missing_value |
A filter is missing its value. |
400 |
plugixa_carparking_invalid_date |
A date filter’s value is not a date. |
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixa-car-parking/v1/payments?booking_id=57" \
-u "admin:$WP_APP_PASSWORD"
<?php
$query = http_build_query(['booking_id' => 57]);
$ch = curl_init('https://your-site.example/wp-json/plugixa-car-parking/v1/payments?' . $query);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const query = new URLSearchParams({ booking_id: '57' });
const response = await fetch(`https://your-site.example/wp-json/plugixa-car-parking/v1/payments?${query}`, {
headers: {
'Authorization': 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`),
},
});
const { data, meta } = await response.json();
Quick Links
Share