process()
复制
type ProcessResult =
| { success: true; status: 200; data: { payer: string; txHash: string } }
| { success: false; status: 402; errorStage: "parse" | "verify"; response: Response402 }
| { success: false; status: 500; errorStage: "settle"; response: Response402; error: string };
分步
- parse: 解析失败 → 402
- verify: 验证失败 → 402
- settle: 结算失败 → 500(通常为链/网络问题)
其他返回类型
复制
// parse()
type ParseResult =
| { success: true; data: ParsedPayment }
| { success: false; response402: Response402 };
// verify()
type VerifyResult =
| { success: true; payer: string }
| { success: false; error: string };
// settle()
type SettleResult =
| { success: true; txHash: string; network: string }
| { success: false; error: string };
// initialize()
type InitResult =
| { success: true; detected?: number; total?: number }
| { success: false; error: string };
示例:统一处理
复制
const result = await server.process(header, requirements);
if (result.success) {
res.json({ payer: result.data.payer, txHash: result.data.txHash });
} else {
res.status(result.status).json(result.response);
}