Inspiration

A checkout can look successful while delivery is wrong: approval may unlock a download too early, repeated processing may create duplicate entitlements, or a lost capture response may leave an order uncertain. PayProbe makes these boundaries inspectable for developers of digital-download stores.

What it does

PayProbe is a working CLI and browser developer tool. A developer supplies a purchase requirement. DeepSeek proposes a bounded test plan; the developer reviews the exact plan before execution. A deterministic runner compares application observations with a separate simulated payment ledger and produces evidence-backed findings.

Four supported scenarios check that:

  • Approval without capture does not unlock the download.
  • A matching completed capture produces one entitlement.
  • Sequential repeated processing does not multiply fulfillment.
  • A completed capture whose response is suppressed is reconciled from existing state.

Results are available as text/JSON exports and an interactive terminal ledger with selection, filtering and evidence inspection. Runs and reviewed plans persist in SQLite so an interrupted case can resume. DeepSeek can explain results with validated references to recorded evidence; deterministic code assigns the verdicts.

Current PayPal and AI scope

The current release uses a deterministic payment simulator. It does not call PayPal APIs, obtain real buyer approval, or establish actual PayPal sandbox verification. Real PayPal integration remains deferred because developer-account access was unavailable. We are submitting this disclosed prototype as it currently works; we do not claim that simulated payments establish PayPal integration.

DeepSeek is real: the demo includes an actual API request, the complete wait and the returned response. The OpenAI-compatible SDK is configured for DeepSeek, not the OpenAI service. The configured deepseek-flash name is a rolling alias for the requested model version.

How I built it

Built solo with TypeScript, Node.js 24, Fastify, Commander, Zod and SQLite. The application separates reviewed planning, deterministic execution, application delivery, simulated provider observations, and evidence reporting. The sample store exposes controlled download/entitlement behavior and explicitly seeded fault modes. The browser offers the same bounded workflow; the CLI exposes planning, review, execution, resume, reports and explanation commands.

Codex assisted implementation and debugging. The terminal design draws inspiration from my FollowThrough project. The demonstration was authored with HyperFrames, using my MajuPilot video's editorial direction, actual console recordings and standard Microsoft Zira synthetic English narration.

Challenges

A model explanation initially exceeded its output budget. I reduced the response format and validated that all four scenarios retained valid evidence references. Recovery also required persisting reviewed source and operation state so resume would not silently create a replacement run or repeat a completed operation. The UI keeps uncertain outcomes visible until reconciliation supplies evidence.

Accomplishments

The recorded seeded duplicate-delivery case shows one capture but two entitlements and a FAIL finding. A separate corrected run retains one entitlement across sequential processing. Another case records capture-response suppression and subsequent reconciliation. A reviewed real-DeepSeek/simulator journey completed all four checks with 42 evidence events. Clean-install and container restart/persistence checks passed, alongside targeted regression tests and GitHub CI.

These are observations of a controlled sample application, not vulnerability findings against third-party merchants.

What I learned

Planning, authorization and observed outcomes need separate records. An AI explanation can help a developer interpret a trace, but it must not become the authority for payment state. A test tool should preserve uncertainty when evidence is missing.

Try it and limitations

Source and complete setup: https://github.com/desanv01/PayProbe Packaged simulated prerelease: https://github.com/desanv01/PayProbe/releases/tag/v0.1.0-simulated

Requires Node 24.14+ within 24.x and npm. Full AI planning/explanation requires a private DeepSeek key. There is currently no hosted judge demo or supplied judge credential. Keep secrets in the ignored .env.local file; never put them in reports or submissions.

The current target is a controlled sample store with a single USD full-capture workflow and sequential repetition checks. This release does not verify webhook behavior, concurrent races, refunds, subscriptions, arbitrary stores, or production readiness.

What's next

Add an actual PayPal sandbox adapter and independent buyer-approval/provider observations, then validate the same scenarios against that integration. Add a bounded hosted evaluation experience and expand scenario coverage only with observable evidence.

Credits

Music: “New Direction” by Kevin MacLeod (incompetech.com), ISRC USUAN1100677, licensed under CC BY 4.0: https://creativecommons.org/licenses/by/4.0/ Source: https://www.incompetech.com/music/royalty-free/index.html?isrc=USUAN1100677 Changes: 170-second excerpt, synchronization, narration EQ/ducking and fades. No endorsement implied. Font and other media notices are retained in the video source's MEDIA-CREDITS.md. No voice cloning was used.

Built With

Share this project:

Updates

Submission history