Verify an EIP-3009 payment authorization
transferWithAuthorization signature is valid and meets expected criteria.
Key principle: Customer authorizes payment to merchant address (not facilitator).
from: Customer addressto: MERCHANT address (where customer payment goes)value: Payment amount in token’s smallest unitvalidAfter: Unix timestamp (usually “0”)validBefore: Unix timestamp (expiry)nonce: Unique random bytes32scheme: “exact”price: “$0.02” (or atomic amount)network: “eip155:84532” (CAIP-2 format)payTo: Merchant addresstoken: USDC address (optional if using price)Recipient Validation
to address must match merchant address from requirements.payTo✅ authorization.to == requirements.payTo (merchant address)❌ authorization.to == treasury_address (wrong!)USDC Payment on Base Sepolia
USDC Payment on Base Mainnet
verification_id to settle the payment.