Redoing the checkout and adding USPS shipping will add the Shipping rule to eCart and the code to perform the shipping rate lookup.
you will need to manually add a select list for the customer to choose the falt rate or USPS shipping
add a select list to the checkout page:
<select name="shippingOption" id="shippingOption">
<option value="Flat Rate">Flat Rate</option>
<option value="USPS">USPS</option>
</select>
and a hidden form element on the confirm page with the other hidden elements of the same name to capture the value posted from the checkout page:
<input name="shippingOption" type="hidden" id="shippingOption" value="<?php echo((isset($_POST["shippingOption"]))?$_POST["shippingOption"]:"") ?>" />
then add a session variable on the confirm page. go to the Server behaviors panel, click the plus button and select eCart -> General -> Set Session Value. For the trigger and the value, click the lightning bolt icon and select the shippingOption form element. set the name to "shippingOption"
then in the eCart object, add a trigger to your flat rate rule:
based on session Variable value:
If the session variable "shippingOption" is "=" a value of "Flat Rate"
in the USPS rule, add a trigger:
based on session Variable value:
If the session variable "shippingOption" is "=" a value of "USPS"