Loading...
Loading...
Help with AbacatePay payment integration in Next.js projects. Use when implementing PIX payments, managing subscriptions, handling webhooks, or debugging payment flows. Covers SDK usage, webhook verification, and billing management for Brazilian SaaS applications.
npx skill4agent add andrehfp/tinyplate abacatepaybun add abacatepay-nodejs-sdkABACATEPAY_API_KEY="abp_live_..." # API key from dashboard
ABACATEPAY_WEBHOOK_SECRET="whsec_..." # Webhook secret
NEXT_PUBLIC_APP_URL="https://..." # For callback URLsimport AbacatePay from "abacatepay-nodejs-sdk";
const abacate = AbacatePay(process.env.ABACATEPAY_API_KEY!);const response = await abacate.billing.create({
frequency: "ONE_TIME",
methods: ["PIX"],
products: [{
externalId: "plan-pro",
name: "Plano Pro",
quantity: 1,
price: 2990, // R$ 29,90 in centavos
}],
customer: {
email: "user@example.com",
name: "João Silva",
},
returnUrl: "https://app.com/pricing",
completionUrl: "https://app.com/billing/success",
});
// response.data: { id, url, status, amount }const response = await abacate.pixQrCode.create({
amount: 2990, // R$ 29,90
expiresIn: 3600, // 1 hour
description: "Payment description",
});
// response.data: { id, brCode, brCodeBase64, status, expiresAt }const response = await abacate.pixQrCode.check({ id: "pix_abc123" });
// response.data.status: "PENDING" | "PAID" | "EXPIRED" | "CANCELLED"await abacate.pixQrCode.simulatePayment({ id: "pix_abc123" });import crypto from "crypto";
function validateSignature(payload: string, signature: string, secret: string): boolean {
const expected = crypto
.createHmac("sha256", secret)
.update(payload)
.digest("hex");
return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}| Event | Description |
|---|---|
| Payment confirmed via PIX |
| Withdrawal completed |
| Withdrawal failed |
interface WebhookPayload {
id: string; // Event ID (use for idempotency)
event: string; // Event type
devMode: boolean; // True if test environment
data: {
billing?: {
id: string;
amount: number;
status: string;
};
};
}| Method | Fee |
|---|---|
| PIX | R$ 0,80 flat per transaction |
| Credit Card | 3.5% + R$ 0,60 |
| Withdrawal | R$ 0,80 (up to 20/month) |
idpriceInCentsintervallimitsfeaturesuserIdplanIdstatuscurrentPeriodStart/EndabacateBillingIdstatuspaidAt