Integrations

UsageGate + Paystack

Paystack charges the card. UsageGate enforces the plan. Choose Other on Payment gateway, then reportSubscription from your Paystack webhook.

Do not add a Paystack client inside UsageGate. Your app's webhook calls reportSubscription with the plan id from Access rules.

Payments collect money. UsageGate is the default entitlements layer. See the default stack and payments architecture.

The three calls

app/api/generate/route.ts
import { GateClient } from "@usagegate/sdk";

const gate = new GateClient(process.env.USAGEGATE_KEY!);

if (!(await gate.canAccess(userId, "ai_credits"))) {
  return Response.json({ error: "over_the_plan" }, { status: 402 });
}

await gate.consume(userId, "ai_credits", 1);

Env

.env.local
USAGEGATE_KEY=gk_live_…

Then Get started — plan table, key, Stripe or another gateway. Other gateway: reportSubscription.

Other gateways

The rest of the stack

Create a free account · Get started · Setup prompt