Releases: sudiptpa/esewa-sdk-php
Releases · sudiptpa/esewa-sdk-php
v3.0.1
v3.0.1 Release Notes
Highlights
- Stabilized the
v3package line after the modernization release. - Composer package remains
sudiptpa/omnipay-esewa. - Public SDK shape is now clearly centered around:
Sujip\EsewaOmnipay\Esewa
- Improved model-first design across checkout, callback verification, and transaction status flows.
- Added typed value objects for:
- amount
- transaction UUID
- product code
- reference ID
- Added
fromArray()/toArray()support across core request and result models. - Strengthened production safety:
- callback signature verification
- anti-fraud expectation matching
- replay protection with persistent stores
- retry policy abstraction
- clock abstraction for deterministic replay/expiry logic
- Zero-dependency runtime core with built-in
CurlTransport. - Optional PSR-18 transport support retained.
- Optional Omnipay bridge added for Omnipay-style integrations.
- Replay protection now supports:
- in-memory store for tests
- filesystem store
- PDO-backed store
- Documentation refreshed:
- README
- user guide
- migration guide
- architecture guide
- CI and package metadata aligned with current support policy.
Important Changes Since v3.0.0
- Public branding and examples now consistently reflect
eSewa PHP SDK. - Minimum supported PHP version is now
8.2. - PHP support is now
8.2to8.5. - CI matrix now targets the supported versions only.
Breaking Changes
- Minimum PHP version changed from
8.1to8.2. - The preferred framework-agnostic entry point is now:
Sujip\Esewa\Esewa::make(...)
- Integrations relying on undocumented
v3.0.0transitional naming should move to the final public namespaces.
Upgrade Guide
- Update package:
composer require sudiptpa/omnipay-esewa:^3.0
- Use the framework-agnostic entry point:
Sujip\Esewa\Esewa::make(...)
- Use typed request models for the main flows:
CheckoutRequestCallbackPayloadVerificationExpectationTransactionStatusRequest
- For callback handling:
- verify on the backend
- branch on verification state
- do not trust redirect-only success
- For production:
- use
FilesystemIdempotencyStoreorPdoIdempotencyStore - keep replay protection enabled
- keep anti-fraud expectation checks enabled
- use status reconciliation when callback state is uncertain
- use
- For Omnipay-style integrations:
- use
Omnipay\Esewa\SecureGateway
- use
Notes
- This release is a stabilization release for the
v3line. - It focuses on API cleanup, PHP compatibility alignment, CI reliability, stronger typing, and production hardening.
v2.0.1
- Added documentation guide for Epay API v2
- Added working samples
- Added a helper function to generate the signature string