Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
PopPay
✓ from pop_pay import PopPay
✗ from pop_pay import PopPay
Initialize the vault, set guardrails, inject credentials, and start MCP server.
from pop_pay import PopPay, create_guardrails, inject_payment_info
from pop_pay.vault import initialize_vault
# Initialize vault (passphrase stored in env var)
initialize_vault()
# Create guardrails with allowed vendor domains
app = PopPay(guardrails=create_guardrails(allowed_vendors=["stripe.com", "shopify.com"]))
# Inject payment info into a checkout form (after domain verification)
inject_payment_info(page_url="https://stripe.com/checkout", card_number=os.environ.get('CARD_NUMBER', ''))
# Run the MCP server
app.run_mcp()
pop-pay --version
Debug
Known issues
breakingPassphrase vault mode (v0.6.0+) requires a passphrase; vault created without passphrase cannot be read by older versions.fixEnsure all agents use pop-pay >= 0.6.0 with same passphrase.
affects: <0.6.0 or >=0.6.0 if mixing vaults
gotchainject_payment_info verifies current page domain against guardrails BEFORE injection. If domain check fails, injection is blocked silently.fixAlways set allowed_vendors in guardrails and ensure the agent navigates to the correct domain before calling inject_payment_info.
affects: >=0.6.0
deprecatedSQLite storage of card_number/cvv was removed in v0.6.0. The issued_seals table no longer contains full card details.fixDo not rely on database storage for card data; use vault with passphrase.
affects: >=0.6.0
gotchaThe CLI tool is named 'pop-pay' but the Python package import uses underscore: pop_pay. Commands like 'pop-pay init' require the CLI, not the Python module.fixUse 'pip install pop-pay' for Python library; CLI install via npm or brew available for Node.js users.
affects: all
Upgrade
Version history
0.8.9latest on PyPI · released Apr 16, 2026
Audit
Dependencies
No dependency data recorded yet.