payments
See payments. See payments, read only: newest first, live and test labelled; status needs_look for failed ones and money that doesn't match its invoice. To pay a buyer back (all or part, a booking's too): connector_call(name: "stripe", tool: "refund", args: { payment: the pi_ id from detail: true, amount?, mode }) on the task you hold; it waits for the owner's yes and can't be undone once paid back (a full refund frees a booking's place by itself). To send a buyer their receipt again: read it in thread (person_id), then email_person with its words; that is an email's yes.
Where it is
In the money area (quotes and payments): open it with tools_for { area: "money" }, then call it with read_tool { name: "payments", args }.
Does it need a yes?
Reads only: it changes nothing. Here: payments.
Inputs
| Input | Type | Needed | About |
|---|---|---|---|
mode | "live" | "test" | "all" | no | |
status | "paid" | "failed" | "refunded" | "needs_look" | no | |
invoice_number | integer | no | 1 to 999999 |
id | string | no | One payment: its id, or a Stripe id (pi_, ch_, cs_). · 1 to 200 characters |
limit | integer | no | 1 to 50 |
detail | boolean | no | true: Stripe ids too. |
run_id | string | no | The run_id from start. Pass it on every call: it keeps your task held. · 1 to 100 characters |
Example
{
"name": "payments",
"arguments": {}
}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.