v2.3.0
Changelog
All notable changes to laravel-eupago will be documented in this file.
[2.3.0] - 2026-01-16
Added
Payment Methods
-
Credit Card Single Payments: Full support for credit card payments with 3D Secure
- Maximum transaction value: €3,999
- Supports customer email and custom form timeout
- Callback support with
CC:PTpayment method code - New
CreditCardclass,CreditCardReferencemodel, andCreditcardabletrait
-
Credit Card Recurring Payments (Subscriptions): MIT (Merchant Initiated Transactions) support
- Two-step process: Authorization + Recurring Payments
CreditCardRecurrenceclass for creating authorizationsCreditCardRecurringPaymentclass for executing recurring charges- New
CreditCardRecurrenceAuthorizationandCreditCardRecurringPaymentmodels Creditcardrecurrabletrait for subscription management
-
Google Pay: Digital wallet payment integration
- Maximum transaction value: €99,999
- Supports customer data (email, first name, last name, country code)
- Callback support with
GP:PTpayment method code - New
GooglePayclass,GooglePayReferencemodel, andGooglepayabletrait
-
Apple Pay: Apple digital wallet payment integration
- Full customer data support (email, first name, last name, country code)
- Callback support with
AP:PTpayment method code - New
ApplePayclass,ApplePayReferencemodel, andApplepayabletrait
-
Payouts Management: OAuth-based payout consultation
Payoutclass for listing payouts by date rangePayoutTransactionclass for listing settlement transactions- Bearer Token authentication support
- Support for all payment methods (MB, MBWAY, CC, GP, AP)
Events System
-
Credit Card Events:
CreditCardReferenceCreated/CreditCardReferenceCreationFailedCreditCardReferencePaidCreditCardRecurrenceAuthorizationCreated/CreditCardRecurrenceAuthorizationFailedCreditCardRecurrenceAuthorizationAuthorizedCreditCardRecurringPaymentCreated/CreditCardRecurringPaymentFailed
-
Google Pay Events:
GooglePayReferenceCreated/GooglePayReferenceCreationFailedGooglePayReferencePaid
-
Apple Pay Events:
ApplePayReferenceCreated/ApplePayReferenceCreationFailedApplePayReferencePaid
-
Core Events:
MBReferenceCreated/MBReferenceCreationFailedMBWayReferenceCreated/MBWayReferenceCreationFailedMBReferencePaidMBWayReferencePaidMBReferenceExpired/MBWayReferenceExpiredCallbackReceived(dispatched for all payment callbacks)InvalidCallbackReceived
Database & Models
-
Migrations:
create_credit_card_references_tablecreate_credit_card_recurrence_authorizations_tablecreate_credit_card_recurring_payments_tablecreate_google_pay_references_tablecreate_apple_pay_references_table
-
Models:
CreditCardReferencewithpaid()scopeCreditCardRecurrenceAuthorizationwithauthorized()andpending()scopesCreditCardRecurringPaymentwithpaid()scope and authorization relationshipGooglePayReferencewithpaid()scopeApplePayReferencewithpaid()scope
-
Factories:
CreditCardReferenceFactorywithpaid()stateCreditCardRecurrenceAuthorizationFactorywithauthorized()andpending()statesCreditCardRecurringPaymentFactorywithpaid()stateGooglePayReferenceFactorywithpaid()stateApplePayReferenceFactorywithpaid()stateMbReferenceFactorywithpaid()andexpired()statesMbwayReferenceFactorywithpaid()state
Infrastructure & Quality
- PHP 8.4 Support: Full support for PHP 8.4 alongside PHP 8.3
- Laravel 12 Support: Compatible with Laravel 12.x while maintaining Laravel 11.x support
- Pest Testing Framework: Comprehensive test suite with 165 tests and 691 assertions
- Larastan Static Analysis: Level 5 PHPStan/Larastan integration
- GitHub Actions CI/CD: Automated testing across PHP 8.3/8.4 and Laravel 11/12 matrix
- Composer Scripts:
composer test: Run Pest test suitecomposer test:coverage: Run tests with 80% minimum coverage requirementcomposer analyse: Run Larastan static analysis
Commands
- Artisan Command:
eupago:check-expiredto check and dispatch events for expired references - Supports Laravel 11/12 scheduling via
routes/console.php - Backward compatible with Laravel 10 via
app/Console/Kernel.php
Changed
- Callback Controller: Unified endpoint handling all payment methods (MB, MBWAY, CC, GP, AP)
- Backward Compatible: All new features maintain full backward compatibility
- Updated
composer.jsonrequirements:- PHP:
^8.3 || ^8.4(was^8.3) - Laravel:
^11.0 || ^12.0(was^11.0)
- PHP:
- Payment creation methods now dispatch events on both success and failure
- Callback controller dispatches
CallbackReceivedevent for all incoming callbacks
Fixed
- Removed debug
dd($data)statement inMB::getParams()(line 191) - Fixed typo 'refrencia' → 'referencia' in
CallbackRequestvalidation rules - Added missing return statement in
Mbable::createMbReference()method - Removed unused
MbCallbackRequestimport inCallbackController
Documentation
- Comprehensive README Update:
- Complete documentation for all 7 payment methods
- Laravel 11/12 compatibility notes (event listeners, scheduling)
- All 19 events documented with usage examples
- Code examples for every payment method
- Factory usage examples for testing
- Updated "About DigitalDev" section
- Added CONTRIBUTING.md with contribution guidelines
- Created detailed CHANGELOG.md
Testing
- 165 Tests covering all payment methods and features
- 691 Assertions ensuring code reliability
- Unit tests for all classes (MB, MBWay, CreditCard, CreditCardRecurrence, CreditCardRecurringPayment, GooglePay, ApplePay, Payout, PayoutTransaction)
- Model tests for all payment reference models
- Trait tests for all polymorphic relationships
- Feature tests for callback handling across all payment methods
- Command tests for expired reference checking
[2.2.0] - Previous Release
Added
- PHP 8.3 and Laravel 11 support
- Support to MB and MBWay payment methods
[2.1.0] - Legacy Release
Added
- PHP 8.1+ and Laravel 10 support
- Initial implementation of EuPago payment integration