notpanel
服务价格常见问题福利活动API
notpanel

粉丝、点赞和观看,覆盖所有平台。

目录同时包含我们直接运营的服务和经过审核的合作伙伴容量。可用性、时间、补单和滴灌支持均按服务显示;路由和合作伙伴身份保持保密。

产品

  • 服务
  • 价格
  • 价格指数
  • 推荐计划

资源

  • API
  • 博客
  • 常见问题
  • 状态

公司

  • 关于
  • 为何选择 NotPanel
  • 联系我们

法律

  • 服务条款
  • 隐私政策
  • 退款政策

语言

  • English
  • Español
  • Português
  • Русский
  • Türkçe
  • العربية
  • हिन्दी
  • Bahasa Indonesia
  • Français
  • 中文

© 2026 NotPanel 版权所有。

support@notpanel.com
notpanel
API 文档
+
API 文档

简介

  • 概览
  • 快速开始
  • 身份验证
  • 速率限制
  • 错误

目录

  • 列出服务
  • 高级目录
  • 服务类型

订单

  • 下单
  • 订单状态
  • 退款报价
  • 补单
  • 取消

账户

  • 账户状态
  • 余额

Webhook

  • 管理 webhook

参考

  • 更新日志
  • SDK 与库

需要帮助?

support@notpanel.com →

Cancel an order

取消一个普通订单,或按顺序处理账户所属最多 100 个 ID 的批次。每个普通 API 订单仅在其自身提交前 15 秒的宽限窗口内符合取消条件。

POSThttps://notpanel.com/api/v3action=cancel
需要 API key受速率限制(共享账户 + IP + action)请求体: application/x-www-form-urlencoded
提供一个数字 order ID,或最多 100 个以逗号分隔的 orders ID。批量模式绝不会延长订单的取消窗口。

参数

名称类型描述
key必需string你的 API key。
action必需string必须是字面字符串 “cancel”。
order视情况string由 action=add 返回的、账户所属一个普通订单的数字 ID。
orders视情况string (CSV)以逗号分隔的普通订单 ID,最多 100 个。响应保留输入顺序,并逐项返回成功或错误。

请求示例

将 YOUR_API_KEY 替换为在你仪表盘 API 页面下生成的 key。

curl -X POST https://notpanel.com/api/v3 \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "key=YOUR_API_KEY&action=cancel&order=7001"
const res = await fetch("https://notpanel.com/api/v3", {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body: new URLSearchParams({
    key: "YOUR_API_KEY",
    action: "cancel",
    order: "7001",
  }),
});

const data = await res.json();
console.log(data);
import requests

res = requests.post(
  "https://notpanel.com/api/v3",
  data={
    "key": "YOUR_API_KEY",
    "action": "cancel",
    "order": "7001",
},
)
print(res.json())
<?php
$body = http_build_query([
    'key' => 'YOUR_API_KEY',
    'action' => 'cancel',
    'order' => '7001',
]);

$response = file_get_contents('https://notpanel.com/api/v3', false, stream_context_create([
    'http' => [
        'method'  => 'POST',
        'header'  => "Content-Type: application/x-www-form-urlencoded\r\n",
        'content' => $body,
        'ignore_errors' => true,
    ],
]));

print_r(json_decode($response, true));

响应示例

{
  "order": 7001,
  "status": "Canceled",
  "status_key": "cancelled",
  "cancel": 1,
  "refund": "0.50",
  "refund_pending": 0
}

常见错误

状态响应体原因
409{"error":"Cancellation window has ended or the order has already started"}普通订单已离开 15 秒取消窗口,或不再处于 pending。单个请求返回 409。
409{"error":"Order is already completed"}该项目已处于不可取消的终态。若重试此前成功的取消,则返回相同的成功结果。
409{"error":"Order is already refunded"}该项目已处于不可取消的终态。若重试此前成功的取消,则返回相同的成功结果。
404{"error":"Order not found"}此账户没有该标识符对应的普通订单。单个请求返回 404。
429{"error":"Rate limit exceeded for cancel"}已达到取消 action 限制。请在报告的延迟后重试;响应为 429。

批量取消

使用 orders=7001,7002。ID 按顺序处理,每个普通订单都执行与单个取消相同的所有权、pending 状态和 15 秒检查。

[
  {
    "order": 7001,
    "status": "Canceled",
    "status_key": "cancelled",
    "cancel": 1,
    "refund": "0.50",
    "refund_pending": 0
  },
  {
    "order": 7002,
    "error": "Cancellation window has ended or the order has already started"
  }
]

取消结果与退款

普通 API 订单会在派发前保留 15 秒。在仍为 pending 时取消,会以原子方式关闭订单并确认全额退款。refund 是已记入钱包的金额;若钱包余额空间暂时阻止入账,则 refund_pending=1。重复取消不会重复入账。