Shipping rates, promotion codes and tax chosen on the Stripe Checkout page
only exist on the session. checkout.session.completed now copies
amount_subtotal, total_details.amount_shipping/amount_discount/amount_tax and
amount_total onto the (not yet paid) order before recording the payment, so
the order's totals match what was charged and the order is settled. The
chosen shipping rate id goes to meta.stripe_shipping_rate. The shipping
address is also read from collected_information.shipping_details (Stripe API
2025-03-31+), falling back from shipping_details.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>