Changelog¶
Release history of the SecPaid Payment API.
Unreleased¶
- Absolute split fix: Corrected calculation where absolute shares consumed the entire payment leaving the link owner with €0
- Multiple refunds for split links: Recipients in a split link can now be refunded individually
- Dispute auto-submit: Dispute evidence documents are automatically generated and uploaded
- Dispute document webhook: External webhook for dispute document URLs when
DISPUTE_DOC_URLis configured - Checkout UI redesign: Cleaner mobile/desktop payment page with reduced spacing
- Logo fix: Added missing SecPaid logo SVG to repository
v1.12.2 — 2026-02-24¶
Performance & stability hotfixes.
- Performance: Optimized
getPayInTransactionsquery (19s → 50ms) with proper indexing - Fix: Split payment recipient mapping to wrong user resolved
- Fix: Null check on disputed transaction in disputes frontend
- Fix: Evidence upload increased to nginx 25M / PHP 10M
- Fix: Use
abs()on refund amount to prevent negative cents sent to payment provider - Fix: Restored
json_encodeon dispute webhook evidence details - Database: Added performance indexes on
payment_mastertable
v1.12.1 — 2026-02-24¶
- Refund API: Direct refund processing (auto-approve path)
- Dispute UI: Admin dispute management panel
- Fix: File upload switched to
multipart/form-data - Fix: Evidence upload size capped at 4.5 MB
- Webhook resend:
sendWebhookViaPayIdAPI for manually re-triggering webhooks - Security: Removed hardcoded tokens, legacy references cleaned up
v1.12.0 — 2026-02-23¶
- Dynamic endpoints:
payment_endpointandcallback_urlcan now be set per-link via API (URL, index, or comma-separated) - Multiple endpoints: Support for sending webhooks to multiple URLs simultaneously
- Encryption key parameter:
encryption_keynow passable as request parameter - Disputed transaction refunds: Refund flow for dispute-won transactions
- Performance:
getPayInTransactionsserver-side date filtering (46s → 1.3s) - Infrastructure: PHP-FPM
pm.max_childrenincreased from 5 to 50
v1.11.5 — 2025-09-03¶
- Cancellation feature: Customers can cancel payment links (configurable per link)
- Default cancellable:
cancellable = trueby default - Cancel webhook:
payment_endpointreceivesstatus: "cancel"on cancellation
v1.11.3 — 2025-08-19¶
- Admin search optimization: Improved search performance across admin APIs
v1.11.1 — 2025-08-01¶
- PayIn transaction performance: Query optimization for large transaction histories
v1.10.0 — 2025-06-19¶
- Dispute refunds: Separate dispute/refund pages in admin and user dashboards
- Invoice creation: Admin can create invoices manually
- Cancel link: Cancellation feature for payment links
- Refund blocked for invoices: Invoice-type transactions cannot be refunded via API
v1.9.0 — 2025-05-16¶
- Bank transfer confirmation: Admin API to approve/reject bank transfers
- Bank transfer webhook:
payment_endpointcalled on bank transfer approval - Encryption validation: Payment link encryption string validation added
- Won dispute handling: Dispute-won status correctly updates payment records
- New favicon: Updated SecPaid favicon
v1.8.0 — 2025-05-04¶
- Split refunds: Refund mechanism for split payment recipients
- Checkout information: Payment instruction sidebar on checkout page
- User locale: Locale parameter for payment pages
- Personal QR: Fixed static link issue with personal QR codes
- Payout on-hold:
OnHoldpayout status for admin review
v1.7.0 — 2025-04-11¶
- Split links: Distribute payments across multiple recipients with proportional shares
- Absolute split type: Fixed EUR amounts per recipient (
split_type: "absolute") - Personal QR code: Custom-amount QR code links per user
- Multiple callback URLs: Account can configure multiple
callback_urlswith index-based selection - Tax invoice reports: Monthly service fee invoice generation (
getTaxInvoiceList) - Bank transfer: Bank transfer payment method with admin confirmation workflow
- PDF export: Transaction receipts and reports as PDF
- Additional payment methods: Extended payment method support
v1.0.0 — Initial Release¶
- Payment Links: Create, list, delete payment links via API (
createLink,getMyUnusedLinks,getMyUsedLinks,deleteLink) - API Key auth: Simplified API Key authentication
- Card payments: Card payment support via hosted checkout
- Webhooks: Server-to-server payment notifications (
payment_endpoint) - Callbacks: Browser redirects after payment (
callback_url) - Encryption: Optional AES-256-CBC encryption for webhook payloads
- QR codes: Auto-generated QR code images for payment links
- Refunds:
refundPaymentendpoint for full and partial refunds - Transactions:
getPayInTransactions/getPayOutTransactionsfor financial history