API Reference

Complete API documentation for integrating cryptocurrency payments

API Reference

Complete API documentation for the ZEUSXPAY Merchant API.

Authentication

All API endpoints require authentication using your Project API Key.

Getting Your API Key

  1. Log into your ZEUSXPAY dashboard
  2. Navigate to your project settings
  3. Copy your API Key (starts with sk_live_ or sk_test_)

Using Your API Key

Include your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY_HERE

Base URL

https://api.zeusxpay.io

Create Transaction

Create a new payment transaction. Customers choose their preferred token on the payment page.

Endpoint: POST /api/transactions/create

Authentication: Required (API Key)

Request:

{
	"amount": 99.99,
	"customer_email": "customer@example.com",
	"customer_name": "John Doe",
	"order_id": "ORDER-12345",
	"order_description": "Premium Subscription",
	"success_url": "https://yoursite.com/success",
	"cancel_url": "https://yoursite.com/cancel",
	"expires_in_minutes": 60
}

Response:

{
	"success": true,
	"transaction": {
		"id": "550e8400-e29b-41d4-a716-446655440000",
		"transaction_number": "TXN-2024-001234",
		"status": "created",
		"amount_usd": 99.99,
		"currency": "USD",
		"payment_url": "https://zeusxpay.io/pay/550e8400-e29b-41d4-a716-446655440000",
		"created_at": "2024-11-12T10:00:00Z",
		"expires_at": "2024-11-12T11:00:00Z"
	},
	"payment_url": "https://zeusxpay.io/pay/550e8400-e29b-41d4-a716-446655440000"
}

Get Transaction

Retrieve detailed information about a specific transaction.

Endpoint: GET /api/transactions/{id}

Authentication: Required (API Key)

Response:

{
	"success": true,
	"transaction": {
		"id": "550e8400-e29b-41d4-a716-446655440000",
		"transaction_number": "TXN-2024-001234",
		"status": "completed",
		"amount_usd": 99.99,
		"currency": "USD",
		"transaction_hash": "0x...",
		"completed_at": "2024-11-12T10:15:00Z"
	}
}

List Transactions

Get a paginated list of transactions for your project.

Endpoint: GET /api/transactions/project/{projectId}

Authentication: Required (API Key)

Query Parameters:

  • status - Filter by status (e.g., “completed”, “pending”)
  • limit - Results per page (1-100, default: 50)
  • offset - Pagination offset (default: 0)

Response:

{
  "success": true,
  "transactions": [...],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "total": 150,
    "has_more": true
  }
}

Transaction Statistics

Get aggregated statistics for your project.

Endpoint: GET /api/transactions/stats

Authentication: Required (API Key)

Query Parameters:

  • start_date - Start date (ISO format)
  • end_date - End date (ISO format)
  • testing_mode - Include test transactions (default: false)

Response:

{
	"success": true,
	"stats": {
		"total_transactions": 150,
		"total_volume_usd": 125000.0,
		"completed_transactions": 142,
		"conversion_rate": 94.67,
		"by_status": {
			"completed": 142,
			"pending": 3,
			"failed": 5
		}
	}
}

Transaction Statuses

  • created - Transaction created, awaiting token selection
  • prepared - Token selected, payment details ready
  • pending - Awaiting customer payment
  • processing - Payment detected, processing
  • confirming - Waiting for blockchain confirmations
  • completed - Payment confirmed and completed
  • failed - Payment failed
  • expired - Transaction expired
  • cancelled - Transaction cancelled

Error Handling

All endpoints return consistent error responses:

{
	"success": false,
	"message": "Error description"
}

Common HTTP Status Codes:

  • 200 - Success
  • 400 - Bad Request (validation error)
  • 401 - Unauthorized (invalid or missing API key)
  • 403 - Forbidden (project not active)
  • 404 - Not Found
  • 500 - Internal Server Error

Example Integration

// Create a payment transaction
async function createPayment(amount, orderId) {
	const response = await fetch('https://api.zeusxpay.io/api/transactions/create', {
		method: 'POST',
		headers: {
			Authorization: `Bearer ${API_KEY}`,
			'Content-Type': 'application/json'
		},
		body: JSON.stringify({
			amount: amount,
			order_id: orderId,
			success_url: 'https://yoursite.com/success',
			cancel_url: 'https://yoursite.com/cancel'
		})
	});

	const data = await response.json();
	return data.transaction;
}

// Check transaction status
async function checkStatus(transactionId) {
	const response = await fetch(`https://api.zeusxpay.io/api/transactions/${transactionId}`, {
		headers: {
			Authorization: `Bearer ${API_KEY}`
		}
	});

	const data = await response.json();
	return data.transaction;
}

Additional Resources

Need Help?