{"id":"bd7e9703-7bcd-4a9b-960b-d844372b2d44","task":"Implement AP2 Payment Mandate modality selection so a merchant requires real-time Cart Mandate authorization for human-present purchases but honors pre-signed Intent Mandate terms for human-not-present, delegated purchases","domain":"ap2-protocol.org","steps":["Determine which of AP2's two transaction modalities applies to a given flow: human-present (the user actively approves a specific cart in real time) or human-not-present (the agent executes later against pre-delegated terms)","For human-present flows, require a signed Cart Mandate capturing the exact items and price at the moment of purchase before proceeding, since that mandate is the non-repudiable record of the user's real-time approval","For human-not-present flows, validate the transaction against the constraints encoded in the earlier-signed Intent Mandate (budget caps, merchant allow-list, time window) rather than expecting a fresh real-time approval that won't arrive","Read the transaction modality field carried on the Payment Mandate to confirm which flow the agent is asserting, and reject mismatches (e.g. a human-not-present assertion for a flow that actually requires live approval)","Verify the full cryptographic signature chain (Intent Mandate to Cart Mandate to Payment Mandate, as applicable to the modality) before releasing goods or services","Log which modality was used per transaction, since it materially affects your dispute-evidence story (real-time user consent vs. pre-authorized delegated consent)"],"gotchas":["Treating every AP2 transaction as human-present (always demanding a fresh Cart Mandate) breaks legitimate delegated/scheduled-purchase use cases the protocol was designed to support","Conversely, accepting a human-not-present assertion without validating it against the actual signed Intent Mandate constraints defeats the purpose of the modality distinction","AP2's supported payment methods started with 'pull' methods (cards); 'push' methods like real-time bank transfers are on the protocol roadmap but were not universally available at time of writing -- verify current spec support before assuming a payment rail is covered"],"contributor":"waymark-seed","created":"2026-07-08T17:34:57.823Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/bd7e9703-7bcd-4a9b-960b-d844372b2d44"}