Repository navigation
Releases: nokimaro/liontech-php-sdk
Release list
v1.2.0
What's Changed
- chore(deps): bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #15
- chore: switch default URLs to fusionpayments.io (v1.2.0) by @nokimaro in #16
Full Changelog: v1.1.4...v1.2.0
v1.1.4
Fixed
- Webhook signature verification now uses correct RSA PKCS1v1.5 padding instead of PSS — fixes signature validation failures against LionTech production webhooks (#14)
What's Changed
- Update CODE_OF_CONDUCT.md by @nokimaro in #12
- docs: fill in CHANGELOG for v1.0.1 through v1.1.3 by @nokimaro in #13
- fix: use PKCS1v1.5 padding for webhook signature verification by @nokimaro in #14
Full Changelog: v1.1.3...v1.1.4
v1.1.3
Documentation
- Updated README webhook section with typed
WebhookPayloadusage example - Updated
examples/04_webhook_verification.phpwithisSuccessful()/isDeclined()/errorhandling
What's Changed
Full Changelog: v1.1.2...v1.1.3
v1.1.2
New Features
- Added
WebhookPayloadDTO for parsing incoming webhook notifications viaWebhookPayload::fromJson($json) - Added
WebhookErrorDTO withhasError()helper - Added
WebhookEventTypeenum
Usage
$webhook = WebhookPayload::fromJson(file_get_contents('php://input'));
if ($webhook->payment->isSuccessful()) {
// fulfil the order
}
if ($webhook->error?->hasError()) {
// log $webhook->error->description
}What's Changed
Full Changelog: v1.1.1...v1.1.2
v1.1.1
Bug Fixes
- Fixed SBP
paymentData.objectserialization — was sending[](array), now correctly sends{}(empty object) as required by the API - Exception messages now include
error.details[].descriptionvalues for richer diagnostics (e.g.Invalid input parameters. Payment method is not enabled for this merchant site.)
Breaking Changes
SbpDataclass removed — replacePaymentData::sbp(new SbpData(...))withPaymentData::sbp()(no arguments)
What's Changed
- docs: add Laravel integration reference and API compliance report by @nokimaro in #7
- Update LICENSE.md by @nokimaro in #8
- fix: SBP empty object serialization and richer exception messages by @nokimaro in #9
Full Changelog: v1.1.0...v1.1.1
v1.1.0
What's Changed
Bug Fixes
-
CreateOrderRequest:descriptionis now a required constructor parameter. The API was returning HTTP 400 when this field was absent, despite the OpenAPI spec marking it as optional. -
CreateRefundRequest:webhookUrlis now a required constructor parameter. The API requires this field — previously the SDK silently omitted it whennull, causing silent 400 errors at runtime. -
ApiExceptionMapper: Fixed error extraction to unwrap the API response envelope{type, object, error}before reading error details. Previously error messages were lost on non-2xx responses. -
Transport: FixedGETrequests to apply authentication headers (were missing). -
Client/EncryptionKeyClient: Moved encryption key retrieval to a dedicatedEncryptionKeyClientusing the correct endpoint. The previous implementation usedSignatureClientwith the wrong endpoint.
Internal
- Added
Json::decodeObject()helper for envelope-wrapped single-object responses. - Updated all unit tests to reflect corrected constructors and response fixtures.
Breaking Changes
CreateOrderRequest::__construct()—descriptionis now the 2nd positional argument and is required (no default). Code using named arguments is unaffected ifdescriptionwas already passed; code omitting it will get a compile-time error.CreateRefundRequest::__construct()—webhookUrlis now the 3rd positional argument and is required (no default).
Migration
// Before
new CreateOrderRequest(amount: $amount);
new CreateRefundRequest(amount: $amount, paymentId: $id);
// After
new CreateOrderRequest(amount: $amount, description: 'Your description');
new CreateRefundRequest(amount: $amount, paymentId: $id, webhookUrl: 'https://example.com/webhook');What's Changed
Full Changelog: v1.0.1...v1.1.0
v1.0.1
What's Changed
Bug Fixes
- Fix response mappers to align with OpenAPI spec (#5)
- Add
ResponseStatusvalue object —statusfield now exposesvalue,changedAt, anddescriptioninstead of discarding the latter two - Fix
PaymentResponse::$paymentMethodtype: wasPaymentData|null(request VO), now?stringper spec - Fix
PayoutResponse::$paymentMethodtype: wasarray|null(silently returnednullfor string values), now?stringper spec
- Add
Full Changelog: v1.0.0...v1.0.1
What's Changed
- chore(deps-dev): update symplify/easy-coding-standard requirement from ^12.3 to ^12.3 || ^13.0 by @dependabot[bot] in #1
- chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #2
- chore: remove unused php-http/multipart-stream-builder dependency by @nokimaro in #3
- docs: fix constructor examples, license year, and review policy by @nokimaro in #4
- fix: align response mappers with OpenAPI spec by @nokimaro in #5
New Contributors
- @dependabot[bot] made their first contribution in #1
- @nokimaro made their first contribution in #3
Full Changelog: v1.0.0...v1.0.1
1.0.0
Full Changelog: https://github.com/nokimaro/liontech-php-sdk/commits/v1.0.0
Full Changelog: https://github.com/nokimaro/liontech-php-sdk/commits/v1.0.0