SuperAPI AI 工具集

swiggy-pay

通用与其它

查看项目

更新于 10-15 22:13

技能介绍

用途:完成 Swiggy 处于 PENDING_PAYMENT 的 UPI 订单支付。UPI 订单只有支付成功并执行 confirm_order 后才会变成 PLACED;该技能会自动跑完整个流程,使用者只需把链接交给用户并如实报告最终状态。

主要能力与用法:核心命令为 swiggy <server> payment-status --paas-id <paasId> --order-id <orderId> --wait --json --no-interactive;Food 订单还需传入下单响应中的 addressId、lat、lng,否则 Swiggy 无法对账,订单会一直挂起。meta.payment.next 给出的就是这条命令,可直接复制。--wait 会按 pollingIntervalInMs(约 19 秒的服务端长轮询)轮询 check_payment_status,直到 maxTimeToPollForInMs,成功后在限额处调用一次 confirm_order;它会阻塞,这是预期行为,不要手动加快轮询。等待前先把 meta.payment.bridgeUrl 交给用户,该链接会渲染二维码并提供“在 UPI 应用中打开”按钮。

结果处理:退出码 0 且 outcome 为 confirmed 表示订单已下单;10/failed 表示支付失败未扣款,可重试;10/cancelled 表示已取消,扣款会自动退款,不要自行重试;10/cart_changed 表示价格或库存变化导致未下单;10/refund_initiated 表示已扣款且退款进行中,应停止;10/timeout 表示到上限仍挂起,confirm_order 已调用一次,需先查看 swiggy <server> orders --active。单次查询可用不带 --wait 的 payment-status,返回 data.status、data.terminal、data.confirmed。仅在异常情况下才手动 confirm-order:Food 用地址与坐标确认,Instamart 与 Dineout 用 paasId 确认;confirm_order 幂等,重复调用无害,但终端失败后确认无意义。

Swiggy Money:资料称其已在 MCP 上线,若 payment-options 列出 SwiggyPay,可用 --pay swiggypay 免支付步骤下单;未列出则不要传入。

限制:具体价格、费率与支持地区资料暂未提供;不要快于服务端间隔手动轮询;超时后应检查活动订单再决定后续动作。