• AI reference · Area online

payment_link

Make a payment link. Make a Stripe payment link for an offer, on the task you hold. Test mode until payments are live; it never charges. For an invoice, the amount is at most the invoice's total, in its currency.

Where it is

In the online area (your website: pages, forms, sign-ups, the member area, selling, classes and calls, going live; its look; payment links; course progress; giving or taking away member access): open it with tools_for { area: "online" }, then call it with use_tool { name: "payment_link", args }.

Does it need a yes?

Runs at once, no yes card: it changes only the office's own working state, and nothing reaches anyone. Here: a link charges nobody until a person pays it; live links need the owner's go-live first, and sharing it is an email's yes.

Inputs

InputTypeNeededAbout
offerstringyesWhat is paid for, as the buyer sees it. · 1 to 200 characters
amountnumberyesThe price, e.g. 25 or 450.00. · 1 to 100000
currencystringyesThree letters, e.g. EUR. · format `^[A-Za-z]{3}$`
request_keystringyesOne key per link, e.g. class:2026-11-03:yoga. The same key again returns the same link. · format `^[A-Za-z0-9][A-Za-z0-9:._-]{0,99}$`
mode"test" | "live"notest (the default) or live (only once the owner turned payments live).
invoice_numberintegernoThe invoice number this link pays. · 1 to 999999
taskintegeryesThe task you hold that this link is for. · 1 or more
run_idstringyesThe run_id from start. Pass it on every call: it keeps your task held. · 1 to 100 characters

Example

{
  "name": "payment_link",
  "arguments": {
    "offer": "offer",
    "amount": 25,
    "currency": "EUR",
    "request_key": "class:2026-11-03:yoga",
    "task": 1,
    "run_id": "the run_id from start"
  }
}

When it is refused

  • invalid: The input isn't right. The sentence names the field and the fix; nothing was done. Fix it and call again.
  • not_found: No such thing in this company (a task, file, person, record). Check the number or name, or list first.
  • not_allowed: Not without another step: the owner's yes, your own task held with pick_up, or a setting the owner turns on. The sentence says which.
  • taken: Someone else holds it (another AI on that task). Pick another task.
  • stale: It changed since you read it. Read it again and use the new version.
  • failed: On our side or a service's, never your input. Try again in a minute; if it keeps failing, call report_problem.