Payment Analytics
Payment Analytics provides comprehensive insights into payment processing operations, fee collection, and payment account metrics for financial operations and business intelligence.
API Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/admin/analytics/payments/payment-accounts | Payment account analytics |
GET | /v1/admin/analytics/payments/active-payment-accounts | Active payment account metrics |
GET | /v1/admin/analytics/payments/payment-processed | Processed payment analytics |
GET | /v1/admin/analytics/payments/collected-fees | Collected fees analytics |
Service Methods & Business Logic
Payment Accounts Analytics
paymentAccounts(startDate, endDate) - Payment account tracking
- Retrieves payment account analytics with date range filtering
- Tracks accounts with payment processing capability
- Calculates payment account growth rate comparing periods
- Returns payment account data with growth metrics
- MongoDB Collections:
_accounts,_store.subscriptions - Key Filters: Payment-enabled accounts within date range
Active Payment Accounts Analytics
activePaymentAccounts(startDate, endDate) - Active payment tracking
- Tracks active payment accounts with processing activity
- Filters accounts with active payment processing within period
- Calculates active payment account growth rate
- Returns active payment account metrics with trend analysis
- MongoDB Collections:
_accounts,_store.subscriptions - Key Filters: Accounts with active payment processing
Payment Processed Analytics
paymentProcessed(startDate, endDate) - Payment processing tracking
- Tracks total payment processing volume and frequency
- Analyzes payment processing trends over time
- Calculates payment processing growth rate
- Returns processed payment analytics with volume metrics
- MongoDB Collections: Payment processing collections
- Key Filters: Processed payments within date range
Collected Fees Analytics
collectedFees(startDate, endDate) - Fee collection tracking
- Tracks fee collection from payment processing
- Analyzes fee collection trends and growth
- Calculates fee collection growth rate comparing periods
- Returns collected fees analytics with revenue impact
- MongoDB Collections: Fee collection records
- Key Filters: Fee collections within date range
Technical Implementation Details
Payment Account Aggregation
const paymentAccountsAggregation = [
{
$facet: {
currentPaymentsAccountData: [
{ $match: paymentAccountOptions },
{
$group: {
_id: '$created_at',
count: { $sum: 1 },
},
},
{
$project: {
tmp: {
date: '$_id',
count: '$count',
},
},
},
{
$group: {
_id: null,
total: { $sum: '$tmp.count' },
data: { $addToSet: '$tmp' },
},
},
],
previousPaymentsAccountCount: [
{ $match: previousPaymentAccountOptions },
{ $count: 'total' },
],
},
},
{
$set: {
growthRate: growthRateCalculation,
},
},
];
Fee Collection Analysis
const collectedFeesTracking = [
{
$match: {
created_at: { $gte: startDate, $lte: endDate },
},
},
{
$group: {
_id: '$created_at',
count: { $sum: '$fee_amount' },
},
},
{
$project: {
tmp: {
date: '$_id',
count: '$count',
},
},
},
{
$group: {
_id: null,
total: { $sum: '$tmp.count' },
data: { $addToSet: '$tmp' },
},
},
];
Growth Rate Calculation
const paymentGrowthRate = {
$ifNull: [
{
$trunc: [
{
$multiply: [
{
$cond: [
{ $eq: [previousValue, 0] },
0,
{
$divide: [{ $subtract: [currentValue, previousValue] }, previousValue],
},
],
},
100,
],
},
2,
],
},
0,
],
};
API Response Formats
Payment Accounts Response
{
"success": true,
"message": "SUCCESS",
"data": {
"currentData": {
"total": 325,
"data": [
{
"date": "2024-10-01T00:00:00.000Z",
"count": 12
},
{
"date": "2024-10-02T00:00:00.000Z",
"count": 15
}
]
},
"growthRate": 8.5
}
}
Processed Payments Response
{
"success": true,
"message": "SUCCESS",
"data": {
"currentData": {
"total": 1250000,
"data": [
{
"date": "2024-10-01T00:00:00.000Z",
"count": 45000
},
{
"date": "2024-10-02T00:00:00.000Z",
"count": 52000
}
]
},
"growthRate": 12.0
}
}
Collected Fees Response
{
"success": true,
"message": "SUCCESS",
"data": {
"currentData": {
"total": 37500,
"data": [
{
"date": "2024-10-01T00:00:00.000Z",
"count": 1350
},
{
"date": "2024-10-02T00:00:00.000Z",
"count": 1560
}
]
},
"growthRate": 15.5
}
}
Active Payment Accounts Response
{
"success": true,
"message": "SUCCESS",
"data": {
"currentData": {
"total": 280,
"data": [
{
"date": "2024-10-01T00:00:00.000Z",
"count": 10
},
{
"date": "2024-10-02T00:00:00.000Z",
"count": 13
}
]
},
"growthRate": 6.8
}
}
Business Logic Workflows
Payment Processing Analytics Flow
graph TD
A[Payment Analytics Request] --> B[Date Range Processing]
B --> C[Payment Data Aggregation]
C --> D[Volume Calculation]
D --> E[Growth Rate Analysis]
E --> F[Response Formatting]
subgraph "Payment Metrics"
G[Processing Volume]
H[Account Count]
I[Fee Collection]
J[Growth Rates]
end
D --> G --> F
D --> H --> F
D --> I --> F
E --> J --> F
Fee Collection Analysis Flow
graph TD
A[Fee Analytics Request] --> B[Fee Collection Query]
B --> C[Time Series Aggregation]
C --> D[Fee Total Calculation]
D --> E[Period Comparison]
E --> F[Growth Rate Calculation]
F --> G[Fee Analytics Response]
subgraph "Fee Data"
H[Daily Fee Collections]
I[Total Fee Revenue]
J[Fee Growth Rate]
end
C --> H --> G
D --> I --> G
F --> J --> G
Query Parameters
Standard Parameters
start_date(ISO string, optional) - Analytics period start dateend_date(ISO string, optional) - Analytics period end date
Default Behavior
- Date range defaults to last 30 days if not specified
- All monetary values returned in cents (Stripe format)
- Growth rates calculated as percentages with 2 decimal precision
Payment Metrics Definitions
Key Payment Metrics
- Payment Accounts: Total accounts with payment processing capability
- Active Payment Accounts: Accounts with active payment processing activity
- Payment Processed: Total volume of processed payments
- Collected Fees: Total fees collected from payment processing
Fee Structure
Payment processing fees are calculated based on:
- Transaction percentage fees
- Fixed per-transaction fees
- Volume-based fee tiers
- Premium service fees
Authorization & Access Control
Administrative Access
- DashClicks staff authentication required
adminAppCheck('analytics')middleware protection- Rate limiting with
validateLimitmiddleware - Comprehensive audit logging for financial data access
Financial Data Security
- Restricted access to payment processing data
- Secure handling of fee collection information
- Input validation and sanitization
- Error response sanitization for security
Performance Optimization
Database Optimization
- Indexes on payment processing date fields
- Composite indexes for account and payment data joins
- Optimized aggregation pipelines for large transaction volumes
Query Efficiency
- Efficient date range filtering
- Optimized fee calculation aggregations
- Memory-efficient processing for high-volume data
Usage Examples
Get Payment Accounts Analytics
GET /v1/admin/analytics/payments/payment-accounts?start_date=2024-09-01&end_date=2024-09-30
Authorization: Bearer {admin_token}
Get Processed Payments Volume
GET /v1/admin/analytics/payments/payment-processed
Authorization: Bearer {admin_token}
Get Fee Collection Analytics
GET /v1/admin/analytics/payments/collected-fees?start_date=2024-10-01&end_date=2024-10-31
Authorization: Bearer {admin_token}
Get Active Payment Accounts
GET /v1/admin/analytics/payments/active-payment-accounts
Authorization: Bearer {admin_token}