I've set up a store for a manufacturer who also uses it to resupply his resellers. Using Joomla, there is a user-group protected inventory of reseller products (display boxes, multipacks, etc.)
His postage on international orders is already determined by weight ( 17 zones by 7 tiers = 119 Shipping Rules. You really need a reasonable way to manage that.), fixed price with tax on orders from his state, fixed price with no tax on orders from continental US.
What he is asking for is free shipping for resellers who order more than 12 items. I know I can enter a volume of 1 on all items and tally them to trip a rule, but I can't see a way to limit this rule to members of a certain User Group, "Resellers." Is that possible?
I have attempted to write my own shipping plugin with his price matrix, but failed: your API encourages the determination among existing shipping rules, not the calculation of a shipping amount on the fly. This doesn't save me any time or effort. I managed to get one that DID this calculation and delivered it to the Usable Rates array, Shipping selection screen and pre-selected rate value, but upon selection/order creation, HS apparently went back to its shipping rules and recalculated shipping for the order without using the plugin overrides. It was as if the cart rendering view was entirely isolated from the Shipping processes I was working on. I was not even able to confirm that onShippingSave() was ever called - I could complete an order without a die() statement within that method ever being tripped. It's like trying to build watches in an unlit room.
Please write a tutorial or two for the shipping and payment APIs. A definition of the two or three method calls is not enough for most of us: If you actually want the API calls to be used, we need a bit more context of what is going on around those processes and what variables/objects we need to juggle.
Thanks.