Documentation Index
Fetch the complete documentation index at: https://docs.fungies.io/llms.txt
Use this file to discover all available pages before exploring further.
The Fungies JavaScript SDK provides a programmatic way to open checkout experiences in your web application.
Installation
npm install @fungies/fungies-js
Initialization
import { Fungies } from "@fungies/fungies-js";
// Initialize the SDK
Fungies.Initialize({
enableDataAttributes: true // default: true
});
Opening Checkout
Overlay Mode
Opens checkout in a full-screen modal overlay:
Fungies.Checkout.open({
checkoutUrl: "https://yourstore.fungies.io/checkout-element/your-checkout-id",
settings: {
mode: "overlay"
}
});
Embed Mode
Renders checkout inside a target DOM element:
Fungies.Checkout.open({
checkoutUrl: "https://yourstore.fungies.io/checkout-element/your-checkout-id",
settings: {
mode: "embed",
frameTarget: "checkout-container" // ID of the target element
}
});
<div id="checkout-container"></div>
Checkout Options
| Option | Type | Description |
|---|
checkoutUrl | string | Required. The checkout URL from your Fungies dashboard |
settings.mode | "overlay" | "embed" | Display mode for the checkout |
settings.frameTarget | string | DOM element ID for embed mode |
customerEmail | string | Customer email (deprecated, use billingData.email) |
billingData | object | Prefilled billing information (see below) |
discountCode | string | Discount code to apply |
quantity | number | Product quantity |
items | array | Items for multi-product checkout |
customFields | object | Custom field values |
Billing Data Object
Prefill customer billing information:
Fungies.Checkout.open({
checkoutUrl: "...",
settings: { mode: "overlay" },
billingData: {
email: "customer@example.com",
firstName: "John",
lastName: "Doe",
country: "US", // ISO 3166-1 alpha-2 code
state: "CA", // State/province code
city: "Los Angeles",
zipCode: "90001"
}
});
| Field | Type | Description |
|---|
email | string | Customer email address |
firstName | string | Customer first name |
lastName | string | Customer last name |
country | string | Country code (ISO 3166-1 alpha-2, e.g., US, GB, PL) |
state | string | State or province |
city | string | City name |
zipCode | string | Postal/ZIP code |
Multi-Product Checkout
Specify quantities for multiple offers:
Fungies.Checkout.open({
checkoutUrl: "...",
settings: { mode: "overlay" },
items: [
{ offerId: "offer-id-1", quantity: 2 },
{ offerId: "offer-id-2", quantity: 1 }
]
});
Custom Fields
Pass custom field values to the checkout:
Fungies.Checkout.open({
checkoutUrl: "...",
settings: { mode: "overlay" },
customFields: {
user_id: "usr_123",
server_region: "US-West"
}
});
Closing Checkout
Programmatically close the checkout:
Fungies.Checkout.close();
DOM Scanning
If you dynamically add checkout buttons after page load, trigger a manual scan:
Complete Example
import { Fungies } from "@fungies/fungies-js";
// Initialize
Fungies.Initialize();
// Open checkout with all options
document.getElementById("buy-button").addEventListener("click", () => {
Fungies.Checkout.open({
checkoutUrl: "https://yourstore.fungies.io/checkout-element/abc123",
settings: {
mode: "overlay"
},
billingData: {
email: currentUser.email,
firstName: currentUser.firstName,
lastName: currentUser.lastName,
country: currentUser.country
},
discountCode: "SUMMER20",
quantity: 1,
customFields: {
user_id: currentUser.id
}
});
});