Skip to main content

Overview

Browser Use agents navigate websites autonomously using AI. When your agent reaches a checkout, Ovra handles the payment via the REST API — the agent never touches card data.

Setup

pip install browser-use httpx

Agent Flow

from browser_use import Agent
import httpx

API_KEY = "sk_test_..."
API = "https://api.getovra.com"
headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

# 1. Agent browses autonomously
agent = Agent(task="Buy a USB-C hub under €30 on amazon.de")
result = await agent.run()
# Agent is now on checkout page

# 2. Create intent
intent = httpx.post(f"{API}/intents", headers=headers, json={
    "agentId": "ag_xxx",
    "purpose": "USB-C Hub",
    "expectedAmountEuros": 29.99,
    "expectedMerchant": "amazon.de"
}).json()
# intent["status"] == "approved" (policy auto-approved)

# 3. Ovra fills payment form via CDP
payment = httpx.post(f"{API}/checkout/pay", headers=headers, json={
    "intentId": intent["id"],
    "cdpUrl": agent.browser.cdp_url
}).json()
# payment["success"] == True
# Agent never saw PAN/CVV

What Happens Behind the Scenes

  1. Your agent browses normally (finds product, adds to cart, navigates to checkout)
  2. You create an intent — Ovra’s policy engine checks spending limits, merchant rules
  3. You call /checkout/pay with the agent’s CDP URL
  4. Ovra connects to the browser, detects the payment provider (Stripe, Adyen, etc.)
  5. Ovra fills card number, expiry, CVV — the agent’s context never contains this data
  6. Ovra disconnects, your agent continues
The Python SDK (ovra-pay) is coming soon. For now, use the REST API with httpx as shown above.