stripe_checkout
Hosted collection — payment links and Checkout sessions.
"create_link" is the safest way to collect money here: it returns a reusable URL to a page hosted by Stripe, so no card number ever touches oto, and nobody is charged until a human opens it and pays.
⚠️ Creating a link can fail with "the product tax code is missing" on
accounts eligible for managed payments (verified live). Fix it on the
product: stripe_catalog(op="update_product", product_id=…, tax_code="txcd_10000000").
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "stripe_checkout"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | "list_links" (default) | "get_link" | "link_line_items" | "create_link" | "update_link" | "list_sessions" | "get_session" | "session_line_items". | list_links |
| _org | No | Org (id) de CET APPEL. `oto_list_orgs()`. | |
| limit | No | ||
| _group | No | Équipe (id) de CET APPEL, sous son org parente. | |
| active | No | filter on "list_links"; on "update_link", `active=false` switches a link off without deleting it. | |
| status | No | ||
| _run_id | No | OBLIGATOIRE à chaque appel dès `run_start` ou `data_claim_next` : sans lui, l'écriture sur une ligne réservée est refusée. Hérité seulement si le serveur tient un run actif — n'y compte pas. | |
| _project | No | Projet (id) de CET APPEL — jeton PRIMAIRE. `oto_project(op='list')`. | |
| max_uses | No | "create_link" — the link deactivates itself after N completed checkouts (1 = paid once, by whoever opens it first). | |
| metadata | No | on the link itself. Stripe does NOT copy it onto the subscription / payment created at checkout — use `created_metadata` for that. | |
| price_id | No | REQUIRED by "create_link" — from `stripe_catalog`. | |
| quantity | No | "create_link" (default 1). | |
| _instance | No | Instance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`. | |
| session_id | No | REQUIRED by "get_session"/"session_line_items". | |
| customer_id | No | ||
| starting_after | No | ||
| payment_link_id | No | REQUIRED by "get_link"/"link_line_items"/"update_link". | |
| created_metadata | No | "create_link" — metadata set on what each checkout creates: the subscription for a recurring price, the payment intent otherwise. Reads the price first (key needs Prices: Read). | |
| managed_payments | No | "create_link" — `false` refuses Stripe Managed Payments (Stripe as merchant of record), `true` asks for it. Omitted = the account's own default, and an account can turn it ON for every new link without anyone noticing: pass `false` when the business sells in its own name with Stripe Tax. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |