[{"data":1,"prerenderedAt":37},["ShallowReactive",2],{"arch-deep-/architecture/engines/payment-wrapper":3},{"id":4,"title":5,"body":6,"category":23,"deepPage":24,"description":25,"extension":26,"layer":27,"meta":28,"navigation":29,"path":24,"relatedFlows":30,"replaces":31,"seo":34,"stem":35,"__hash__":36},"architecture/architecture/engines/payment-wrapper.md","Payment & invoice wrapper",{"type":7,"value":8,"toc":19},"minimark",[9,13,16],[10,11,12],"p",{},"Money flows through buildings in many shapes — recurring rent, one-off charges, amenity fees, utility passthroughs, deposit holds, refunds, late fees, partial credits. Each of those shapes typically lives in a different vendor. The payment wrapper is the engine that lets the operating layer treat payment as a behavior of the building rather than a feature of a vendor.",[10,14,15],{},"The wrapper exposes a single set of operations — charge, hold, release, refund, reconcile — that the booking engine, the issue engine, and the move-in / move-out flow consume without knowing whether the underlying processor is Stripe, Adyen, or a regional alternative. Idempotency, retry policy, and failure semantics are normalized at the wrapper, not at every consumer. When the building swaps payment processors, the consumers are unaffected.",[10,17,18],{},"The wrapper also normalizes the path into accounting. Each financial event flows into the accounting integration with consistent metadata — building, unit, resident, category, period, behavioral context — so the building's books reflect the operational reality without manual reconciliation. The behavioral specification can then score whether the financial side of the resident experience meets the standard: refunds happen within a defined window, holds release on schedule, and statements arrive when the standard says they should.",{"title":20,"searchDepth":21,"depth":21,"links":22},"",2,[],"engine","/architecture/engines/payment-wrapper","A single layer that wraps the building's payment processor and accounting system so resident charges, refunds, and reconciliation behave the same regardless of vendor.","md","4",{},true,null,[32,33],"direct-payment-vendor-integrations","manual-ledger-reconciliation",{"title":5,"description":25},"architecture/engines/payment-wrapper","eaxLuX_AHL2anDiQ0G0Nj50w09-OOKSolEXpnVrysJ8",1779718756836]