> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tai42.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# tools-stripe

> Stripe payment tools for the TAI ecosystem: manifest-loaded tools for the external-ask checkout link, the webhook-bridge confirm, the reconciliation recovery layer, a flexible-amount non-blocking payment link, an early expire of an issued checkout session, and webhook-endpoint provisioning (create, list, delete).

<Info>`Tool` plugin · listing `tai42/tools-stripe`</Info>

## Install

```bash theme={null}
tai plugins install tai42-tools-stripe
```

## Permissions

| Capability | Declared |
| ---------- | -------- |
| Network    | yes      |
| Subprocess | no       |
| Filesystem | no       |

## Provides

<h3 id="confirm-stripe-payment">
  confirm\_stripe\_payment
</h3>

`Tool` · group `payment-confirm` — Answer a paid checkout ask from a Stripe webhook event.

<h3 id="create-stripe-checkout">
  create\_stripe\_checkout
</h3>

`Tool` · group `payment-sessions` — Create a Stripe Checkout Session and return its hosted payment URL.

<h3 id="create-stripe-payment-link">
  create\_stripe\_payment\_link
</h3>

`Tool` · group `payment-sessions` — Create a flexible-amount non-blocking Stripe payment link and return its URL and session id.

<h3 id="create-stripe-webhook-endpoint">
  create\_stripe\_webhook\_endpoint
</h3>

`Tool` · group `webhook-endpoints` — Create a Stripe webhook endpoint and return its id and one-time signing secret.

<h3 id="delete-stripe-webhook-endpoint">
  delete\_stripe\_webhook\_endpoint
</h3>

`Tool` · group `webhook-endpoints` — Delete a Stripe webhook endpoint by id.

<h3 id="expire-stripe-checkout">
  expire\_stripe\_checkout
</h3>

`Tool` · group `payment-sessions` — Expire an open Stripe Checkout Session early and return its id and status.

<h3 id="list-stripe-webhook-endpoints">
  list\_stripe\_webhook\_endpoints
</h3>

`Tool` · group `webhook-endpoints` — List the account's Stripe webhook endpoints (no signing secrets).

<h3 id="reconcile-stripe-payments">
  reconcile\_stripe\_payments
</h3>

`Tool` · group `payment-confirm` — Re-answer paid Stripe checkout sessions the webhook path may have lost.

Eight tools: four that take a payment through Stripe Checkout and reconcile the result
back to a blocked interaction, one that expires an open checkout session early, and three
that provision the account's webhook endpoints.
The full deployment — the money-pinning preset, the manifest
wiring, the verifier binding, the reconciliation schedule, and the confused-deputy
rules that make it safe to hand an agent — is a guide that stays central; see
[Use interactions](/guides/use-interactions). This page is the
per-tool index and the settings.

## Configuration

| Variable                                   | Default                  | Effect                                                                       |
| ------------------------------------------ | ------------------------ | ---------------------------------------------------------------------------- |
| `STRIPE_SECRET_KEY`                        | unset                    | Stripe secret or restricted key. Missing or empty raises on every tool call. |
| `STRIPE_API_BASE`                          | `https://api.stripe.com` | Stripe API origin.                                                           |
| `STRIPE_REQUEST_TIMEOUT_SECONDS`           | `20`                     | Per-request HTTP timeout in seconds.                                         |
| `STRIPE_RECONCILE_ANSWER_INTERVAL_SECONDS` | `1.2`                    | Serial pacing between answers in a reconciliation run.                       |

Two further values are read under their unprefixed platform names, shared with the
rest of the deployment: `TAI_BRIDGE_CALLBACK_SECRET` (signs the answer the tools post
back) and `INTERACTIONS_PUBLIC_BASE_URL` (the callback origin). Both must be present on
every process — app and worker — that runs these tools.

The tools reject a session whose `livemode` disagrees with the configured key's mode,
so a worker's key must be the same mode (`sk_live_`/`rk_live_` vs `sk_test_`/`rk_test_`)
as the app's.

## confirm\_stripe\_payment

Answers a paid checkout ask from a Stripe webhook event. Bound to a payments topic
through a hook so the signed `checkout.session.completed` delivery answers the blocked
caller.

## create\_stripe\_checkout

Creates a Stripe Checkout Session and returns its hosted payment URL. Compose it with
the `ask_external` extension to open a blocking payment ask.

## create\_stripe\_payment\_link

Creates a flexible-amount, non-blocking Stripe payment link and returns its URL and
session id.

## create\_stripe\_webhook\_endpoint

Provisions a Stripe webhook endpoint for an `https` URL and a set of event types, and returns
its id and one-time signing secret. Stripe reveals the secret only at creation, so this tool
returns it to the caller and persists it nowhere; storing it is the caller's job. Stripe has no
rotate-secret endpoint — rotation is create-new, swap-config, delete-old.

## delete\_stripe\_webhook\_endpoint

Deletes a Stripe webhook endpoint by id and returns Stripe's deletion confirmation.

## expire\_stripe\_checkout

Expires an `open` Checkout Session early — before Stripe's \~24h default timeout — and
returns its id and post-expire status. A completed or already-expired session is a Stripe
400 that propagates, never a silent success.

## list\_stripe\_webhook\_endpoints

Lists the account's webhook endpoints with their id, url, status and events. Stripe never
returns a signing secret post-creation.

## reconcile\_stripe\_payments

Re-answers paid Stripe checkout sessions the single-delivery webhook path may have
lost, by listing recent sessions from Stripe and answering each through the same
pinned bridge path. Run it on a schedule as the recovery layer for payments.

## See also

* [Use interactions](/guides/use-interactions) — the full Stripe payments deployment, in order.
* [Triggers and webhooks](/concepts/triggers-and-webhooks) — the verifier that authenticates the signed callback.
