Learn how to integrate Bolt.new AI with Adyen in 2025 using this clear, step-by-step guide for smooth payments and smarter automation.

Book a call with an Expert
Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.
You integrate Bolt.new with Adyen the same way you integrate any full‑stack app with Adyen: you write server-side code (Node.js inside the Bolt.new workspace) that talks to Adyen’s REST API using Adyen’s official Node SDK, store the API credentials as environment variables, and expose endpoints your frontend can call to create payment sessions or handle webhooks. Bolt.new doesn’t have a special Adyen integration button — you build it just like a normal full‑stack integration inside its sandbox environment.
Inside Bolt.new, you can spin up a simple Node/Express backend and a browser-based frontend. The backend will:
This is exactly how any real integration works outside Bolt.new too; Bolt just gives you a browser workspace to develop and test it.
The steps below assume you’re using the Bolt.new default Node/Express workspace.
<ul>
<li>ADYEN_API_KEY</li>
<li>ADYEN_MERCHANT_ACCOUNT</li>
<li>ADYEN_CLIENT_KEY</li>
</ul>
npm install @adyen/api-library
// server.js (or your express server file)
import express from "express";
import { Client, CheckoutAPI } from "@adyen/api-library";
const app = express();
app.use(express.json());
// Adyen client setup
const client = new Client({
apiKey: process.env.ADYEN_API_KEY, // stored in Bolt env vars
environment: "TEST" // or "LIVE"
});
const checkout = new CheckoutAPI(client);
// Create payments endpoint
app.post("/api/create-payment", async (req, res) => {
try {
const response = await checkout.payments({
amount: { currency: "EUR", value: 1000 }, // €10.00
merchantAccount: process.env.ADYEN_MERCHANT_ACCOUNT,
reference: "bolt-payment-test",
returnUrl: "https://your-bolt-url/return" // your workspace URL
});
res.json(response);
} catch (err) {
console.error(err);
res.status(500).json({ error: "Adyen error" });
}
});
app.listen(3000, () => console.log("Server running"));
// frontend example
async function startPayment() {
const res = await fetch("/api/create-payment", {
method: "POST",
headers: { "Content-Type": "application/json" }
});
const data = await res.json();
console.log("Adyen response:", data);
}
<ul>
<li>In the Adyen Dashboard, add your Bolt.new public URL + <i>/api/webhooks/adyen</i>.</li>
<li>Verify HMAC signatures (Adyen provides the HMAC key). Bolt.new can receive them as long as the workspace is publicly reachable.</li>
</ul>
// simple webhook receiver
app.post("/api/webhooks/adyen", (req, res) => {
// verify HMAC here – Adyen docs show the exact method
console.log("Webhook received:", req.body);
res.status(200).send("[accepted]");
});
This is the full, correct, real-world way to integrate Bolt.new-based apps with Adyen.
When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.