curl "https://acme.orgo.space/api/v1/product_payments?status=SUCCESS&datePaid[after]=2026-01-01" \
-H "Api-Token: $ORGO_API_TOKEN"const params = new URLSearchParams({
status: "SUCCESS",
"datePaid[after]": "2026-01-01",
});
const res = await fetch(
`https://acme.orgo.space/api/v1/product_payments?${params}`,
{ headers: { "Api-Token": process.env.ORGO_API_TOKEN } },
);
$response = $client->get('/api/v1/product_payments', [
'headers' => ['Api-Token' => getenv('ORGO_API_TOKEN')],
'query' => [
'status' => 'SUCCESS',
'datePaid[after]' => '2026-01-01',
],
]);
import requests
url = "https://app.orgo.space/api/v1/product_payments"
headers = {"Api-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.orgo.space/api/v1/product_payments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Api-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.orgo.space/api/v1/product_payments")
.header("Api-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.orgo.space/api/v1/product_payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Api-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": 42,
"product": {
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"id": 42,
"name": "Boston Chapter",
"type": "MEMBER"
},
"subscriptionProfile": {
"id": 42
},
"amount": 50,
"periodStart": "2026-01-15T10:30:00+00:00",
"periodEnd": "2026-01-15T10:30:00+00:00",
"stripeInvoiceId": "string",
"isRefunded": true,
"contact": {
"id": 42,
"name": "Boston Chapter",
"email": "james.patterson@example.com",
"country": {
"id": 42,
"name": "Boston Chapter"
},
"town": {
"id": 42,
"name": "Boston Chapter",
"country": "/api/v1/countrys/1"
}
},
"user": {
"id": 42,
"firstName": "James",
"lastName": "Patterson",
"localCenter": {
"id": 42,
"name": "Boston Chapter"
},
"fullName": "James Patterson"
},
"price": {
"id": 42,
"isLifetime": true
},
"manualFeePayment": {
"id": 42,
"dateModified": "2026-01-15T10:30:00+00:00"
},
"stripePaymentDate": "2026-01-15T10:30:00+00:00",
"status": "ACTIVE",
"uid": "string",
"currency": "USD",
"isPublic": true,
"identityReminderSent": true,
"productOption": {
"id": 42,
"name": "Boston Chapter"
},
"dateCreated": "2026-01-15T10:30:00+00:00",
"identity": {
"id": 42,
"isValidated": true,
"status": "ACTIVE"
},
"localCenterOption": {
"id": 42,
"name": "Boston Chapter"
},
"commentByUser": "Confirmed by phone — will arrive at 10am.",
"invoice": {
"id": 42,
"invoicedFor": "string"
}
}
]List product payments
Returns a paginated list of product payments. Collection security is enforced via SecureSearchCollectionFilter and Doctrine extensions based on the user role. Regular users see only their own payments; FINANCIAL_LOCAL users see payments for their local center. Response is intentionally lean — call GET /product_payments/{id} for full payment details.
curl "https://acme.orgo.space/api/v1/product_payments?status=SUCCESS&datePaid[after]=2026-01-01" \
-H "Api-Token: $ORGO_API_TOKEN"const params = new URLSearchParams({
status: "SUCCESS",
"datePaid[after]": "2026-01-01",
});
const res = await fetch(
`https://acme.orgo.space/api/v1/product_payments?${params}`,
{ headers: { "Api-Token": process.env.ORGO_API_TOKEN } },
);
$response = $client->get('/api/v1/product_payments', [
'headers' => ['Api-Token' => getenv('ORGO_API_TOKEN')],
'query' => [
'status' => 'SUCCESS',
'datePaid[after]' => '2026-01-01',
],
]);
import requests
url = "https://app.orgo.space/api/v1/product_payments"
headers = {"Api-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.orgo.space/api/v1/product_payments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Api-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.orgo.space/api/v1/product_payments")
.header("Api-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.orgo.space/api/v1/product_payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Api-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": 42,
"product": {
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"id": 42,
"name": "Boston Chapter",
"type": "MEMBER"
},
"subscriptionProfile": {
"id": 42
},
"amount": 50,
"periodStart": "2026-01-15T10:30:00+00:00",
"periodEnd": "2026-01-15T10:30:00+00:00",
"stripeInvoiceId": "string",
"isRefunded": true,
"contact": {
"id": 42,
"name": "Boston Chapter",
"email": "james.patterson@example.com",
"country": {
"id": 42,
"name": "Boston Chapter"
},
"town": {
"id": 42,
"name": "Boston Chapter",
"country": "/api/v1/countrys/1"
}
},
"user": {
"id": 42,
"firstName": "James",
"lastName": "Patterson",
"localCenter": {
"id": 42,
"name": "Boston Chapter"
},
"fullName": "James Patterson"
},
"price": {
"id": 42,
"isLifetime": true
},
"manualFeePayment": {
"id": 42,
"dateModified": "2026-01-15T10:30:00+00:00"
},
"stripePaymentDate": "2026-01-15T10:30:00+00:00",
"status": "ACTIVE",
"uid": "string",
"currency": "USD",
"isPublic": true,
"identityReminderSent": true,
"productOption": {
"id": 42,
"name": "Boston Chapter"
},
"dateCreated": "2026-01-15T10:30:00+00:00",
"identity": {
"id": 42,
"isValidated": true,
"status": "ACTIVE"
},
"localCenterOption": {
"id": 42,
"name": "Boston Chapter"
},
"commentByUser": "Confirmed by phone — will arrive at 10am.",
"invoice": {
"id": 42,
"invoicedFor": "string"
}
}
]Authorizations
Server-to-server authentication. Generate a token in the admin UI at
Settings → Developers → API Access. Send the raw token in the
Api-Token header — there is no Bearer prefix.
Tokens can be marked read-only at creation time, in which case the API
rejects any non-GET request with 403 Forbidden.
Query Parameters
The collection page number
The number of items per page
0 <= x <= 100Enable or disable pagination
asc, desc asc, desc asc, desc asc, desc asc, desc asc, desc asc, desc asc, desc asc, desc Response
ProductPayment collection
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

