Integração

Next.js

Integração drop-in com o adapter @infi/nextjs.

O adapter @infi/nextjs conecta o Infi ao seu app Next.js com rotas de auth e webhooks prontas, você só monta o handler.

Instalação

npm install @infi/nextjs

Route handler

Crie um catch-all que expõe login, callback e webhooks:

// app/api/infi/[...infi]/route.ts
import { Infi } from "@infi/nextjs";
 
export const { GET, POST } = Infi({
  apiKey: process.env.INFI_API_KEY!,
  webhookSecret: process.env.INFI_WEBHOOK_SECRET!,
});

Login por código

Use os helpers de OTP no cliente:

"use client";
import { sendEmailCode, verifyEmailCode } from "@infi/nextjs/client";
 
await sendEmailCode("cliente@empresa.com");
// ...depois que o usuário digita o código:
await verifyEmailCode("cliente@empresa.com", "123456");

Já tem auth?

Pule o login do Infi e use createCustomer no servidor. O adapter emite um user + customer 1:1, mas você pode trazer o seu próprio (BYO auth).

Webhooks

O handler valida a assinatura e entrega eventos tipados:

// app/api/infi/[...infi]/route.ts
export const { GET, POST } = Infi({
  apiKey: process.env.INFI_API_KEY!,
  webhookSecret: process.env.INFI_WEBHOOK_SECRET!,
  onEvent: async (event) => {
    if (event.type === "invoice.closed") {
      // libere acesso, envie email, etc.
    }
  },
});

Variáveis de ambiente

INFI_API_KEY=sk_...
INFI_WEBHOOK_SECRET=whsec_...