The modern, unified payment engine.
iyzico, PayTR, Sipay, Parampos and seven bank virtual POS systems behind one zero-dependency, type-safe TypeScript engine.
and 3 more banks
11
0
100%
Edge
Everything a payment stack needs.
Payments
Unified Payment API
Never couple business logic to proprietary provider SDKs. Switch between aggregators and direct bank POS on demand.
Basket & Itemized Checkout
Attach sub-merchant IDs and itemized payouts per product with strict validation.
Pre-Auth, Capture & Void
Hold credit card limits without immediate balance deduction.
Stored Cards & Tokenization
Raw card digits never touch your database or application file systems.
Security
Secure HTTP Handler
Timing-safe string comparisons thwarting cryptographic side-channel attacks.
Events & Lifecycle Hooks
Every event handler receives fully typed payloads including amounts and provider IDs.
Normalized Error Codes
Standard enums for card declines, invalid inputs, 3D auth failures, and timeouts.
Extend
Extensible Plugin Architecture
Plugins chain sequentially through a clean middleware pipeline architecture.
Custom Provider Engine
Simply implement the core createPayment, refund, and cancel abstract methods.
Testing Tools & Sandbox
Zero API credentials required: test charges and 3D redirects locally offline.
How a payment flows.
Four steps from request to result, whichever provider you pick.
- 1
Type-Safe Standard Request
Your application calls createPayment. Card, amount, currency and basket metadata adhere to one uniform TypeScript interface.
- 2
Smart Provider Adapter
Better Payment transforms the request into the gateway's native protocol (JSON, SOAP XML, HMAC hash) with zero manual formatting.
- 3
Timing-Safe 3D Secure Verification
When callbacks or webhooks arrive, signatures are checked using constant-time cryptographic verification to prevent timing attacks.
- 4
Normalized Unified Result
Whether the provider approves or fails, error codes, installment details and transaction IDs are normalized for your business logic.