Kit Products checkout bug with large number of options, 28+
Posted: Tue Oct 12, 2010 8:09 am
I have not tested it yet with smaller number of options, but that's how I discovered it initially, on Kit Products that have 28, 56, 84 and 112 options.
As you go through the checkout process, initially the BasketItems table holds the following records for that specific BasketId (X, Y, Z are Quantity for the individual ProductIDs that can are a part of the kit). Main Kit Product has multiple Kit Options, of which are all dropdowns containing Product A, Product B and Product C. So as users select individual options, they end up with this (shipping and taxes are removed for simpicity's sake).
This is the database state with one Main Kit Product in the basket, on Basket.aspx page, already logged in:
All 4 records have the same BasketShippingId, not NULL.
1. Main Kit Product
2. Product A (X)
3. Product B (Y)
4. Product C (Z)
When pressing continue to the next screen, Edit Billing Address, the database state is as follows:
First 4 records have the same BasketShippingId, items 5-... have NULL in that field.
1. Main Kit Product
2. Product A (1)
3. Product B (1)
4. Product C (1)
5. Product A (1)
6. Product B (1)
7. Product C (1)
...
Continue to the next screen, Edit Shipping Address:
All 4 records have the same BasketShippingId, not NULL.
1. Main Kit Product
2. Product A (X)
3. Product B (Y)
4. Product C (Z)
Continue to the next screen, Select Shipping Method:
First 4 records have the same BasketShippingId, items 5-... have NULL in that field.
1. Main Kit Product
2. Product A (1)
3. Product B (1)
4. Product C (1)
5. Product A (1)
6. Product B (1)
7. Product C (1)
...
Continue to the Payment Page, this is when those kit items that have NULL in BasketShippingId show up as non-shippable items, even though they are marked shippable in database and are parts of the kit:
First 4 records have the same BasketShippingId, items 5-... have NULL in that field.
1. Main Kit Product
2. Product A (1)
3. Product B (1)
4. Product C (1)
5. Product A (1)
6. Product B (1)
7. Product C (1)
...
Sergei Khvatkov
As you go through the checkout process, initially the BasketItems table holds the following records for that specific BasketId (X, Y, Z are Quantity for the individual ProductIDs that can are a part of the kit). Main Kit Product has multiple Kit Options, of which are all dropdowns containing Product A, Product B and Product C. So as users select individual options, they end up with this (shipping and taxes are removed for simpicity's sake).
This is the database state with one Main Kit Product in the basket, on Basket.aspx page, already logged in:
All 4 records have the same BasketShippingId, not NULL.
1. Main Kit Product
2. Product A (X)
3. Product B (Y)
4. Product C (Z)
When pressing continue to the next screen, Edit Billing Address, the database state is as follows:
First 4 records have the same BasketShippingId, items 5-... have NULL in that field.
1. Main Kit Product
2. Product A (1)
3. Product B (1)
4. Product C (1)
5. Product A (1)
6. Product B (1)
7. Product C (1)
...
Continue to the next screen, Edit Shipping Address:
All 4 records have the same BasketShippingId, not NULL.
1. Main Kit Product
2. Product A (X)
3. Product B (Y)
4. Product C (Z)
Continue to the next screen, Select Shipping Method:
First 4 records have the same BasketShippingId, items 5-... have NULL in that field.
1. Main Kit Product
2. Product A (1)
3. Product B (1)
4. Product C (1)
5. Product A (1)
6. Product B (1)
7. Product C (1)
...
Continue to the Payment Page, this is when those kit items that have NULL in BasketShippingId show up as non-shippable items, even though they are marked shippable in database and are parts of the kit:
First 4 records have the same BasketShippingId, items 5-... have NULL in that field.
1. Main Kit Product
2. Product A (1)
3. Product B (1)
4. Product C (1)
5. Product A (1)
6. Product B (1)
7. Product C (1)
...
Sergei Khvatkov