@rebornpay/ts-sdk
v0.1.0
Published
Official RebornPay TypeScript SDK for merchants — payment links, checkout, and seller APIs
Readme
@reborn/sdk
Official RebornPay SDK for merchants — isomorphic (Node.js + browser).
Install
pnpm add @reborn/sdk
# or
npm install @reborn/sdkQuickstart
Server / BFF (secret key)
import { createRebornClient } from "@reborn/sdk";
const reborn = createRebornClient({
baseUrl: process.env.REBORN_API_URL ?? "https://api.rebornpay.com",
secretKey: process.env.REBORN_SECRET_KEY!,
});
const link = await reborn.paymentLinks.create({
name: "Pedido #123",
amountInCents: 9900,
paymentMethods: ["CARD", "PIX"],
});Seller dashboard (JWT)
const reborn = createRebornClient({
baseUrl: "https://api.rebornpay.com",
accessToken: session.accessToken,
});
const sellers = await reborn.sellers.list({ page: 0, size: 20 });Browser checkout (publishable key)
const reborn = createRebornClient({
baseUrl: "https://api.rebornpay.com",
publishableKey: "pk_live_...",
});
const publicLink = await reborn.paymentLinks.retrievePublic("plink_abc");
const session = await reborn.checkoutSessions.init({
paymentLinkId: publicLink.id,
amountInCents: publicLink.amountInCents,
customer: {
name: "João Silva",
email: "[email protected]",
document: "12345678900",
},
});Auth modes
| Mode | Header | Runtime | Use case |
|------|--------|---------|----------|
| secretKey | X-Api-Key | Node only | Server-side integrations, BFF |
| accessToken | Authorization: Bearer | Node only | Authenticated seller user |
| publishableKey | X-Publishable-Key | Node + browser | Public checkout |
Never expose secretKey or accessToken in browser code. The SDK throws RebornBrowserSecurityError if you try.
Resources
| Resource | Methods | Auth |
|----------|---------|------|
| paymentLinks | create, retrieve, list, update, delete, activate, deactivate | secret / bearer |
| paymentLinks | retrievePublic, installmentOptions | publishable / none |
| checkoutSessions | init, confirm, getTransactionStatus, cancelTransaction | publishable / none |
| sellers | retrieve, list | secret / bearer |
Payment links and checkout sessions are
@experimentaluntil Core Services implements the/v1/*endpoints. See CONTRACT.md for assumptions.
Error handling
import { createRebornClient, isRebornError } from "@reborn/sdk";
try {
await reborn.paymentLinks.create({ ... });
} catch (error) {
if (isRebornError(error)) {
console.error(error.status, error.code, error.message);
}
}Development
pnpm install
pnpm build
pnpm test
pnpm lintAdmin SDK (planned)
Platform admin operations (/admin/sellers, /admin/users, fee plans) will live in a separate package @reborn/sdk-admin to keep the merchant SDK bundle lean. See docs/ADMIN_SDK.md.
