I'm developing an app where the customer can change their shipping address after an order was placed. However I want to be able to charge the customer for additional shipping costs or refund them if the original shipping costs were more than the updated. amount For example if the customer ships from Ontario to Ontario, an address change from Ontario to BC will result in additional shipping costs, and the reverse will result in a refund.
The current workflow I'm thinking of is refund the initial order and have the customer pay for the order again with the new shipping costs.
The ideal workflow is to have the customer only pay/refund the difference.