HooPay Docs
| API Reference v1.0
Sandbox
← Home

Models

Reference documentation for all data models used in the API.

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_idstringHooPay's unique pay-user transaction ID
reference_idstringYour unique reference
user_wallet_idstringTarget wallet ID
amountnumberAmount paid to user
currencystringCurrency code
statusstringpending, 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_idstringHooPay's unique refund ID
reference_idstringYour unique refund reference
refund_typestring"pay-user" or "collect-from-user"
amountnumberRefund amount
fee_refundednumberFee amount refunded
statusstringpending, processing, completed, failed
reasonstringReason 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"
      }
    ]
  }
}