Skip to main content
Glama

BankOpenAPI

Tạo yêu cầu thanh toán

create_payment_request

Tạo yêu cầu thanh toán cho một đơn hàng. Trả về mã ghi trong nội dung chuyển khoản, thông tin chuyển khoản, qr (chuỗi QR để vẽ ảnh: QR động một lần của ngân hàng nếu tài khoản hỗ trợ, không thì VietQR tĩnh) và hostedUrl: trang thanh toán để gửi cho người trả. Tiền về đúng mã thì trạng thái tự thành "paid". / Create a payment request for an order; returns transfer details, a qr payload (bank dynamic QR when supported, otherwise static VietQR) and a hostedUrl to send to the payer.

Input Schema

NameRequiredDescriptionDefault
amountYesSố tiền VND, số nguyên / Amount in VND (integer)
orderIdNoMã đơn hàng bên hệ thống của bạn (tùy chọn) / Your order ID (optional)
descriptionNoMô tả hiện cho người trả (tùy chọn) / Description shown to the payer (optional)
bankAccountIdNoTài khoản nhận tiền ba_… (mặc định tài khoản liên kết gần nhất) / Receiving bank account (optional)
expiresInMinutesNoThời hạn thanh toán, phút (mặc định 1440 = 24 giờ) / Expiry in minutes (default 1440)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already establish that this mutates state (readOnlyHint=false), is not idempotent (idempotentHint=false), and is not destructive. The description adds real context beyond them: the QR is a one-time dynamic bank code when the account supports it and a static VietQR otherwise, and the request auto-transitions to 'paid' once matching funds arrive. It does not mention authentication, rate limits, duplicate-request behavior, or what happens after expiry.

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 critical facts are front-loaded: the creation action, then the returned fields, then the payment reconciliation behavior. The only inefficiency is that the full content is duplicated in English after the Vietnamese, roughly doubling the length without adding 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?

Because there is no output schema, the description must explain return values, and it does so well by naming the transfer code, transfer info, qr payload semantics, and hostedUrl. What remains thin is the failure and edge-case picture: expiry behavior, what happens when a duplicate orderId is supplied, and the status before payment. These are not covered.

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 every parameter (amount bounds, orderId, description, bankAccountId default, expiresInMinutes default) is already documented in the schema. The description adds the business framing that the request is tied to an order, but no new per-parameter semantics. Baseline 3 applies.

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 names a specific verb and resource (create a payment request for an order) and then enumerates exactly what comes back: transfer code, transfer info, qr payload, and hostedUrl. Compared with its siblings, the action is unambiguous: this tool creates payment requests, not cancel/get/list requests.

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?

It implies when to use the tool by saying it is 'for an order' and that hostedUrl is 'to send to the payer'. It also notes that a payment reaches 'paid' status automatically when funds arrive with the correct code. It never states when NOT to use the tool or explicitly points to alternatives such as cancel_payment_request or get_payment_request.

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