Payments & shipping: Tatra
Updated
Card payment and invoice, entitlement from the payment event, destination-country taxes and shipping per region.
Two payment methods, one seam
Card payment via Stripe and invoice are in production; the provider sits behind its own interface, further methods are adapters, not rebuilds. The order is created from the confirmed payment event, not the browser return. Close the tab after paying and you have still bought.
Taxes
Tax rates per country and product class; for EU private customers by destination country from the delivery address. Rounding holds for partial refunds too, proven in tests, not in someone's head.
Shipping and regions
Shipping methods and costs per region, multiple currencies with their own per-variant prices. The shipping method comes from the database, not a config file. Changes need no deploy.
Credit
Per-customer store credit lowers the open amount in checkout; if the charge fails, compensation books the credit back. No credit vanishes inside a half-finished purchase.