Deposit volumes (Cash-in)
Query volumes and amounts of PIX charges by status for a specific date.
Available endpoint
- Production:
https://api.pixtopay.com.br/v2/metrics/deposits
⚠️ Attention: This endpoint is only available in production.
Query deposit volumes
Route
GET /v2/metrics/deposits
Headers
{
"Authorization": "YOUR_API_KEY"
}Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | Yes | Date to query in "YYYY-MM-DD" format (e.g. "2025-08-04") |
Request example:
curl --location 'https://api.pixtopay.com.br/v2/metrics/deposits?date=2025-08-04' \
--header 'Authorization: API_KEY'Response 200 - Success:
{
"date": "2025-08-04",
"pending": {
"qtd": 184,
"amount": 12577.8
},
"expired": {
"qtd": 6663,
"amount": 1296962.97
},
"paid": {
"qtd": 48600,
"amount": 4168422.03
},
"refunded": {
"qtd": 105,
"amount": 10397.1
}
}Response fields
| Parameter | Type | Description |
|---|---|---|
date | string | Query date |
pending | object | Pending charges (status 0) |
pending.qtd | integer | Number of pending charges |
pending.amount | number | Total amount of pending charges |
expired | object | Expired charges (status 3) |
expired.qtd | integer | Number of expired charges |
expired.amount | number | Total amount of expired charges |
paid | object | Paid charges (status 1) |
paid.qtd | integer | Number of paid charges |
paid.amount | number | Total amount of paid charges |
refunded | object | Refunded charges (status 4) |
refunded.qtd | integer | Number of refunded charges |
refunded.amount | number | Total amount of refunded charges |
Charge statuses
| Status | Description |
|---|---|
0 | Charge created, awaiting payment |
1 | Charge paid |
2 | Charge canceled |
3 | Charge expired |
4 | Charge refunded |
Use cases
1. Daily charge dashboard
async function getDailyDeposits(date) {
const response = await fetch(
`https://api.pixtopay.com.br/v2/metrics/deposits?date=${date}`,
{
headers: { Authorization: "YOUR_API_KEY" },
}
);
const data = await response.json();
return {
total: data.paid.amount,
count: data.paid.qtd,
pending: data.pending.amount,
expired: data.expired.amount,
};
}2. Conversion rate
async function getConversionRate(date) {
const response = await fetch(
`https://api.pixtopay.com.br/v2/metrics/deposits?date=${date}`,
{ headers: { Authorization: "YOUR_API_KEY" } }
);
const data = await response.json();
const total = data.paid.qtd + data.expired.qtd + data.pending.qtd;
const paid = data.paid.qtd;
const conversionRate = ((paid / total) * 100).toFixed(2);
return {
total,
paid,
expired: data.expired.qtd,
conversionRate: `${conversionRate}%`,
};
}3. Loss analysis
async function getLossAnalysis(date) {
const response = await fetch(
`https://api.pixtopay.com.br/v2/metrics/deposits?date=${date}`,
{ headers: { Authorization: "YOUR_API_KEY" } }
);
const data = await response.json();
return {
expired: {
count: data.expired.qtd,
amount: data.expired.amount,
percentage: (
(data.expired.amount /
(data.paid.amount + data.expired.amount + data.pending.amount)) *
100
).toFixed(2),
},
refunded: {
count: data.refunded.qtd,
amount: data.refunded.amount,
},
};
}Important notes
- 🔒 Production: Endpoint available only in production
- 📊 Aggregated data: Metrics are precomputed for performance
- 🕐 Updates: Data updated in real time
- 📅 Period: Query any date from account creation onward
- 💰 Currency: All amounts in BRL (Brazilian Real)
- ⏰ Timezone: All dates in UTC-3 (Brasília)
Business insights
Conversion analysis
Use pending, paid, and expired to calculate:
- Charge conversion rate
- Abandonment rate
- Average charge amount by status
Daily performance
Monitor:
- Volume of charges created
- Expiration rate
- Average ticket by status
- Periods with highest conversion
Operational quality
Track:
- Refund rate
- Expiration drivers
- Performance by day of week