Returns a list of your sales including those where you receive commission.
GET /listPurchases
Retrieves a filtered list of purchases/orders with flexible search criteria. Supports pagination, date ranges, and various filters for sales analysis and reporting.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
from |
string | No | -24h | Start time (e.g., "2014-02-28 23:11:24", "now", "-3d", "start") |
to |
string | No | now | End time |
search |
object | No | - | Search criteria (see below) |
sort_by |
string | No | date | Sort by: date, earning, amount |
sort_order |
string | No | asc | Sort order: asc, desc |
load_transactions |
boolean | No | false | Include transaction list for each purchase |
page_no |
integer | No | 1 | Page number (starts at 1) |
page_size |
integer | No | 500 | Items per page (min: 1) |
| Field | Type | Description |
|---|---|---|
role |
string | Filter by role: vendor, affiliate, other (comma separated) |
product_id |
string | Filter by product IDs (comma separated) |
first_name |
string | Filter by buyer first name |
last_name |
string | Filter by buyer last name |
email |
string | Filter by buyer email |
has_affiliate |
boolean | Filter purchases with/without affiliate |
affiliate_name |
string | Filter by affiliate name |
order_type |
string | live or test |
pay_method |
string | Payment methods (comma separated) |
billing_type |
string | Billing types (comma separated) |
transaction_type |
string | Transaction types (comma separated) |
currency |
string | Filter by currency |
purchase_id |
string | Filter by purchase IDs (comma separated) |
{
"purchase_list": [
{
"id": "ABC123",
"amount": 99.00,
"currency": "EUR",
"billing_type": "single_payment",
"billing_status": "completed",
"created_at": "2025-10-14T10:30:00Z",
"buyer_email": "customer@example.com",
"product_name": "Premium Course",
"click_id": "CLICK789",
"sub_ids": {
"sid1": "campaign1",
"sid2": "source2"
}
}
]
}use GoSuccess\Digistore24\Api\Digistore24;
use GoSuccess\Digistore24\Api\Client\Configuration;
use GoSuccess\Digistore24\Api\Request\Purchase\ListPurchasesRequest;
$config = new Configuration('YOUR-API-KEY');
$ds24 = new Digistore24($config);
// Simple: List all purchases (no parameters needed)
try {
$response = $ds24->purchases->list();
echo "Found " . count($response->purchases) . " purchases\n\n";
foreach ($response->purchases as $purchase) {
echo "ID: {$purchase->purchaseId}\n";
echo "Amount: {$purchase->amount} {$purchase->currency}\n";
echo "Buyer: {$purchase->buyerEmail}\n";
echo "Product: {$purchase->productName}\n";
echo "Status: {$purchase->billingStatus}\n";
echo "---\n";
}
} catch (\GoSuccess\Digistore24\Api\Exception\ApiException $e) {
echo "Error: {$e->getMessage()}\n";
}
// Advanced: List purchases from last 7 days with filters
$request = new ListPurchasesRequest(
fromDate: new DateTime('-7 days'),
toDate: new DateTime('now')
);
$response = $ds24->purchases->list($request);// List purchases for specific product and buyer
$request = new ListPurchasesRequest(
productId: '39',
buyerEmail: 'customer@example.com'
);
$response = $ds24->purchases->list($request);
echo "Customer has " . count($response->purchases) . " purchases\n";// Generate sales report for last month
$request = new ListPurchasesRequest(
fromDate: new DateTime('-30 days'),
toDate: new DateTime('now')
);
$response = $ds24->purchases->list($request);
$totalRevenue = 0;
$currencies = [];
foreach ($response->purchases as $purchase) {
$totalRevenue += $purchase->amount;
$currencies[$purchase->currency] = ($currencies[$purchase->currency] ?? 0) + $purchase->amount;
}
echo "Total Purchases: " . count($response->purchases) . "\n";
echo "Revenue by Currency:\n";
foreach ($currencies as $currency => $amount) {
echo " {$currency}: " . number_format($amount, 2) . "\n";
}- Default time range is last 24 hours
- Maximum page size depends on account settings
- Use pagination for large datasets
- Affiliate purchases include
click_idandsub_ids - Set
load_transactions=truefor detailed transaction data - Date formats: ISO 8601, relative (e.g., "-3d"), or keywords ("now", "start")
- Get Purchase - Get detailed information about specific purchase(s)
- Create Buy URL - Create customized order URL