Online Payments — procurement report
ProductArena · rankings as of 2026-09-15 · evidence as of 2026-09-15 · 10 products · 54 judged requirements · 540 judged cells
Methodology: Every product is judged against a shared taxonomy of user stories using cited evidence — hands-on probes > repository code > independent community sources > vendor claims — never opinion. Full writeup: https://ultrametric.ai/productarena/methodology
Leaderboard
| # | Product | PA Score | Coverage score | Applicable cells | Confidence |
|---|---|---|---|---|---|
| 1 | Stripe | 55.3 | 61.9 | 50/54 | C |
| 2 | Airwallex | 43.4 | 39.0 | 49/54 | C |
| 3 | Square | 43.1 | 37.5 | 49/54 | C |
| 4 | Polar | 41.4 | 39.5 | 50/54 | C |
| 5 | PayPal | 40.9 | 39.8 | 50/54 | C |
| 6 | Paddle | 40.6 | 39.7 | 50/54 | C |
| 7 | Adyen | 37.6 | 31.4 | 49/54 | C |
| 8 | Checkout.com | 31.0 | 40.5 | 46/54 | C |
| 9 | Mollie | 30.0 | 35.4 | 47/54 | C |
| 10 | Autumn | 26.7 | 20.5 | 37/54 | B |
PA Score = agent-readiness blend (see methodology). Coverage score = weighted share of judged requirements met. Confidence = how much of the score rests on tested vs claimed evidence (A–D).
Uncertainty note
The current #1/#2 gap in this arena is not close enough to qualify for the multi-judge uncertainty pass (or the pass has not covered it yet) — no extra caveat applies beyond the per-product confidence grades above.
Buyer checklist (RFP)
The arena's 54 judged user stories as requirements, grouped by theme. Priorities mirror the story weights our scoring uses (3 = must-have, 2 = should-have, 1 = nice-to-have). Interactive version with per-requirement verdicts for the top products: /arena/payments/checklist
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
- ai-native userPlug MCP servers into this product so it can use their toolsmust-have
- ai-native userConnect an agent via an official MCP servermust-have
- ai-native userDrive the product through a documented public APImust-have
- ai-native userDelegate tasks to a built-in AI assistant inside the productmust-have
- ai-native userPoint an agent at llms.txt or agent-oriented docsshould-have
- ai-native userRun the product headlessly / in CI for automationshould-have
- ai-native userUse an official CLIshould-have
- ai-native userIssue scoped/least-privilege API credentials for an agentshould-have
- ai-native userBuild against official SDKsshould-have
- ai-native userSubscribe to events via webhooksshould-have
- ai-native userGet AI-generated insights and suggestions from my data inside the productshould-have
- ai-native userSet up automations that run autonomously in the backgroundshould-have
- ai-native userOperate the product with natural-language commandsshould-have
- ai-native userExplore an interactive API reference with runnable examplesshould-have
- ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)should-have
- ai-native userRely on versioned APIs with a documented deprecation policyshould-have
- ai-native userTest against a sandbox environment without touching production datanice-to-have
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
- ai-native userDefine rules that trigger actions automatically on eventsmust-have
- ai-native userPerform bulk operations across many items at onceshould-have
- ai-native userSchedule recurring jobs or workflowsshould-have
- ai-native userVersion, review, and roll back my automationsnice-to-have
Billing invoicing — stories about billing invoicing in this arenaBilling invoicing
Stories about billing invoicing in this arena
- ai-native userHave an agent monitor failed payments via API and webhooks and drive retries and dunning outreachmust-have
- ai-native userHave an agent provision a new product, price, and payment link via the API in a single sessionmust-have
- developerSet up recurring subscription billing with plans, trials, upgrades, and prorationmust-have
- finance-ops userSend hosted invoices with online payment and automatic remindersshould-have
- finance-ops userAutomatically retry failed subscription payments with smart dunning and recovery emailsshould-have
Checkout acceptance — stories about checkout acceptance in this arenaCheckout acceptance
Stories about checkout acceptance in this arena
- founderAccept an online card payment within a day of signing upmust-have
- developerEmbed customizable payment components directly in my own site or app instead of redirecting to a hosted pagemust-have
- developerRedirect customers to a vendor-hosted, conversion-optimized checkout page without building my own payment UImust-have
- founderCreate a shareable payment link from the dashboard with no code and start selling immediatelyshould-have
- founderOffer digital wallets and local payment methods (Apple Pay, Google Pay, bank redirects, BNPL) from the same integrationshould-have
Compliance security — stories about compliance security in this arenaCompliance security
Stories about compliance security in this arena
- developerKeep my systems out of most of PCI DSS scope because card data is tokenized and never touches my serversshould-have
Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience
Day-to-day developer experience — setup friction, docs, debugging, iteration speed
- developerRely on signed webhook deliveries with automatic retries, event logs, and replay to keep my system consistent with payment statemust-have
- developerBuild and test the entire payment flow in a sandbox or test mode that mirrors production, with test cards for every scenario including declines and disputesmust-have
- developerSafely retry any API request using idempotency keys so network failures never create duplicate chargesshould-have
- developerIntegrate a working payment flow from the docs alone in under a day, with copy-paste examples in my languageshould-have
Disputes fraud — stories about disputes fraud in this arenaDisputes fraud
Stories about disputes fraud in this arena
- ai-native userHave an agent handle a dispute end-to-end, retrieving it, assembling evidence, and submitting the response via the APImust-have
- finance-ops userRespond to a chargeback with structured evidence and track the dispute lifecycle to resolutionmust-have
- finance-ops userScreen transactions with machine-learning fraud scores and write custom block, review, and allow rulesmust-have
- finance-ops userIssue full or partial refunds from both the dashboard and the APImust-have
Global currency tax — stories about global currency tax in this arenaGlobal currency tax
Stories about global currency tax in this arena
- finance-ops userCalculate and collect the correct sales tax, VAT, or GST on every transaction automaticallymust-have
- founderCharge customers in their local currencies and settle to my bank in mine with transparent FX handlingshould-have
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
- ai-native userExport all of my data in open formats and leavemust-have
- ai-native userSelf-host the core productmust-have
- ai-native userDo everything through the API that I can do in the UIshould-have
- ai-native userRead the product's source under an open licenseshould-have
Payouts reconciliation — stories about payouts reconciliation in this arenaPayouts reconciliation
Stories about payouts reconciliation in this arena
- ai-native userHave an agent pull payout and balance-transaction data via the API and reconcile each bank deposit to its underlying chargesmust-have
- finance-ops userReconcile settlements to bank deposits with itemized reports covering fees, refunds, and chargebacksmust-have
- finance-ops userControl the payout schedule and see exactly which charges, fees, and refunds make up each payoutshould-have
Platform marketplace — stories about platform marketplace in this arenaPlatform marketplace
Stories about platform marketplace in this arena
- developerBuild a marketplace or platform that onboards sellers, splits payments between parties, and pays out to each sellershould-have
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
- ai-native userPrevent my data from being used to train AI modelsmust-have
- ai-native userChoose where my data is stored (region/residency)should-have
- ai-native userControl data retention and deletionshould-have
- ai-native userOpt out of telemetry and usage trackingshould-have
Pricing signals
Extracted verbatim from each vendor's own pricing page — never converted, averaged, or derived. Products whose page prints no unit price are recorded as unclear, honestly.
| Product | Headline price | Unit | As of |
|---|---|---|---|
| Stripe | 0.8% | transaction | 2026-09-07 |
| Square | pricing unclear — The visible markdown does not contain the actual processing-fee percentages or per-transaction dollar amounts (the 'Processing fees' table cells render blank), so no verbatim per-transaction or entry-plan price figures could be extracted. | 2026-09-07 | |
| PayPal | $0.49 | transaction | 2026-09-07 |
| Adyen | $0.13 | transaction | 2026-09-07 |
Appendix: recorded probes
Hands-on probe recordings — transcripts/videos a human can replay, the strongest evidence tier. Watch them at https://ultrametric.ai/productarena/proofs
- Airwallex
curl -sL https://static.airwallex.com/developer-tools/airwallex-cli/install.sh | head -6terminal · recorded 2026-09-15 · exit 0 - Airwallex
curl -s https://www.airwallex.com/docs/developer-tools/ai/agentos.md | head -6terminal · recorded 2026-09-15 · exit 0 - Airwallex
curl -s https://www.airwallex.com/docs/llms.txt | head -4terminal · recorded 2026-09-15 · exit 0 - Airwallex
curl -si -X POST https://mcp.airwallex.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-15 · exit 0 - Autumn
curl -s https://docs.useautumn.com/documentation/mcp.md | head -8terminal · recorded 2026-09-10 · exit 0 - Autumn
curl -s https://docs.useautumn.com/llms.txt | head -6terminal · recorded 2026-09-10 · exit 0 - Autumn
curl -si -X POST https://mcp.useautumn.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-10 · exit 0 - Checkout.com
curl -s https://www.checkout.com/docs/llms.txt | head -4terminal · recorded 2026-09-15 · exit 0 - Checkout.com
curl -si -X POST https://mcp.checkout.com/ -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-15 · exit 0 - Mollie
curl -s https://docs.mollie.com/docs/mollie-mcp-server.md | head -10terminal · recorded 2026-09-15 · exit 0 - Mollie
curl -s https://docs.mollie.com/llms.txt | head -6terminal · recorded 2026-09-15 · exit 0 - Mollie
curl -s https://mcp.mollie.com/.well-known/oauth-protected-resource/mcpterminal · recorded 2026-09-15 · exit 0 - Mollie
curl -si -X POST https://mcp.mollie.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-15 · exit 0 - Paddle
curl -s https://developer.paddle.com/sdks/ai/paddle-mcp.md | head -6terminal · recorded 2026-09-15 · exit 0 - Paddle
curl -s https://developer.paddle.com/llms.txt | head -4terminal · recorded 2026-09-15 · exit 0 - Paddle
curl -s https://mcp.paddle.com/.well-known/oauth-protected-resourceterminal · recorded 2026-09-15 · exit 0 - Paddle
curl -si -X POST https://mcp.paddle.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-15 · exit 0 - Paddle
curl -s https://raw.githubusercontent.com/PaddleHQ/paddle-openapi/HEAD/v1/openapi.yaml | head -4terminal · recorded 2026-09-15 · exit 0 - PayPal
curl -s https://mcp.paypal.com/.well-known/oauth-protected-resource/mcpterminal · recorded 2026-09-04 · exit 0 - Polar
curl -s https://polar.sh/docs/integrate/mcp.md | head -8terminal · recorded 2026-09-15 · exit 0 - Polar
curl -s https://polar.sh/docs/llms.txt | head -4terminal · recorded 2026-09-15 · exit 0 - Polar
curl -si -X POST https://mcp.polar.sh/mcp/polar-mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-15 · exit 0 - Polar
curl -s https://polar.sh/docs/openapi/2026-10.openapi.json | head -c 300terminal · recorded 2026-09-15 · exit 0 - Stripe
stripe resourcesterminal · recorded 2026-09-04 · exit 0 - Stripe
stripe --versionterminal · recorded 2026-09-04 · exit 0 - Stripe
stripe listen --helpterminal · recorded 2026-09-04 · exit 0 - Stripe
curl -si -X POST https://mcp.stripe.com -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-04 · exit 0
Cite as: ProductArena by Ultrametric Inc, Online Payments arena, rankings as of 2026-09-15 — https://ultrametric.ai/productarena/arena/payments
License: © 2026 Ultrametric Inc. Brief quotation of individual verdicts, scores, or evidence excerpts is permitted with attribution to "ProductArena by Ultrametric Inc (ultrametric.ai/productarena)", as is use of the data to evaluate, contest, or contribute corrections. Bulk copying, redistribution, or use to build competing datasets requires prior written permission (see DATA-LICENSE in the repository).
No liability: rankings, verdicts, and scores are research outputs derived from the cited evidence at a point in time, provided "as is", without warranties. Ultrametric Inc accepts no responsibility for procurement, purchasing, or other decisions made in reliance on them — verify against the cited evidence before acting (https://ultrametric.ai/productarena/terms).