Skip to main content
完成一笔订单是一条有状态的链路:每一步返回的 ID 必须原样回传给下一步,不可自造或跨链路混用。本页用 MCP 工具串起整条链路;每个工具的完整字段表见对应的 工具参考。
本页示例均为 MCP 工具调用:工具名 + JSON 参数,除绑定类工具外每个业务工具都带 consent_grant_id 参数(用户授权,cg_ 前缀)。Agent 身份则在连接层用 Authorization: Bearer clw_... 请求头携带,见下方「认证」小节。

概览

下单链路按固定顺序串起这些 MCP 工具:先备好收货地址(search_addresses → select_address),再 search_shops 选店、get_shop_menu 选品,然后 quote_cart 算价、preview_order 预览拿到下单令牌、create_order 正式下单。先定地址、再按地址搜可送达的店,下游工具因此都拿得到配送坐标。跨步 ID 由网关签发、原样回传。
免密支付签约是账户级的一次性前置(见下文「免密支付签约」),不属于每一单的链路、也不绑定某笔订单——不要把它当成下单的最后一步。
链路的 ID 传递关系:
所有金额字段单位为分(整数),不是元。例如 payable_price: 1500 表示 ¥15.00。

完整链路

免密支付签约(账户级,一次性)

免密签约让用户授权免密支付:签约一次,后续免密支付类订单即可自动扣款。它是账户级、一次性的前置设置,不绑定某一笔订单、也不是每单都要做——所以独立于上面的下单链路。建议在需要免密支付前先用 get_sign_status 查是否已签约,未签约再发起:
返回一个 action:action_type 为 open_h5 时,把用户引导到 action.action_url(H5 签约页)完成签约,完成后浏览器跳回 return_url;为 none 时表示已签约。随后用 get_sign_status 轮询签约结果。

查询订单与支付结果

下单后用 get_order_status 主动查询订单当前状态与详情:
如果 create_order 时传了 callback_url,这笔单每次状态变化都会主动 POST 一条回调(支付结果那条为 event=order_payment),无需一直轮询。两条路径如下: 回调体含 6 个键:event、order_id、ispay、status、status_text、consent_grant_id。其中 ispay 枚举:success(进入已支付流水)、closed(取消或关闭)、timeout(约 15 分钟轮询窗超时仍未支付)、unknown(授权被撤销/轮换或订单引用失效)。
完整字段见 查询订单;status 与回调 ispay 枚举见 创建订单。

认证

每个工具调用都需要双层认证:
  • Agent 身份(API Key):连接 MCP 时通过 Authorization: Bearer clw_... 请求头携带,每个请求都要带。在控制台 https://console.hicaspian.com/agents 创建 Agent 时生成。
  • 用户授权 consent grant(标识已授权用户,cg_ 前缀):作为每个业务工具的 consent_grant_id 参数传入(不走请求头)。绑定类工具 request_user_bind / verify_user_bind 例外——它们是拿授权的入口,本身不传 consent_grant_id。
详见 认证机制。错误统一返回 {"error": {"code", "message"}},见 错误处理。