はじめに
必要なパッケージだけ入れてください。Hibiki のパッケージはランタイム依存を持ちません。
bash
pnpm add @hibiki-js/core @hibiki-js/stripets
import { Hibiki } from "@hibiki-js/core"
import { stripe } from "@hibiki-js/stripe"
const app = new Hibiki().use(stripe({ secret: process.env.STRIPE_WEBHOOK_SECRET! }))
app.on("stripe.checkout.session.completed", async ({ event }) => {
console.log(event.data.object.id)
})
export const POST = (request: Request) => app.handle(request, { provider: "stripe" })リクエストごとの流れ
- Hibiki がリクエストを clone して生の body バイトを読む
- プロバイダーが署名を検証する
- プロバイダーがペイロードを型付きイベントにパースする(または unsupported にする)
- ハンドラが走る。何もすることがなければ
204/200を返す
次のステップ
- コンセプト — ビルダー、ミドルウェア、カスタムプロバイダー
- Stripe / GitHub — 対応イベント
- Next.js + Stripe — 一連のつなぎ方
