Models
Reference documentation for all data models used in the API.
Quick Navigation
Pay User
Pay User Object
{
"payment_id": "pay_abc123xyz",
"reference_id": "DEP-001",
"user_wallet_id": "wallet_12345",
"amount": 50.00,
"currency": "USD",
"status": "completed",
"description": "Cashback reward",
"metadata": {},
"created_at": "2025-11-27T10:30:00Z",
"completed_at": "2025-11-27T10:30:01Z"
}
| Field | Type | Description |
|---|---|---|
payment_id | string | HooPay's unique pay-user transaction ID |
reference_id | string | Your unique reference |
user_wallet_id | string | Target wallet ID |
amount | number | Amount paid to user |
currency | string | Currency code |
status | string | pending, completed, failed |
Collection
Collection Object
{
"collection_id": "wd_xyz789abc",
"partner_reference": "WD-001",
"user_wallet_id": "wallet_12345",
"amount": 200.00,
"fee_amount": 1.00,
"net_amount": 199.00,
"currency": "USD",
"status": "completed",
"description": "Trading pay-user transaction",
"created_at": "2025-11-27T12:00:00Z",
"completed_at": "2025-11-27T12:00:30Z"
}
WebhookPayload
WebhookPayload Object
{
"event": "pay-user.completed",
"webhook_id": "whk_abc123xyz",
"timestamp": 1701097800,
"data": {
// Event-specific data
}
}
Refund
Refund Object
{
"refund_id": "REF-X7K9M2P4Q1",
"reference_id": "REFUND-001",
"refund_type": "pay-user",
"amount": 100.00,
"fee_refunded": 0.00,
"currency": "USD",
"status": "completed",
"reason": "Customer requested refund",
"created_at": "2025-11-29T10:30:00Z",
"completed_at": "2025-11-29T10:30:01Z"
}
| Field | Type | Description |
|---|---|---|
refund_id | string | HooPay's unique refund ID |
reference_id | string | Your unique refund reference |
refund_type | string | "pay-user" or "collect-from-user" |
amount | number | Refund amount |
fee_refunded | number | Fee amount refunded |
status | string | pending, processing, completed, failed |
reason | string | Reason for the refund |
ErrorResponse
ErrorResponse Object
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request data",
"details": [
{
"field": "amount",
"message": "Amount must be greater than 0"
}
]
}
}