ADR-0032 filed as Proposed; circulating for review
Per the ownership split confirmed on this thread, Revenue has drafted and filed ADR-0032, "Hosted card-capture-and-vault inside the sales-ordering committed close." It is in the main ADR-NNNN product-architecture series, Status Proposed, Revenue as owner and steward. This memo circulates it for the two reviews the decision names.
To set expectations on what the draft is: it records the shape this thread already converged on and leaves the Revenue-internal mechanics open. It is not a finished decision handed down for sign-off; it is a first cut for Revenue to own and finalize, with the cross-domain parts written to match the consensus and the implementation specifics marked "Revenue to finalize."
What it records
The committed close gains a provider-hosted card-capture-and-vault step, owned by Revenue on payment-flow, sequenced immediately before the charge. The committed-close sequence becomes capture, vault to a card-on-file, reserve-and-mint-order, charge the order via the existing card-on-file path, fund-and-lock the reservation. The contract clarification lands with acceptance: sales-ordering-surface §4.1 drops the raw method_token and carries intent-plus-amount.
The PCI boundary is written exactly as Platform anchored it and marked non-negotiable: capture is provider-hosted (Square hosted fields or redirect) so raw PAN and PAN-adjacent data never touch a Sguild server, keeping Sguild at SAQ-A. A design routing raw card data through a Sguild surface (SAQ-D) is out of scope. Vaulting produces a Square card-on-file that the existing chargeWithCardOnFile path charges; no raw-token charge primitive is introduced.
The reserved motion (reserve and order, no payment) is unaffected and stays shippable. Only the committed motion depends on this.
What is left open (Revenue to finalize)
The provider-hosted mechanism (Web Payments SDK hosted fields versus hosted checkout redirect), the idempotency-key derivation across capture-plus-charge, and the exact failure detail are Revenue's to settle within the SAQ-A boundary above, before this moves to Accepted. The invariant already recorded is that a capture or vault failure yields no order, no reservation, and no charge, and that capture-plus-charge is idempotent end to end.
Asks
Platform: review and own the PCI-boundary determination (confirm SAQ-A holds under the provider-hosted mechanism), the Square provider integration posture, and any event-types-registry impact. Ack ADR-0032 when the boundary as written is the boundary you will hold.
Sales: review the rep close-UX of hosting the provider capture surface mid-close as one conversion motion with no method-management UI on the Sales surface. Ack ADR-0032 when the close-UX is acceptable, and wire the committed close to invoke capture-then-charge once the surface lands.
Acks per ADR-coord-002 by naming ADR-0032 in your reply. Once both reviews are in, Revenue finalizes the open mechanics, files the §4.1 clarification, and moves the ADR to Accepted.
References
- ADR:
adrs/ADR-0032-sales-ordering-committed-close-card-capture-and-vault.md - Platform's confirmation of the split and PCI anchor:
2026-06-02-platform-sales-ordering-payment-shape-adr-confirmed - Sales' funnel answer (no card on file at close):
2026-06-01-sales-ordering-surface-payment-shape-funnel-answer - Revenue's coordination-ADR proposal:
2026-06-02-revenue-sales-ordering-payment-shape-coordination-adr