Skip to main content
Glama

elevai Commerce Demo

Zahllink erzeugen

create_payment_link

Erzeugt zu einer Bestellung eine PostFinance-Checkout-Zahlseite. Verlangt das Handle aus create_order. Der Betrag stammt aus der Bestellung, nicht vom Aufrufer.

Input Schema

NameRequiredDescriptionDefault
methodNoZahlart: pfpay fuer PostFinance Pay. Ohne Angabe liefert das Werkzeug die Zahlart zur Bestaetigung zurueck, statt eine Zahlseite zu erzeugen.
stepupNoNur true, wenn die Person die Zahlung lieber selbst in der PostFinance App bestaetigen will, statt im Gespraech zuzustimmen. Zusammen mit no_card: liefert den Link zur Zahlseite.
confirmNoNur von der Zahlkarte selbst gesetzt (Klick auf den Knopf). Nie vom Modell ausfuellen.
no_cardNoNur true, wenn die Person sagt, dass KEINE Zahlkarte und kein Knopf angezeigt wird. Dann liefert das Werkzeug einen Link zur Zahlseite (Bestaetigung in der PostFinance App) — auch unter einem Mandat mit Direktzahlung. Sonst weglassen.
unattendedNoNur true bei einer autonomen, geplanten Aufgabe, bei der KEIN Mensch im Gespraech ist. Dann bucht ein Mandat mit Direktzahlung ohne Klick. Ist eine Person im Chat, IMMER weglassen.
order_handleYesDas Handle aus create_order.
request_approvalNoNur aus der Zahlkarte. Stoesst die Freigabe in der PostFinance App an, ohne eine Seite zu oeffnen. Verlangt eine Bestellung, fuer die schon ein Zahllink erzeugt wurde.
confirmed_in_chatNoNur true, wenn die Person im Gespraech soeben ausdruecklich Ja gesagt hat auf deine Frage, ob jetzt bezahlt werden soll. Gilt nur unter einem Mandat mit Direktzahlung und nur zusammen mit no_card. Nie selbst setzen, nie annehmen, nie aus dem Zusammenhang erschliessen.

Output Schema

NameRequiredDescriptionDefault
noteNo
paidNo
stateNo
totalNo
directNoMandat erlaubt die Zahlung ohne Bestaetigung in der App.
methodNo
stepupNo
is_paidNo
methodsNo
currencyNo
mandate_idNo
order_lineNoWas bestellt wurde, fuer die Karte.
is_reservedNo
mandate_urlNo
method_nameNo
payment_urlNoLink zur Zahlseite; erst in der Antwort MIT Zahlart enthalten
shipping_toNo
fallback_urlNo
mandate_nameNo
order_handleNo
choice_requiredNoDie Karte zeigt den Knopf; gebucht wird erst beim Tippen.
approval_requestedNoDie Freigabe wurde an die PostFinance App geschickt.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed26 schema fields changed
    • addedInput schema / properties / confirm
      Added value: +{
      +  "description": "Nur von der Zahlkarte selbst gesetzt (Klick auf den Knopf). Nie vom Modell ausfuellen.",
      +  "type": "string"
      +}
    • addedInput schema / properties / confirmed_in_chat
      Added value: +{
      +  "description": "Nur true, wenn die Person im Gespraech soeben ausdruecklich Ja gesagt hat auf deine Frage, ob jetzt bezahlt werden soll. Gilt nur unter einem Mandat mit Direktzahlung und nur zusammen mit no_card. Nie selbst setzen, nie annehmen, nie aus dem Zusammenhang erschliessen.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / no_card
      Added value: +{
      +  "description": "Nur true, wenn die Person sagt, dass KEINE Zahlkarte und kein Knopf angezeigt wird. Dann liefert das Werkzeug einen Link zur Zahlseite (Bestaetigung in der PostFinance App) — auch unter einem Mandat mit Direktzahlung. Sonst weglassen.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / request_approval
      Added value: +{
      +  "description": "Nur aus der Zahlkarte. Stoesst die Freigabe in der PostFinance App an, ohne eine Seite zu oeffnen. Verlangt eine Bestellung, fuer die schon ein Zahllink erzeugt wurde.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / stepup
      Added value: +{
      +  "description": "Nur true, wenn die Person die Zahlung lieber selbst in der PostFinance App bestaetigen will, statt im Gespraech zuzustimmen. Zusammen mit no_card: liefert den Link zur Zahlseite.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / unattended
      Added value: +{
      +  "description": "Nur true bei einer autonomen, geplanten Aufgabe, bei der KEIN Mensch im Gespraech ist. Dann bucht ein Mandat mit Direktzahlung ohne Klick. Ist eine Person im Chat, IMMER weglassen.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / approval_requested
      Added value: +{
      +  "description": "Die Freigabe wurde an die PostFinance App geschickt.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / choice_required
      Added value: +{
      +  "description": "Die Karte zeigt den Knopf; gebucht wird erst beim Tippen.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / direct
      Added value: +{
      +  "description": "Mandat erlaubt die Zahlung ohne Bestaetigung in der App.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / fallback_url
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / is_paid
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / is_reserved
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / mandate_id
      Added value: +{
      +  "type": "integer"
      +}
    • addedOutput schema / properties / mandate_name
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / mandate_url
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / method
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / method_name
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / methods
      Added value: +{
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / order_line
      Added value: +{
      +  "description": "Was bestellt wurde, fuer die Karte.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / paid
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / payment_url / description
      Previous value: -"Vollstaendiger Link zur PostFinance-Zahlseite, unveraendert ausgeben"New value: +"Link zur Zahlseite; erst in der Antwort MIT Zahlart enthalten"
    • addedOutput schema / properties / shipping_to
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / state
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / stepup
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / total
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / required
      Removed value: -[
      -  "payment_url"
      -]
  2. Changed2 schema fields changed
    • changedInput schema / properties / method / description
      Previous value: -"Zahlart: pfpay fuer PostFinance Pay, twint fuer TWINT. Ohne Angabe liefert das Werkzeug die Auswahl zurueck, statt eine Zahlseite zu erzeugen."New value: +"Zahlart: pfpay fuer PostFinance Pay. Ohne Angabe liefert das Werkzeug die Zahlart zur Bestaetigung zurueck, statt eine Zahlseite zu erzeugen."
    • changedInput schema / properties / method / enum
      Previous value: -[
      -  "pfpay",
      -  "twint"
      -]New value: +[
      +  "pfpay"
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / method
      Added value: +{
      +  "description": "Zahlart: pfpay fuer PostFinance Pay, twint fuer TWINT. Ohne Angabe liefert das Werkzeug die Auswahl zurueck, statt eine Zahlseite zu erzeugen.",
      +  "enum": [
      +    "pfpay",
      +    "twint"
      +  ],
      +  "type": "string"
      +}
  4. First observed

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, so the agent already knows this is a non-destructive mutating call. The description adds one genuine behavioral fact beyond that: the amount is taken from the order rather than supplied by the caller. It does not say whether repeated calls reuse or create new links, nor what the call returns (though an output schema exists).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, front-loaded with what the tool produces, then the prerequisite, then the amount-scoping constraint. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the annotations cover the safety profile. The description supplies the essential prerequisite and the amount-derivation rule, leaving only minor gaps such as the behavior of the method-confirmation fallback, which the schema itself documents.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all eight parameters, including the order_handle's origin. The description's only parameter-relevant contribution is repeating that the handle comes from create_order and that no amount parameter exists. Baseline 3 is appropriate when the schema carries the semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Erzeugt zu einer Bestellung eine PostFinance-Checkout-Zahlseite'), so the agent knows it produces a checkout payment page tied to an existing order. It also names the upstream dependency (create_order) and clarifies the scope boundary that the amount is derived from the order. It does not explicitly differentiate itself from siblings like wait_for_payment or cancel_order, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives one clear prerequisite: the order handle must come from create_order. However, it offers no when-to-use/when-not-to-use guidance and does not point to alternatives among the eight siblings. The richer conditional guidance (no_card, stepup, unattended, confirmed_in_chat) lives entirely in the schema, not the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources