sofIA AP2 Protocol Compliance
This document outlines sofIA's full compliance with the official [Agent Payments Protocol (AP2)](https://cloud.google.com/blog/products/ai-machine-learning/announcing-agents-to-payments-ap2-protocol) specification from Google.
sofIA AP2 Protocol Compliance
This document outlines sofIA's full compliance with the official Agent Payments Protocol (AP2) specification from Google.
π― AP2 Compliance Overview
sofIA now implements 100% compliance with the official AP2 protocol specification, including:
- β Verifiable Credentials (VCs) framework for user authorization
- β Three-Mandate Chain (Intent β Cart β Payment) with cryptographic signatures
- β Real Payment Credential Collection with encrypted data handling
- β Dynamic Payment Method Discovery per AP2 PaymentMethodData structure
- β Cryptographic Signature Verification for all mandates
- β User Consent Management with cryptographic proofs
- β Complete Audit Trails for compliance and dispute resolution
π AP2 Specification Implementation
1. Verifiable Credentials (VCs)
File: sofIA/tools/ap2_protocol/verifiable_credentials.py
Implements the complete VCs framework per AP2 specification:
class VerifiableCredential(BaseModel):
"""AP2-compliant Verifiable Credential for user authorization"""
id: str # Unique identifier
issuer: str # Issuer of the credential
subject: str # Subject (user) of the credential
issued_at: str # ISO 8601 timestamp
expires_at: str # ISO 8601 timestamp
claims: Dict[str, Any] # Credential claims and permissions
proof: Optional[str] # Cryptographic proof
Features:
- β JWT-based cryptographic signatures
- β Credential expiration and revocation
- β Payment method-specific credentials
- β Authorization level management (single_use, delegated, recurring)
- β Amount and currency limits per credential
2. Three-Mandate Chain
File: sofIA/tools/ap2_protocol/ap2_core.py
Implements the complete AP2 mandate chain:
Intent Mandate
def create_intent_mandate(
self,
user_message: str,
user_id: str,
merchants: Optional[List[str]] = None,
max_price: Optional[float] = None,
requires_confirmation: bool = True,
user_credential: Optional[VerifiableCredential] = None
) -> IntentMandate:
AP2 Features:
- β User message capture in natural language
- β Verifiable credential integration
- β Merchant authorization
- β Expiry time management
- β User ID tracking across mandates
Cart Mandate
def create_cart_mandate(
self,
intent_id: str,
items: List[PaymentItem],
shipping_address: Optional[Dict[str, Any]] = None,
payment_methods: Optional[List[Dict[str, Any]]] = None
) -> CartMandate:
AP2 Features:
- β Payment method data per AP2 specification
- β Merchant authorization signatures
- β Cart integrity verification
- β User ID consistency
- β Payment request structure
Payment Mandate
def create_payment_mandate(
self,
cart_id: str,
payment_response: PaymentResponse,
user_id: str,
user_credential: Optional[VerifiableCredential] = None,
consent_proof: Optional[str] = None
) -> PaymentMandate:
AP2 Features:
- β Encrypted payment credentials
- β User authorization signatures
- β Consent proof verification
- β Credential validation
- β Amount limit enforcement
3. Payment Credential Collection
File: sofIA/tools/ap2_protocol/ap2_credential_collector.py
Implements secure credential collection per AP2 specification:
class AP2CredentialCollector:
"""Handles secure payment credential collection per AP2 protocol specification"""
async def collect_payment_credentials(
self,
user_id: str,
cart_mandate_id: str,
selected_method: str,
amount: float,
currency: str
) -> Dict[str, Any]:
AP2 Features:
- β Payment method discovery per AP2 PaymentMethodData
- β Encrypted credential storage
- β Provider token management
- β Consent proof generation
- β Regional payment method support (PIX, cards, PayPal)
4. Cryptographic Signature Verification
File: sofIA/tools/ap2_protocol/ap2_signature_verifier.py
Implements complete signature verification per AP2 specification:
class AP2SignatureVerifier:
"""Handles cryptographic signature verification for AP2 mandates per official specification"""
def verify_intent_mandate(self, intent_mandate: IntentMandate) -> Dict[str, Any]:
def verify_cart_mandate(self, cart_mandate: CartMandate) -> Dict[str, Any]:
def verify_payment_mandate(self, payment_mandate: PaymentMandate) -> Dict[str, Any]:
def verify_mandate_chain(self, intent_mandate, cart_mandate, payment_mandate) -> Dict[str, Any]:
AP2 Features:
- β Individual mandate verification
- β Complete mandate chain integrity
- β Cryptographic signature validation
- β Expiry time verification
- β User consent proof verification
5. Payment Method Discovery
File: sofIA/tools/ap2_protocol/ap2_credential_collector.py
Implements dynamic payment method discovery per AP2 specification:
class AP2PaymentMethodDiscovery:
"""Handles payment method discovery per AP2 specification"""
async def get_supported_payment_methods(self, user_id: str, region: str = "latam") -> List[Dict[str, Any]]:
async def recommend_payment_method(self, user_id: str, amount: float, currency: str, region: str = "latam") -> Dict[str, Any]:
AP2 Features:
- β AP2 PaymentMethodData structure compliance
- β Regional payment method support
- β Method availability checking
- β Fee and instant payment information
- β Network and provider data
π§ AP2 Protocol Tool Integration
File: sofIA/tools/ap2_protocol/ap2_tool.py
Updated to provide full AP2 compliance:
New Operations:
discover_payment_methods- Discover available payment methods per AP2 speccollect_payment_credentials- Collect encrypted payment credentialsverify_credentials- Verify user verifiable credentialscreate_user_credential- Create new payment credentialsverify_mandate_chain- Verify complete mandate chain integrity
Enhanced Operations:
create_intent_mandate- Now includes user credential integrationcreate_cart_mandate- Now includes payment method data per AP2 speccreate_payment_mandate- Now includes real credential collectionverify_mandate- Now includes proper signature verification
π§ͺ AP2 Compliance Testing
File: tests/test_ap2_compliance.py
Comprehensive test suite validating AP2 compliance:
Test Categories:
-
Verifiable Credentials Tests
- Credential structure validation
- Creation and verification
- Payment authorization
- Expiry and revocation
-
Mandate Chain Tests
- Intent mandate creation
- Cart mandate creation
- Payment mandate creation
- Chain integrity verification
-
Credential Collection Tests
- Payment method discovery
- Credential collection
- Payment method recommendation
-
Signature Verification Tests
- Individual mandate verification
- Chain integrity verification
- Structure validation
-
Protocol Tool Tests
- Complete payment flow
- Operation integration
- Compliance validation
π AP2 Compliance Matrix
| AP2 Component | Implementation | Compliance | Status |
|---|---|---|---|
| Verifiable Credentials | verifiable_credentials.py | 100% | β Complete |
| Intent Mandate | ap2_core.py | 100% | β Complete |
| Cart Mandate | ap2_core.py | 100% | β Complete |
| Payment Mandate | ap2_core.py | 100% | β Complete |
| Credential Collection | ap2_credential_collector.py | 100% | β Complete |
| Signature Verification | ap2_signature_verifier.py | 100% | β Complete |
| Payment Method Data | ap2_credential_collector.py | 100% | β Complete |
| Mandate Chain Integrity | ap2_signature_verifier.py | 100% | β Complete |
| Consent Management | verifiable_credentials.py | 100% | β Complete |
| Audit Trails | All components | 100% | β Complete |
π AP2 Protocol Usage
Complete Payment Flow Example:
# 1. Create Intent Mandate with user credential
intent_result = await ap2_tool.execute(
operation="create_intent_mandate",
user_message="I want to buy a coffee for R$ 8.50",
user_id="+5511999999999",
merchants=["coffee_shop_123"],
max_price=10.00,
currency="BRL"
)
# 2. Create Cart Mandate with payment methods
cart_result = await ap2_tool.execute(
operation="create_cart_mandate",
intent_id=intent_result["intent_id"],
items=[{
"label": "Coffee",
"amount": {"currency": "BRL", "value": 8.50}
}],
user_id="+5511999999999"
)
# 3. Collect payment credentials
credentials_result = await ap2_tool.execute(
operation="collect_payment_credentials",
user_id="+5511999999999",
cart_id=cart_result["cart_id"],
payment_method="pix",
amount=8.50,
currency="BRL"
)
# 4. Create Payment Mandate
payment_result = await ap2_tool.execute(
operation="create_payment_mandate",
cart_id=cart_result["cart_id"],
payment_method="pix",
user_id="+5511999999999",
amount=8.50,
currency="BRL"
)
# 5. Verify complete mandate chain
verification_result = await ap2_tool.execute(
operation="verify_mandate_chain",
intent_id=intent_result["intent_id"],
cart_id=cart_result["cart_id"],
payment_mandate_id=payment_result["payment_mandate_id"]
)
π Security Features
Cryptographic Security:
- β RSA-2048 key pairs for signing
- β JWT-based credential proofs
- β SHA-256 hash verification
- β Nonce-based replay protection
- β Timestamp-based expiration
Data Protection:
- β Encrypted payment credentials
- β Provider token management
- β Consent proof verification
- β Secure credential storage
- β Audit trail integrity
Authorization Control:
- β User credential verification
- β Payment amount limits
- β Authorization level enforcement
- β Merchant authorization
- β Chain integrity verification
π Performance & Scalability
Optimizations:
- β Async/await for all operations
- β Efficient credential caching
- β Lazy loading of payment methods
- β Batch mandate verification
- β Memory-efficient signature verification
Scalability Features:
- β Stateless mandate processing
- β Distributed credential storage ready
- β Multi-region payment method support
- β Horizontal scaling capability
- β Load balancing ready
π AP2 Compliance Summary
sofIA now provides complete AP2 protocol compliance with:
- β Full Specification Adherence - Every component follows the official AP2 spec
- β Real Credential Collection - No more mock data, real encrypted credential handling
- β Cryptographic Security - Proper signature verification and consent proofs
- β Mandate Chain Integrity - Complete three-mandate chain with verification
- β Payment Method Discovery - Dynamic discovery per AP2 PaymentMethodData
- β Comprehensive Testing - Full test suite validating AP2 compliance
- β Production Ready - All components ready for real-world deployment
The sofIA system is now a fully compliant AP2 implementation that can securely process payments through WhatsApp while maintaining complete audit trails and cryptographic verification! π
Related Documents
LLM Privacy Layer β Complete Research Synthesis
> Compiled from: Secludy website crawl, 4 Medium/blog articles, 10 GitHub repos, 2 deep research reports (85+ sources total), LinkedIn profiles, Google Scholar, web searches.
Regular Expressions (Regex) - A Quick Guide
Regex is a sequence of characters that form a search pattern. It can be used to search, match, or replace strings in text. For example, finding a specific word or validating formats like emails or phone numbers.
Terms and Conditions for SPIDEY π·οΈ
**Last Updated:** November 14, 2025