Changelog
API Changelog
Section titled “API Changelog”Version 1.1.0 (Current)
Section titled “Version 1.1.0 (Current)”Released: 2026
New Features
Section titled “New Features”Payment Method Selection
Section titled “Payment Method Selection”- New
paymentMethodsfield when creating payment links - Accepts an array of
"yappy"and/or"card" - Validates that specified methods are active on the account
- New error code
ERR_INACTIVE_PAYMENT_METHODwhen a method is not active
Request Customer Email
Section titled “Request Customer Email”- New
requestCustomerEmailfield when creating payment links - When
true, the hosted payment page prompts the customer for their email - Defaults to
truewhen omitted - Cannot be
truewhencustomerEmailis already provided
Payment Provider Filter
Section titled “Payment Provider Filter”- New
paymentProviderquery parameter onGET /v1/payment-links - Filter by provider:
nmi,emetec, oryappy
Updated Response Fields
Section titled “Updated Response Fields”- Payment link responses now include
paymentMethodsandrequestCustomerEmailfields - Cancel endpoint returns a compact response:
hashUrl,customerName,concept,amount,status,createdAt,cancelledAt
Webhook Payload Updates
Section titled “Webhook Payload Updates”transaction.isTestfield added topayment.successwebhook events
Version 1.0.0
Section titled “Version 1.0.0”Initial Release
Section titled “Initial Release”Released: 2025
Features
Section titled “Features”- Payment link management (create, list, retrieve, cancel)
- API key authentication with rate limiting (60 requests/min)
- Webhook support for
payment.successandwebhook.pingevents - Metadata support (up to 20 keys, 8KB total)
- Test mode for sandbox testing
API Endpoints
Section titled “API Endpoints”Public API (API Key Auth)
GET /v1/payment-links- List payment linksGET /v1/payment-links/{hashUrl}- Retrieve payment linkPOST /v1/payment-links- Create payment linkPATCH /v1/payment-links/{hashUrl}/cancel- Cancel payment link
Pagination
Section titled “Pagination”- Uses
lim(limit) andoff(offset) parameters lim: Positive integer for page sizeoff: Non-negative integer for offset
Validation Rules
Section titled “Validation Rules”- 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
- Request Customer Email: Optional boolean, defaults to
true, cannot betruewithcustomerEmail - 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
- Payment Methods: Optional array of
"yappy"/"card", no duplicates, at least 1 when specified
Rate Limiting
Section titled “Rate Limiting”- 60 requests per minute per API key
- Headers:
RateLimit-Limit,RateLimit-Remaining,RateLimit-Reset
Webhooks
Section titled “Webhooks”- 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
Response Format
Section titled “Response Format”All API responses follow a consistent JSON structure:
- Success responses include
success: true,data, optionalmessage, andtimestamp - Error responses include
success: false,message,errorobject withcodeand optionaldetails, andtimestamp
HTTP Status Codes
Section titled “HTTP Status Codes”200OK - Request successful201Created - Resource created successfully400Bad Request - Invalid request data or validation error401Unauthorized - Missing or invalid API key403Forbidden - Account suspended404Not Found - Resource not found429Too Many Requests - Rate limit exceeded500Internal Server Error - Server error
Known Issues
Section titled “Known Issues”None
Future Versions
Section titled “Future Versions”Future API changes and new versions will be documented here. Breaking changes will be introduced under new version paths (e.g., /v2/payment-links).