Skip to main content
Glama

Create PayPay QR Code

create_qr_code

Create a dynamic PayPay QR code for customer payment by specifying amount and order details. Get a deeplink URL and inline PNG image to present for scanning.

Instructions

Create a dynamic PayPay QR code that a customer can scan to pay. Returns the QR code both as a URL (deeplink + hosted image) and as an inline PNG image. Use wait_for_payment to poll until the customer completes the payment.

顧客がスキャンして支払うためのPayPay動的QRコードを作成します。 QRコードのURL(ディープリンクとホストされた画像)とインラインPNG画像の両方を返します。 顧客が支払いを完了するまで wait_for_payment でポーリングしてください。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
amountYesAmount in JPY (integer, no decimals). 金額(円、整数)。
code_typeNoQR code type. Currently only ORDER_QR is supported.ORDER_QR
order_itemsNoOptional line-item breakdown shown in the PayPay app. 商品明細(任意)。
redirect_urlNoWhere to send the user after they complete payment in the PayPay app.
redirect_typeNoHow the redirect should open: browser (WEB_LINK) or app (APP_DEEP_LINK).
is_authorizationNoIf true, this is a pre-auth (hold funds now, capture later). 事前承認(preauth)フラグ。
order_descriptionYesWhat the customer is paying for. 注文内容。
merchant_payment_idNoUnique ID for this payment. Auto-generated (UUID) if omitted. Reusing an ID for a different order will fail. 注文ごとの一意のID。省略時は自動生成。

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A4.1/5.0
Behavior4/5

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

Beyond the annotations, the description discloses that the QR code is dynamic, that the result is returned both as a URL (deeplink + hosted image) and as an inline PNG, and that the caller must poll with wait_for_payment. This adds useful behavioral context beyond the simple readOnly/idempotent/destructive flags and does not contradict the annotations.

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

Conciseness4/5

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

The English description is concise and front-loaded: purpose, return format, and follow-up action in three sentences. The Japanese translation is redundant for an AI agent and doubles the length, but it is placed after the English and does not obscure the key information.

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?

For a tool with no output schema, the description does a good job of stating what is returned (URL and inline PNG) and what the caller should do next (poll with wait_for_payment). Combined with the fully documented input schema, this covers the essential workflow, though it omits details like error conditions or QR expiration.

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%, and the schema already explains amount, order_description, redirect_url, merchant_payment_id, and other fields in detail. The tool description adds no parameter-level meaning, so the baseline of 3 is appropriate; the schema carries the parameter documentation burden.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Create a dynamic PayPay QR code that a customer can scan to pay.' It clearly identifies the tool's function and distinguishes it from the sibling tools (get_payment_details, delete_qr_code, wait_for_payment) by framing it as the creation step, not a lookup, deletion, or polling operation.

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

Usage Guidelines4/5

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

The description gives explicit follow-up guidance: 'Use wait_for_payment to poll until the customer completes the payment.' This tells the agent what to do after calling this tool. It does not explicitly contrast with get_payment_details or delete_qr_code, but the creation-oriented wording makes the appropriate context clear.

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