nokimaro/liontech-php-sdk
Community-maintained PHP 8.3+ SDK for FusionPayments (formerly LionTech). Type-safe, domain-oriented API covering orders, payments, refunds, payouts, tokens, transfers, balances; PSR-18 compatible, supports token refresh, webhook verification, and RSA card encryption.
baseUrl switched from https://api.liontechnology.ai to https://api.fusionpayments.iosecureUrl switched from https://secure.liontechnology.ai to https://secure.fusionpayments.ioClientBuilder::sandbox() now points to https://api.sandbox.fusionpayments.io and https://secure.sandbox.fusionpayments.iocomposer.json description updated to reflect the FusionPayments brandbaseUrl/secureUrlnokimaro/liontech-php-sdk) and namespace (Nokimaro\LionTech) are unchanged in this releaseexamples/04_webhook_verification.php to use WebhookPayload::fromJson() with typed DTO accessisSuccessful() / isDeclined() helpersWebhookPayload DTO — parse raw webhook JSON via WebhookPayload::fromJson($json) into typed objectsWebhookError value object with hasError() helper for error envelope fieldWebhookEventType enum for webhook type discriminationerror.details[].description values are now appended to exception messages for richer diagnostics
(e.g. Invalid input parameters. Payment method is not enabled for this merchant site.)PaymentData::sbp() now serializes paymentData.object as {} (empty JSON object) instead of [], fixing Go unmarshal errors on the API gatewaySbpData class — replace PaymentData::sbp(new SbpData(...)) with PaymentData::sbp()EncryptionKeyClient with the correct encryption key endpoint; encryption key retrieval moved out of SignatureClientJson::decodeObject() helper for envelope-wrapped single-object responsesCreateOrderRequest::$description is now a required constructor parameter — the API returns 400 without it despite being marked optional in the OpenAPI specCreateRefundRequest::$webhookUrl is now a required constructor parameter — the API returns 400 without it; previously the SDK silently omitted it when nullApiExceptionMapper now correctly unwraps the {type, object, error} response envelope before reading error detailsTransport::get() now applies auth headers on GET requests (were silently missing)ResponseStatus value object preserving changedAt and description fields from the API response; previously only value was keptPaymentResponse::$paymentMethod changed from PaymentData|null to ?string per OpenAPI specPayoutResponse::$paymentMethod changed from silently-nulling array to ?string per OpenAPI specisFinal() / isSuccessful() / isDeclined() now delegate through ResponseStatusphp-http/multipart-stream-builder production dependency — was never used; all API endpoints use application/jsonRequests\*, Responses\*)Http\ApiClient with automatic token refresh on 403 errorsClientBuilder for fluent SDK construction with ->sandbox() shortcutSecurity\WebhookSignatureVerifier — webhook signature verification (RSA)Security\CardEncryptor — card data encryption (RSA-OAEP-256)AuthenticationException, TokenExpiredException, ValidationException, ResourceNotFoundException, ConflictException, RateLimitException, TransportExceptionHow can I help you explore Laravel packages today?