Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Install
Works with Drupal: 8.xUsing Composer to manage Drupal site dependencies
Alternative installation files
Download commerce-8.x-2.0-beta6.tar.gztar.gz
352.16 KB
MD5: 9a602fe619c9bb337c84744ea2680f4b
SHA-1: dc9f8e5b2c314950bd7e8c95f724bf4b78b2e7fa
SHA-256: 0aff887bdab41da1b58e4794abcc8641e969dad3ce5c39e4a8e98c27fc3a898f
Download commerce-8.x-2.0-beta6.zipzip
798.06 KB
MD5: 7f85dc93c8162a5394ebc67280d38c33
SHA-1: 6d12f689a631b7b33430d7d0392995413bac0fec
SHA-256: 04d614d048ce9aafe5ca9f04cc11f49e542a71c1137420dffc1db9718e18b3e2
Release notes
28 contributors, 78 commits. Over 25 bug fixes, at least 3 critical, with major improvements to checkout and payments.
Customer-visible checkout changes:
- Checkout now supports selecting between multiple payment gateways.
- The checkout back button is now a link, for better UX.
- The store country is now preselected on all address forms, and the available countries are properly restricted to the store setting.
- Modifying the cart now resets the checkout step.
- Order summary now shows adjustments (promotions, shipping costs, etc)
Changes since 8.x-2.0-beta5:
- #2845793 by bmcclure, bojanz, ransomweaver: [Data loss] Entity trait / product attribute / product variation type get de-selected automatically
- Revert a piece of #2861002 that broke shipping.
- #2861482 by bojanz: CheckoutPaneBase should contain the entity type manager
- #2860489 by Dom.: PHP Notice: Undefined index: weight in [...]EntityViewDisplay->buildMultiple() line 270
- #2861002 by mglaman: Coupon redemption form needs severe improvements and bug fixes (#678)
- #2854852 by bojanz: Payment gateway JS is not always loaded
- #2861003 by mglaman: Allow specifying form element labels and descriptions in coupon redemption element
- CheckoutFlow::buildOrderSummary() should not be a public method.
- #2824320 by czigor, bojanz: Checkout access is incomplete
- #2833780 by mglaman, bojanz: Cancelled orders that are carts keep having products added to them
- #2859608 by bojanz: Shorten the back links on checkout
- #2858423 by OWast, bojanz: Add a twig template for the empty cart page
- #2855836 by mglaman, vasike, bojanz: Coupon codes need unique value validation constraint
- #2857357 by vasike, bojanz, Berdir: Replace entity.query usage (#661)
- #2857560 by vasike, bojanz: Complete the coupon <-> promotion data model
- Revert phpcs travis changes, remove duplicate composer self-update.
- #2840976 by vasike, bojanz: Hide the PaymentProcess pane if PaymentInformation is hidden
- Use run-test.sh runner to add concurrency. (#654)
- #2827144 by vasike, borisson_, rgpublic, bojanz, sumanthkumarc: Support multiple payment gateways on Checkout Payment information pane
- #2832493 by mglaman, vasike, arosboro, bojanz: Checkout shows payment methods which cannot be reused
- #2844178 by floretan: Add data to order items
- #2846596 by floretan: RemoteId fields cannot use "0" as a value
- Fix phpcs failures introduced by new coder version.
- #2857064 by Berdir: Improve the handling of unknown gateway types in the PaymentProcess pane
- #2855762 by mglaman: Create a coupon redemption element
- #2855815: Add custom coupon storage, provide loadByCode method.
- #2855119 by mglaman, niko-: Use a separate order processor for coupon based promotions
- #2855104 by mglaman, niko-: Orders should have a field containing the coupons that have been redeemed
- Add missing schema.
- #2855118 by mglaman, niko-: Coupon status should be exposed in UI
- #2831955 by bojanz, GoZ: Allow available currencies to be restricted on the commerce_price field type
- #2854425 by niko-, mglaman, bojanz: CheckoutPane::buildPaneSummary() should return renderable arrays
- #2822211 by bojanz, steveoliver: The allowed billing addresses are not reflected on the checkout widget
- #2831914 by mitrpaka, mglaman: PaymentStorage should provide a method to load an orders payments
- #2854776: by sumanthkumarc: back link from review pane to order information. (#643)
- #2839398 by vasike: Log templates should have access to the source entity
- #2847234 by bmcclure, bojanz: Can't link to a product variation using core's StringFormatter
- #2851388 by maciej.zgadzaj: Checkout flow: Authorize only transaction mode form setting not checked (#632)
- #2849342 by steveoliver: Allow the activity log table to be ordered by date (ASC/DESC) (#642)
- #2852273 by mitrpaka: Fatal error when trying to render an add to cart form for a product with no active variations
- #2821821 by mbreden: Create testCreatePromotionWithEndDate
- #2854623 followup: Add a base form ID for checkout flows.
- #2851477 by sumanthkumarc, harings_rob: Modifying the cart should reset the checkout step and go back to first step instead of skipping
- #2854623 by bmcclure: Checkout form ID should have a common prefix (#641)
- #2840535 by bojanz, mglaman: The adjustments field type should not be available from the UI
- #2854145 by bojanz, googletorp: Order payment method should be selectable and default
- Checkout panes added via default_step should appear on the bottom.
- #2848519: Grant all view access to logs. (#623)
- #2849495: Improve and Remove unnecessary code from CartIntegrationTest (#628)
- #2845362 by ndf: Require stable versions of Entity API and Address
- #2849523 by mikeNCM: CheckoutFlowWithPanesBase::buildForm() should skip non-visible panes
- #2849502: Remove form_state object reference (#629)
- #2840357 by niko-, jsacksick: CartEntityAddEvent doesn't get the combined order item
- Expand the list of unset fields in commerce_cart_form_entity_form_display_edit_form_alter().
- #2842356 by agoradesign: Rethink the default order number generation (#609)
- #2840669: Expand order logging to cover all state changes. (#603)
- #2831953 by bojanz, garnett2125: Expand CommerceBrowserTestBase for stores
- #2832927: Add per-order-type theme suggestions for the order receipt (#616)
- #2842274: Price Amount should be allowed to be negative (for adjustments) (#612)
- #2844917 by bojanz: Create a commerce_profile_select form element and field widget
- #2845097: Introduce a CommerceElementBase
- Pass the transaction mode from checkout to the offsite payment form (#595)
- Create a resolver API for picking a checkout flow (#533)
- Avoid WSOD when adding a new gateway (#606)
- #2834628 by googletorp, mglaman: Fatal error when adding a order item to cart which doesn't have a purchaseable entity (#607)
- #2659032 by mglaman, steveoliver: Add the cache contexts for the cart block (#586)
- #2757585 by mglaman, mbreden: Replace deprecated asserts from assertLegacyTrait (#604)
- #2840864 followup: Fix the OrderTotalSummary key name (amount -> total)
- Fix ConfigurableFieldManager::hasData() crash with physical fields, invalid conflcit detection in EntityTraitManager.
- #2840864 by steveoliver, bojanz: Implement the order summary totals
- #2841734: Introduce the concept of entity trait plugins
- #2826485 by mglaman: Product::getDefaultVariation does not check if user has access to variation (#599)
- #2841910: Create a ConfigurableFieldManager
- #2837777 by jsacksick: Provide a commerce_plugin_radios field widget
- #2840539 by skyredwang: Number validation initially fails for NULL values
- #2816237: Create an AdjustmentType plugin for Adjustments (#592)
- #2839426 by mglaman: commerce_log crashes if commerce_cart is is not enabled (#591)
- Add commerce_log to the UninstallTest.
- #2747857: Convert the checkout back button to a link