Releases: code16/laravel-systempay
Release list
v3.0.2
v3.0.2
Warning
v3.0.0 and v3.0.1 shipped with a broken composer.json: the SystemPay → Systempay rename
dropped the full namespace from extra.laravel.providers/aliases, so Laravel's package
auto-discovery silently failed to register the service provider and facade. If you're on
v3.0.0 or v3.0.1, upgrade to v3.0.2.
Fixed
- Fixed package auto-discovery by restoring the fully-qualified class names in
composer.json.
Breaking changes (since v2.1.0)
-
Classes renamed from
SystemPaytoSystempay(Systempay,Facades\Systempay,
SystempayServiceProvider, and allExceptions\*classes). TheSystemPayfacade alias itself
is unchanged — only direct class imports need updating. -
IPN webhook handling consolidated into a
WebhookPayloadobject.validateSignature(),
isValidPayment(),retrieveOrderAndTransaction(), andretrievePaymentAmountAndCurrency()are
removed from the facade. UseformatWebhookPayload()instead:// Before SystemPay::validateSignature($request); SystemPay::isValidPayment($request); [$orderId, $transId, $uuid] = SystemPay::retrieveOrderAndTransaction($request); [$amount, $currency] = SystemPay::retrievePaymentAmountAndCurrency($request); // After $payload = SystemPay::formatWebhookPayload($request); $payload->validateSignature(); $payload->isValidPayment(); $payload->orderId; $payload->transactionId; $payload->transactionUuid; $payload->amount; $payload->currencyCode;
-
Config: REST API password moved under
rest. Update your publishedconfig/systempay.php:// Before 'password' => env('SYSTEMPAY_REST_API_PASSWORD'), // After 'rest' => [ 'password' => env('SYSTEMPAY_REST_API_PASSWORD'), ],
Full Changelog: v2.1.0...v3.0.2
v2.1.0
v2.1.0
- Add
cancel(),refund()andcancelOrRefund()to cancel or refund a transaction via the REST API'sTransaction/CancelOrRefundWeb Service - Add
getTransaction()to retrieve a transaction's full data via theTransaction/GetWeb Service - Add
SystemPayApiException, thrown when a REST API call fails, exposing the decoded Systempay response viaresponse() - Add an optional
passwordconfig key (REST API password, separate from the signingkey), only required to use the new methods above - Update README with usage examples for the new methods
Note
These additions are fully backward-compatible: existing form generation and IPN callback handling are unaffected, and password is only needed if you call cancel(), refund(), cancelOrRefund() or getTransaction().
Full Changelog: v2.0.1...v2.1.0
v2.0.0
v2.0.0
- Drop SHA1 signature support entirely; only HMAC-SHA256 is now accepted
- Remove automatic float-to-cents conversion: callers must pass amounts as integers in the smallest currency unit (e.g. cents)
- Raise a hard exception when a config block has no key, instead of silently defaulting to an empty string
- Add
retrievePaymentAmountAndCurrency()to extractvads_amount/vads_currencyfrom the IPN callback request - Fix the Blade form component's default-button condition
- Update README and tests to reflect all of the above
Breaking change
Warning
SystemPay::set([]) now takes an integer for the amount key (amount in cents)
Note
Fully dropping SHA1 signature generation / validation, please use SHA256
Full Changelog: v1.0.0...v2.0.0