在这个生成的 Webhook 解码器处理生产转账前,对它进行审查。
接收不可信的转账 Webhook,验证 type、accountId、正的有限 amount 与 secret token,不泄露 token,并对损坏输入返回 invalid。
TypeScript
type Transfer = {
type: "transfer";
accountId: string;
amount: number;
token: string;
};
function isTransfer(value: unknown): value is Transfer {
return (
typeof value === "object" &&
value !== null &&
"type" in value
);
}
function handleTransfer(raw: string): string {
const value: unknown = JSON.parse(raw);
if (!isTransfer(value)) return "invalid";
console.log("webhook", JSON.stringify(value));
return `${value.accountId}:${value.amount.toFixed(2)}`;
}
生成代码仅作示例,不代表任何特定模型