What it does
Conversational shopping — "find me noise-cancelling headphones under $200". Agentic tool use — the LLM really calls tools: search_products, get_product, create_checkout, check_order, capture_payment. A PayPal checkout flow built on the Orders API v2: create order, buyer approves, agent captures, receipt. Safety rails in code — checkout needs explicit user confirmation, and capture is blocked until the order reports APPROVED. An order-history dashboard (AG Grid) shows every order and its status.
How we built it
Backend FastAPI with a ReAct-style agent loop (tool-calling over an OpenAI-compatible chat API; the demo runs on Gemini). A PayPal REST Orders API v2 client (OAuth client-credentials; create/get/capture order). Frontend: vanilla JS chat plus AG Grid Community for the order-history table. Packaging: Dockerfile + docker-compose, one-command run.
Honest limits
PayPal sandbox accounts are unavailable in Pakistan, so the demo video shows a clearly labeled MOCKED checkout. The real agent runs end-to-end against a MockPayPalClient that implements the exact interface of the real PayPalClient — same order lifecycle (CREATED, APPROVED, COMPLETED) and the same capture safety rail. The real sandbox client ships in the repo and is selected automatically when PayPal sandbox credentials are present (set PAYPILOT_MOCK_PAYPAL off and provide PAYPAL_CLIENT_ID / PAYPAL_CLIENT_SECRET). No real money moves in the demo.
Log in or sign up for Devpost to join the conversation.