通过托管 OAuth 实现 Chargebee API 集成。仅在需要 Chargebee 账单管理时才安装。使用最小权限访问进行连接,并验证集成的...
Curgebee. 使用管理好的 OAuth 认证访问 Curgebee API. 管理订阅,客户,发票,以及计费工作流程.
功能概述
Curgebee. 使用管理好的 OAuth 认证访问 Curgebee API. 管理订阅,客户,发票,以及计费工作流程.是一项面向实际任务的技能,主要用于QQ快速启动.;Base URL. 网关代理请求 {subdo}。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Chargebee
通过受管 OAuth 认证访问 Chargebee API,用于管理订阅、客户、发票及计费工作流。
快速入门
# 列出客户
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/chargebee/api/v2/customers?limit=10')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
基础 URL
https://api.maton.ai/chargebee/{endpoint-path}
网关将请求代理至 {subdomain}.chargebee.com(自动替换为您的连接配置),并注入认证信息。仅支持下方「API 参考」章节中明确记录的端点 —— 请始终使用该章节中列出的具体端点路径,而非自行构造任意路径。
认证
所有请求均需在 Authorization 请求头中提供 Maton API 密钥:
Authorization: Bearer $MATON_API_KEY
环境变量:请将您的 API 密钥设置为 MATON_API_KEY:
export MATON_API_KEY="YOUR_API_KEY"
获取您的 API 密钥
- 在 maton.ai 登录或注册账户
- 访问 maton.ai/settings
- 复制您的 API 密钥
连接管理
您可在 https://api.maton.ai 管理您的 Chargebee 连接。
列出连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections?app=chargebee&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
创建连接
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'chargebee'}).encode()
req = urllib.request.Request('https://api.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
获取连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections/{connection_id}')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
响应示例:
{
"connection": {
"connection_id": "{connection_id}",
"status": "ACTIVE",
"creation_time": "2025-12-08T07:20:53.488460Z",
"last_updated_time": "2026-01-31T20:03:32.593153Z",
"url": "https://connect.maton.ai/?session_token=...",
"app": "chargebee",
"metadata": {}
}
}
在浏览器中打开返回的 url,完成 OAuth 授权流程。
删除连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
指定连接
若您拥有多个 Chargebee 连接,请使用 Maton-Connection 请求头明确指定目标连接:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/chargebee/api/v2/customers')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Maton-Connection', '{connection_id}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
请始终包含 Maton-Connection 请求头,以确保请求路由至预期的 Chargebee 账户,尤其在执行任何写入操作前。若您拥有多个连接却未指定该请求头,网关将使用默认连接,这可能并非您期望的目标账户。
安全与权限
- 访问范围受限于已连接账户凭据所允许的 Chargebee 资源。仅在确有 Chargebee 计费管理需求时安装。请遵循最小权限原则,并及时撤销不再使用的连接。
- 默认执行只读操作。 所有变更操作前,请先通过列表或获取资源确认目标标识符。
- 所有写入操作均需用户明确授权,并附带具体操作细节。 在执行任何 POST、PUT 或取消/删除调用前:
- 获取并展示目标资源(如客户名称/ID、订阅 ID、发票编号),供用户核对;
- 清晰说明预期影响(例如:“此操作将取消客户 ‘Acme Corp’ 的订阅 ‘sub_123’,计费将在当前计费周期结束时停止”);
- 等待用户明确确认后方可继续执行。
- 计费相关操作具有高影响性。 任何涉及订阅、发票或客户计费记录的操作,均须附带财务影响摘要,并强制要求用户确认。
API 参考
客户
列出客户
GET /chargebee/api/v2/customers?limit=10
获取客户
GET /chargebee/api/v2/customers/{customerId}
创建客户
POST /chargebee/api/v2/customers Content-Type: application/x-www-form-urlencoded first_name=John&last_name=Doe&email=john@example.com
更新客户
POST /chargebee/api/v2/customers/{customerId}
Content-Type: application/x-www-form-urlencoded
first_name=Jane
订阅
列出订阅
GET /chargebee/api/v2/subscriptions?limit=10
获取订阅
GET /chargebee/api/v2/subscriptions/{subscriptionId}
创建订阅
POST /chargebee/api/v2/subscriptions Content-Type: application/x-www-form-urlencoded plan_id=basic-plan&customer[email]=john@example.com&customer[first_name]=John
取消订阅
POST /chargebee/api/v2/subscriptions/{subscriptionId}/cancel
Content-Type: application/x-www-form-urlencoded
end_of_term=true
商品价格(产品目录 2.0)
列出商品价格
GET /chargebee/api/v2/item_prices?limit=10
商品
列出商品
GET /chargebee/api/v2/items?limit=10
发票
列出发票
GET /chargebee/api/v2/invoices?limit=10
下载发票 PDF
POST /chargebee/api/v2/invoices/{invoiceId}/pdf
托管页面
新订阅结账页
POST /chargebee/api/v2/hosted_pages/checkout_new_for_items Content-Type: application/x-www-form-urlencoded subscription[plan_id]=basic-plan&customer[email]=john@example.com
门户会话
创建门户会话
POST /chargebee/api/v2/portal_sessions Content-Type: application/x-www-form-urlencoded customer[id]=cust_123
筛选
GET /chargebee/api/v2/subscriptions?status[is]=active GET /chargebee/api/v2/customers?email[is]=john@example.com GET /chargebee/api/v2/invoices?date[after]=1704067200
代码示例
JavaScript
const response = await fetch(
'https://api.maton.ai/chargebee/api/v2/customers?limit=10',
{
headers: {
'Authorization': `Bearer ${process.env.MATON_API_KEY}`
}
}
);
Python
import os
import requests
response = requests.get(
'https://api.maton.ai/chargebee/api/v2/customers',
headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'},
params={'limit': 10}
)
注意事项
- POST 请求使用 form-urlencoded 格式数据
- 嵌套对象采用方括号表示法:如
customer[email] - 时间戳为 Unix 时间戳格式
- 列表响应中包含
next_offset字段用于分页 - 产品目录 2.0:请使用
item_prices和items - 重要提示:使用 curl 命令时,若 URL 中含方括号(如
fields[]、sort[]、records[]),请添加-g参数禁用 glob 解析 - 重要提示:当将 curl 输出管道传递给
jq或其他命令时,在部分 shell 环境中环境变量(如$MATON_API_KEY)可能无法正确展开,导致出现“Invalid API key”错误
错误处理
| 状态码 | 含义 |
|---|---|
| 400 | 缺少 Chargebee 连接 |
| 401 | Maton API 密钥无效或缺失 |
| 429 | 请求频率超限(每账户 10 次/秒) |
| 4xx/5xx | Chargebee API 返回的透传错误 |
问题排查:API 密钥异常
- 确认已设置
MATON_API_KEY环境变量:
echo $MATON_API_KEY
- 通过列出连接验证 API 密钥有效性:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
问题排查:应用名称无效
- 确保您的 URL 路径以
chargebee开头。例如:
- 正确:
https://api.maton.ai/chargebee/api/v2/customers - 错误:
https://api.maton.ai/api/v2/customers
资源
- Chargebee API 概览
- 客户
- 订阅
- 发票
- 托管页面
- Maton 社区
- Maton 支持
热门AI工具
相关专题
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。
0
2026.11.04
本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。
0
2026.11.03
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习
最新文章