创建发票
端点: POST /api/v1/stores/{storeId}/invoices
权限: btcpay.store.cancreateinvoice
请求体:
{
"amount": "0.001",
"currency": "BTC",
"metadata": {
"orderId": "string",
"buyerEmail": "string"
}
}
响应:
| 状态码 | 描述 |
|---|---|
| 201 | 发票创建成功 |
| 400 | 请求参数错误 |
| 403 | 权限不足 |
示例响应:
{
"id": "invoice_id",
"amount": "0.001",
"currency": "BTC",
"status": "new",
"checkoutLink": "https://btcpay-server/invoice/id"
}
### 6. 错误处理文档规范
#### 错误响应格式
```json
{
"code": "invalid-amount",
"message": "金额必须大于0"
}
常见错误代码表
| 错误代码 | HTTP状态码 | 描述 | 解决方案 |
|---|---|---|---|
invoice-not-found | 404 | 发票不存在 | 检查发票ID |
permission-denied | 403 | 权限不足 | 检查API密钥权限 |
invalid-currency | 400 | 无效货币代码 | 使用支持的货币 |
7. 版本控制与更新日志
更新日志格式
## [1.8.0] - 2024-01-15
### 新增功能
- ✅ 支持新的支付处理器
- ✅ 添加批量发票创建API
### 改进
- ⚡ 优化数据库查询性能
- 🎨 改进用户界面体验
### 修复
- 🐛 修复发票状态同步问题
- 🐛 修复安全漏洞CVE-2024-XXXX
### 破坏性变更
- 💥 移除对SQLite的支持(详见迁移指南)
文档质量检查清单
内容完整性检查
- 是否包含清晰的介绍和概述
- 是否有明确的使用场景说明
- 是否提供完整的代码示例
- 是否包含错误处理和故障排除
- 是否有版本兼容性说明
技术准确性检查
- 所有API端点描述准确
- 代码示例可正常运行
- 技术术语使用一致
- 版本信息更新及时
可读性检查
- 文档结构清晰合理
- 语言简洁明了
- 图表辅助理解复杂概念
- 中英文术语标注规范
最佳实践案例
Greenfield API授权文档示例
基于BTCPay Server现有的greenfield-authorization.md文档,优秀的技术文档应包含:
- 多认证方式说明:Basic Auth和API Keys的对比
- 安全建议:明确推荐使用API Keys而非Basic Auth
- 交互流程:提供完整的OAuth式授权流程
- 参数详解:每个查询参数的详细说明
- 示例丰富:多种场景的URL示例
数据库迁移文档示例
db-migration.md文档展示了良好的技术变更文档:
- 变更背景:说明为何要停止支持某些数据库
- 影响范围:明确影响的用户群体
- 迁移步骤:详细的迁移操作指南
- 故障处理:已知问题和解决方案
- 社区支持:提供获取帮助的渠道
文档维护流程
1. 文档更新流程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



