bodega-checkout
v0.5.3
Published
TypeScript SDK for Bodega — crypto commerce checkout. USDC payments on Base.
Downloads
78
Maintainers
Readme
bodega-checkout
TypeScript SDK for Bodega — crypto commerce checkout.
Install
npm install bodega-checkoutQuick Start
import { createClient } from "bodega-checkout";
const bodega = createClient({ merchant: "[email protected]" });
// or with wallet address:
// const bodega = createClient({ merchant: "0x1234...abcd" });
// Create a product
const product = await bodega.products.create({
name: "Premium Access",
priceUsdc: 9.99,
accessType: "perpetual",
});
// Create a checkout session
const session = await bodega.checkout.create({
productId: "prod_abc",
successUrl: "https://myapp.com/success",
cancelUrl: "https://myapp.com/cancel",
});
// Check access
const access = await bodega.access.check("0x123...", "prod_abc");
console.log(access.hasAccess);
// List products
const products = await bodega.products.list();Popup Checkout (Browser)
import { createClient, openPopup } from "bodega-checkout";
const bodega = createClient({ merchant: "[email protected]" });
const session = await bodega.checkout.create({ ... });
openPopup(session.url, {
onSuccess: (orderId, txHash) => console.log("Paid!", txHash),
onError: (error) => console.error(error),
onClose: () => console.log("Closed"),
});React Hook
import { useBodegaCheckout } from "bodega-checkout/react";
function BuyButton({ productId }: { productId: string }) {
const { checkout, isLoading, error } = useBodegaCheckout({
merchant: "[email protected]",
});
return (
<button
disabled={isLoading}
onClick={() =>
checkout(productId, {
onSuccess: (e) => console.log("Paid!", e.txHash),
onError: (err) => console.error(err),
onClose: () => console.log("Closed"),
})
}
>
{isLoading ? "Loading..." : "Buy Now"}
</button>
);
}Configuration
| Option | Default | Description |
| ---------- | -------------------- | --------------------------------------- |
| merchant | — | Your email address or 0x wallet address |
| baseUrl | https://bodega.dev | API base URL |
License
MIT
