A comprehensive reporting service for Global Payments transactions with search, filtering, analytics, and data export capabilities.
Create a .env file in the nodejs directory:
GP_API_APP_ID=your_app_id_here
GP_API_APP_KEY=your_app_key_here
GP_API_ENVIRONMENT=TEST # or PRODUCTIONcd nodejs
npm install
npm startThe API will be available at http://localhost:8000/api/reports
curl "http://localhost:8000/api/reports?action=config"All endpoints use /api/reports?action={action_name} and support both GET and POST requests.
Search and filter transactions with pagination.
curl "http://localhost:8000/api/reports?action=search&start_date=2025-09-01&end_date=2025-09-30&page_size=20"Parameters:
page- Page number (default: 1)page_size- Results per page (default: 10, max: 100)start_date- Start date (YYYY-MM-DD)end_date- End date (YYYY-MM-DD)transaction_id- Specific transaction IDpayment_type- Payment type filterstatus- Transaction status (e.g., CAPTURED, DECLINED)amount_min- Minimum amountamount_max- Maximum amountcard_last_four- Last 4 digits of card
Retrieve detailed information for a specific transaction.
curl "http://localhost:8000/api/reports?action=detail&transaction_id=TRN_123456"Required: transaction_id
Get settlement information for a date range.
curl "http://localhost:8000/api/reports?action=settlement&start_date=2025-09-01&end_date=2025-09-30"Parameters:
page,page_size- Paginationstart_date,end_date- Date range
Export transaction data in JSON, CSV, or XML format.
CSV Export:
curl "http://localhost:8000/api/reports?action=export&format=csv&start_date=2025-09-01&end_date=2025-09-30" -o transactions.csvXML Export:
curl "http://localhost:8000/api/reports?action=export&format=xml&start_date=2025-09-01&end_date=2025-09-30" -o transactions.xmlJSON Export:
curl "http://localhost:8000/api/reports?action=export&format=json&start_date=2025-09-01&end_date=2025-09-30"Parameters:
format- Export format:json,csv, orxml(required)- Plus all search filters
Get aggregate statistics for transactions.
curl "http://localhost:8000/api/reports?action=summary&start_date=2025-09-01&end_date=2025-09-30"Returns:
- Total transaction count
- Total amount
- Average amount
- Status breakdown
- Payment type breakdown
Get dispute information with filtering.
curl "http://localhost:8000/api/reports?action=disputes&start_date=2025-09-01&end_date=2025-09-30"Parameters:
page,page_size- Paginationstart_date,end_date- Date rangestage- Dispute stagestatus- Dispute status
Get Dispute Details:
curl "http://localhost:8000/api/reports?action=dispute_detail&dispute_id=DIS_123456"Get deposit information and details.
curl "http://localhost:8000/api/reports?action=deposits&start_date=2025-09-01&end_date=2025-09-30"Parameters:
page,page_size- Paginationstart_date,end_date- Date rangedeposit_id- Filter by deposit IDstatus- Deposit status
Get Deposit Details:
curl "http://localhost:8000/api/reports?action=deposit_detail&deposit_id=DEP_123456"Get declined transactions with analysis.
curl "http://localhost:8000/api/reports?action=declines&start_date=2025-09-01&end_date=2025-09-30"Returns transaction data plus decline analysis:
- Decline reasons breakdown
- Card type breakdown
- Hourly decline patterns
Get a combined report across all transaction types.
curl "http://localhost:8000/api/reports?action=date_range&start_date=2025-09-01&end_date=2025-09-30&transaction_limit=100"Parameters:
start_date,end_date- Date rangetransaction_limit- Max transactions (default: 100, max: 1000)settlement_limit- Max settlements (default: 50, max: 500)dispute_limit- Max disputes (default: 25, max: 100)deposit_limit- Max deposits (default: 25, max: 100)
Returns:
- Transactions
- Settlements
- Disputes
- Deposits
- Comprehensive summary
Get batch report information.
curl "http://localhost:8000/api/reports?action=batches&start_date=2025-09-01&end_date=2025-09-30"All endpoints support POST requests with JSON body:
curl -X POST http://localhost:8000/api/reports \
-H "Content-Type: application/json" \
-d '{
"action": "search",
"start_date": "2025-09-01",
"end_date": "2025-09-30",
"page_size": 50,
"status": "CAPTURED"
}'{
"success": true,
"data": {
"transactions": [...],
"pagination": {
"page": 1,
"page_size": 10,
"total_count": 42
}
},
"timestamp": "2025-10-01T12:00:00.123Z"
}{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Error description",
"timestamp": "2025-10-01T12:00:00.123Z"
}
}curl "http://localhost:8000/api/reports?action=summary&start_date=2025-09-30&end_date=2025-09-30"curl "http://localhost:8000/api/reports?action=search&transaction_id=TRN_abc123"curl "http://localhost:8000/api/reports?action=export&format=csv&start_date=2025-09-01&end_date=2025-09-30" -o september_transactions.csvcurl "http://localhost:8000/api/reports?action=declines&start_date=2025-09-01&end_date=2025-09-30"curl "http://localhost:8000/api/reports?action=settlement&start_date=2025-09-30"- Date Format: All dates must be in
YYYY-MM-DDformat - Pagination: Page size is limited to 100 items maximum
- Export Limits: Exports are capped at 1000 transactions
- Timestamps: All response timestamps use ISO 8601 format
- CORS: Enabled for cross-origin requests
View complete API documentation:
curl http://localhost:8000/api/reports