What's Changed
- Refactored checkout to better handle customer attributes, including support for null values.
- Updated checkout payment fields and added email/recovery status for improved tracking.
- Refactored cart: LineItem now uses 'metadata' for plan_id, and CheckoutRepository retrieves plan_id more efficiently.
- Orders now include checkout_id, and checkouts include order_id for improved relationship tracking.
- Updated payment imports to use the correct Payment model.
- Reorganized payment imports and enhanced order data structure in AbstractPaymentProcessor.
- Removed CartRepository class to streamline the codebase.
- Enhanced coupon structure with new fields and relationships.
- Improved discount attribute preparation and validation for line items in checkout.
- Refactored Coupon model and removed its factory.
- Created CouponFactory with enhanced default state and additional states for coupon management.
- Enhanced coupon functionality with product support and refactored discount handling.
- Added MercadoPago and Xendit clients for payment processing.
- Removed is_button field and added global scope for type in Option model.
- Added SSH_HOST environment variable for remote operations in encoder.
- Added option to replace existing settings in updateValue method of AppSetting.
Full Changelog: v5.1.5...v6.1.0