Skip to content

Changelog

Released: 2025

  • Payment link management (create, list, retrieve, cancel)
  • API key authentication with rate limiting (60 requests/min)
  • Webhook support for payment.success and webhook.ping events
  • Metadata support (up to 20 keys, 8KB total)
  • Test mode for sandbox testing

Public API (API Key Auth)

  • GET /v1/payment-links - List payment links
  • GET /v1/payment-links/{hashUrl} - Retrieve payment link
  • POST /v1/payment-links - Create payment link
  • PATCH /v1/payment-links/{hashUrl}/cancel - Cancel payment link
  • Uses lim (limit) and off (offset) parameters
  • lim: Positive integer for page size
  • off: Non-negative integer for offset
  • Amount: 100-200,000 cents ($1.00-$2,000.00)
  • Concept: Required, non-empty string
  • Customer Name: Required, non-empty string
  • Customer Email: Optional, valid email format
  • Redirect URL: Optional, valid URL, max 2048 characters
  • Metadata: Optional, max 20 keys, key length 1-40 chars, max 8KB total, cannot be empty object if provided
  • 60 requests per minute per API key
  • Headers: RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset
  • HTTPS only
  • HMAC-SHA256 signature verification
  • Up to 6 retry attempts with exponential backoff
  • Headers: Zeltapay-Signature, Zeltapay-Timestamp, Zeltapay-Event-Id, Zeltapay-Event-Type, Zeltapay-Delivery-Attempt

All API responses follow a consistent JSON structure:

  • Success responses include success: true, data, optional message, and timestamp
  • Error responses include success: false, message, error object with code and optional details, and timestamp
  • 200 OK - Request successful
  • 201 Created - Resource created successfully
  • 400 Bad Request - Invalid request data or validation error
  • 401 Unauthorized - Missing or invalid API key
  • 403 Forbidden - Account suspended
  • 404 Not Found - Resource not found
  • 429 Too Many Requests - Rate limit exceeded
  • 500 Internal Server Error - Server error

None


Future API changes and new versions will be documented here. Breaking changes will be introduced under new version paths (e.g., /v2/payment-links).