Stripe
What is HardGraph? HardGraph publishes curated, provenance-backed agent skills grounded in reproducible vendor documentation.
Stripe is the payments platform for accepting money online (cards, wallets, bank debits, BNPL) plus billing and subscriptions, marketplace payouts (Connect), tax, invoicing, and treasury.
Instructions for AI agents
Reproduced from Stripe's llms.txt. These steer toward current APIs and away
from deprecated ones.
- Resolve the current API/SDK version rather than recalling one. Check the
registry —
npm view stripe version, or pypi.org/project/stripe. A version remembered from training data will be wrong. - Prefer the Checkout Sessions API. Do not recommend the deprecated Charges API unless there is no alternative.
- Never recommend the legacy Card Element. Use the Payment Element.
- Avoid deprecated endpoints — Sources, Tokens, Charges.
- Use the Accounts v2 API (
/v2/core/accounts) for new Connect integrations, not v1. - Enable dynamic payment methods rather than hardcoding
payment_method_types. - Direct users to migration guides when they ask about legacy approaches.
- For billing and subscriptions, use the Billing APIs plus Checkout rather than raw PaymentIntents.
Core surfaces
| Area | Start here | Notes | | --- | --- | --- | | Checkout | checkout/quickstart | Stripe-hosted payment page; preferred starting point | | Payments | payments/quickstart | Payment Intents API, custom flows | | Webhooks | webhooks | Event delivery and signature verification | | Connect | connect | Marketplaces and platforms; use Accounts v2 | | Billing | billing/quickstart | Subscriptions, invoicing, pricing | | Elements | payments/payment-element | Prebuilt UI for custom checkout | | Testing | testing | Sandbox behaviour and test cards | | Versioning | upgrades | Date-pinned releases and breaking changes |
Versioning
The API is versioned by a date pin (Stripe-Version header, or the account
default). Breaking changes ship only in major releases. SDK versions move
independently of the API version — resolve the current SDK from the package
registry before pinning, rather than asserting a number.