Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Product bundles with subscription items that have custom price strings only return the largest recurring payment #24

Open
csmcneill opened this issue Sep 14, 2021 · 1 comment

Comments

@csmcneill
Copy link

Describe the bug

Identified in 4294135-zen

When changing the price string of a simple subscription that is part of a product bundle, the recurring price of the entire bundle changes to match the largest custom price string in the bundle instead of adding the prices.

To reproduce

  1. Install and activate WooCommerce Subscriptions, WooCommerce Custom Price String, and WooCommerce Product Bundles.
  2. Create and publish at least 2 simple subscription products at different prices.
  3. Create a product bundle with a price to serve as a one-time fee.
  4. Add the subscription products from step 2 to the bundled product in step 3.
  5. Ensure each bundled product has Priced Individually enabled.
  6. Publish the product bundle.
  7. Navigate to the product bundle page and note the listed price of the product bundle is the one-time fee and an additive amount of the recurring payments associated with the subscription products.
  8. Navigate to the product details for the subscriptions created in step 2.
  9. Modify the custom price strings for each subscription item.
  10. Update the subscriptions
  11. Navigate to the product bundle page and note the listed price of the product bundle is the one-time fee and the amount for the largest recurring payment of the bundled subscriptions.

Screenshots
Without custom price strings, the recurring payment total in a product bundle with subscriptions is additive:
https://d.pr/i/A1FSJG
Full Size: https://d.pr/i/A1FSJG

With custom price strings, the recurring payment total only takes the highest recurring payment value of the product bundle.
https://d.pr/i/HcJsbQ
Full Size: https://d.pr/i/HcJsbQ

Expected behavior

When custom price strings are used for subscriptions that are a part of a bundle, the combined total of the recurring payments should be returned.

Additional details

System status
`
### WordPress Environment ###

WordPress address (URL): 
Site address (URL): 
WC Version: 5.6.0
REST API Version: ✔ 5.6.0
WC Blocks Version: ✔ 5.5.1
Action Scheduler Version: ✔ 3.2.1
WC Admin Version: ✔ 2.5.1
Log Directory Writable: ✔
WP Version: 5.8.1
WP Multisite: –
WP Memory Limit: 256 MB
WP Debug Mode: –
WP Cron: ✔
Language: en_US
External object cache: –

### Server Environment ###

Server Info: nginx/1.16.0
PHP Version: 7.4.1
PHP Post Max Size: 1,000 MB
PHP Time Limit: 1200
PHP Max Input Vars: 4000
cURL Version: 7.54.0
LibreSSL/2.6.5

SUHOSIN Installed: –
MySQL Version: 8.0.16
Max Upload Size: 300 MB
Default Timezone is UTC: ✔
fsockopen/cURL: ✔
SoapClient: ✔
DOMDocument: ✔
GZip: ✔
Multibyte String: ✔
Remote Post: ✔
Remote Get: ✔

### Database ###

WC Database Version: 5.6.0
WC Database Prefix: wp_
Total Database Size: 9.43MB
Database Data Size: 7.12MB
Database Index Size: 2.31MB
wp_woocommerce_sessions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_order_items: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_order_itemmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_woocommerce_payment_tokens: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_payment_tokenmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_actions: Data: 0.08MB + Index: 0.13MB + Engine InnoDB
wp_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_logs: Data: 0.06MB + Index: 0.03MB + Engine InnoDB
wp_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_comments: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
wp_email_log: Data: 0.27MB + Index: 0.00MB + Engine InnoDB
wp_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_options: Data: 4.05MB + Index: 0.09MB + Engine InnoDB
wp_postmeta: Data: 1.52MB + Index: 0.58MB + Engine InnoDB
wp_posts: Data: 0.17MB + Index: 0.11MB + Engine InnoDB
wp_term_relationships: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_term_taxonomy: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_termmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_terms: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_usermeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_users: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_wc_admin_note_actions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_admin_notes: Data: 0.05MB + Index: 0.00MB + Engine InnoDB
wp_wc_booking_relationships: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_bookings_availability: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_bookings_availabilitymeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_customer_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_deposits_payment_plans: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_deposits_payment_plans_schedule: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_order_bundle_lookup: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
wp_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_order_product_lookup: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_wc_order_stats: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_wc_order_tax_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_product_meta_lookup: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
wp_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_bundled_itemmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_bundled_items: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_shipping_table_rates: Data: 0.02MB + Index: 0.00MB + Engine InnoDB

### Post Type Counts ###

attachment: 19
event_ticket: 4
event_ticket_email: 1
page: 10
post: 3
product: 77
product_variation: 125
revision: 3
shop_order: 8
wc_booking: 2

### Security ###

Secure connection (HTTPS): ❌
  				Your store is not using HTTPS. Learn more about HTTPS and SSL Certificates.
Hide errors from visitors: ✔

### Active Plugins (5) ###

WooCommerce Stripe Gateway: by WooCommerce – 5.4.1
WooCommerce Product Bundles: by SomewhereWarm – 6.12.0 (update to version 6.12.1 is available)
WooCommerce Subscriptions - Custom Price String: by Prospress Inc. – 1.0.4
WooCommerce Subscriptions: by WooCommerce – 3.1.4
WooCommerce: by Automattic – 5.6.0

### Inactive Plugins (10) ###

Amazon Product Importer: by Nxtal – 1.2.4
Email Log: by Sudar – 2.4.5
Hello Dolly: by Matt Mullenweg – 1.7.2
WooCommerce Bookings: by WooCommerce – 1.15.43
WooCommerce Box Office: by WooCommerce – 1.1.35
WooCommerce Braintree Gateway: by SkyVerge – 3.3.3
WooCommerce Deposits: by WooCommerce – 1.5.7
WooCommerce Product CSV Import Suite: by WooCommerce – 1.10.46
WooCommerce Ship to Multiple Addresses: by WooCommerce – 3.6.32 (update to version 3.6.33 is available)
WooCommerce Table Rate Shipping: by WooCommerce – 3.0.33

### Settings ###

API Enabled: –
Force SSL: –
Currency: CAD ($)
Currency Position: left
Thousand Separator: ,
Decimal Separator: .
Number of Decimals: 2
Taxonomies: Product Types: booking (booking)
bundle (bundle)
external (external)
grouped (grouped)
simple (simple)
subscription (subscription)
variable (variable)
variable subscription (variable-subscription)

Taxonomies: Product Visibility: exclude_from_catalog (exclude_from_catalog)
exclude_from_search (exclude_from_search)
exclude-from-catalog (exclude-from-catalog)
exclude-from-search (exclude-from-search)
featured (featured)
outofstock (outofstock)
rated-1 (rated-1)
rated-2 (rated-2)
rated-3 (rated-3)
rated-4 (rated-4)
rated-5 (rated-5)

Connected to WooCommerce.com: ✔

### WC Pages ###

Shop base: #6 - /shop/
Cart: #7 - /cart/
Checkout: #8 - /checkout/
My account: #9 - /my-account/
Terms and conditions: ❌ Page not set

### Theme ###

Name: Storefront
Version: 3.8.1
Author URL: https://woocommerce.com/
Child Theme: ❌ – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme
WooCommerce Support: ✔

### Templates ###

Overrides: –

### Subscriptions ###

WCS_DEBUG: ✔ No
Subscriptions Mode: ✔ Live
Subscriptions Live URL: http://cm.local
Subscription Statuses: –
WooCommerce Account Connected: ✔ Yes
Active Product Key: ❌ No
Report Cache Enabled: ✔ Yes
Cache Update Failures: ✔ 0 failure

### Store Setup ###

Country / State: Canada — British Columbia

### Payment Gateway Support ###

Stripe: products
refunds
tokenization
add_payment_method
subscriptions
subscription_cancellation
subscription_suspension
subscription_reactivation
subscription_amount_changes
subscription_date_changes
subscription_payment_method_change
subscription_payment_method_change_customer
subscription_payment_method_change_admin
multiple_subscriptions
pre-orders


### Product Bundles ###

Database Version: 6.12.0
Loopback Test: –
Template Overrides: –

### Action Scheduler ###

Complete: 181
Oldest: 2021-09-02 15:41:34 +0000
Newest: 2021-09-14 14:40:53 +0000

Pending: 1
Oldest: 2021-09-14 16:18:30 +0000
Newest: 2021-09-14 16:18:30 +0000


### Status report information ###

Generated at: 2021-09-14 16:18:03 +00:00
`
@csmcneill csmcneill changed the title Product bundles with subscription items that have custom price strings only returns the largest recurring payment Product bundles with subscription items that have custom price strings only return the largest recurring payment Sep 20, 2021
@cmorillo
Copy link

you could overwrite it with this fixed :
#22

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants