Both placeOrder and cancelOrderItem call a compensating payment action
(refund / re-charge) after catching a failure, then rethrow. If that
compensating call itself threw, its error replaced the original one,
hiding the actual root cause behind whatever the payment provider
happened to fail with on the second attempt. Wrap each compensation in
its own try/catch, log the compensation failure, and always rethrow
the original error.
Also fixes a stale comment left over from renaming
createFirstStepForOrderItem to initializeOrderItemRecipe.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>