Skip to main content
pnpm install @norbaas-sh/astro zod

Checkout

Crie um handler de Checkout que cuida dos redirecionamentos.
import { Checkout } from "@norbaas-sh/astro";
import { NORBAAS_ACCESS_TOKEN, NORBAAS_SUCCESS_URL } from "astro:env/server";

export const GET = Checkout({
  accessToken: NORBAAS_ACCESS_TOKEN,
  successUrl: NORBAAS_SUCCESS_URL,
  server: "sandbox", // Use 'sandbox' se estiver testando a Norbaas — omita este parâmetro ou use 'production' no ambiente de produção
});

Parâmetros de Consulta (Query Params)

Passe os parâmetros de consulta para esta rota:
  • products ?products=123
  • customerId (opcional) ?products=123&customerId=xxx
  • customerExternalId (opcional) ?products=123&customerExternalId=xxx
  • customerEmail (opcional) ?products=123&customerEmail=janedoe@gmail.com
  • customerName (opcional) ?products=123&customerName=Jane
  • metadata (opcional) URL-Encoded JSON string

Portal do Cliente

Crie um portal do cliente onde ele possa visualizar pedidos e assinaturas.
import { CustomerPortal } from "@norbaas-sh/astro";
import { NORBAAS_ACCESS_TOKEN } from "astro:env/server";

export const GET = CustomerPortal({
  accessToken: NORBAAS_ACCESS_TOKEN,
  getCustomerId: (event) => "",  // Função que resolve o ID do Cliente no Norbaas
  server: "sandbox", // Use 'sandbox' se estiver testando o Norbaas — omita ou use 'production' no ambiente de produção
});

Webhooks

Uma utilidade simples que resolve os dados recebidos do webhook, validando corretamente a assinatura usando o segredo do webhook.
import { Webhooks } from '@norbaas-sh/astro';
import { NORBAAS_WEBHOOK_SECRET } from "astro:env/server"

export const POST = Webhooks({
  webhookSecret: NORBAAS_WEBHOOK_SECRET,
  onPayload: async (payload) => /**  Lidar com os dados*/,
})

Manipuladores de Payload

O manipulador de Webhook também oferece suporte a manipuladores granulares para facilitar a integração.
  • onCheckoutCreated: (payload) =>
  • onCheckoutUpdated: (payload) =>
  • onOrderCreated: (payload) =>
  • onSubscriptionCreated: (payload) =>
  • onSubscriptionUpdated: (payload) =>
  • onSubscriptionActive: (payload) =>
  • onSubscriptionCanceled: (payload) =>
  • onSubscriptionRevoked: (payload) =>
  • onProductCreated: (payload) =>
  • onProductUpdated: (payload) =>
  • onOrganizationUpdated: (payload) =>
  • onBenefitCreated: (payload) =>
  • onBenefitUpdated: (payload) =>
  • onBenefitGrantCreated: (payload) =>
  • onBenefitGrantUpdated: (payload) =>
  • onBenefitGrantRevoked: (payload) =>
  • onCustomerCreated: (payload) =>
  • onCustomerUpdated: (payload) =>
  • onCustomerDeleted: (payload) =>
  • onCustomerStateChanged: (payload) =>