Revolut for Business
Connect Revolut for Business with Webflow to accept online payments on your site.
A company that banks with Revolut for Business cannot route native Webflow Ecommerce checkout through its Revolut Merchant account, because Webflow Ecommerce connects only to Stripe and PayPal. So a Revolut payment on a Webflow site always happens on a Revolut-hosted page or in a Revolut widget, and a server you run confirms it. Custom code runs in the visitor's browser, so a Revolut Secret API key can never live on a Webflow page.
Webflow's Code Embed element can host the Revolut browser SDK, and Webflow CMS collections can store records written by automation or a backend. Merchant API webhooks let that backend confirm fulfillment from completed orders.
How to integrate Revolut for Business with Webflow
What is Revolut for Business? Revolut for Business is a business account that can exchange 25+ currencies, per Revolut's own product page. A Merchant account, a sub-account of the Business account, accepts online payments by card, Revolut Pay, Apple Pay, Google Pay, and Pay by Bank. The separate Business API automates account operations such as listing transactions and initiating transfers.

The usual trigger is a sales or product page that must settle into an existing Revolut Business account. Revolut's no-code plugins target hosted ecommerce platforms such as Shopify and WooCommerce, and we found no Revolut plugin for Webflow. Each method below either redirects to a Revolut-hosted page or calls a server you control.
The Revolut for Business and Webflow integration supports four approaches:
- Payment Links: A Revolut-hosted checkout sits behind an ordinary Webflow button.
- Merchant Web SDK: The Revolut Pay button and the Checkout widget render inside a Code Embed element.
- Zapier and Make: These connect Revolut Business account activity to Webflow CMS actions without writing code.
- Webflow Data API and Revolut APIs: Your own server controls order creation, webhook handling, and CMS records, which requires server-side development.
Most implementations combine two or more of these methods depending on the complexity of the setup.
Add Revolut Payment Links and checkout widgets to Webflow pages
Apply for a Merchant account at business.revolut.com/merchant. Submitting the application starts a Know Your Merchant review, and Revolut emails you when the account is approved. Payment Links need no code on Webflow, because the button is an ordinary link. The Revolut Pay button and the Checkout widget keep the customer on your page instead, and both receive an order token from a server endpoint.
Link a Webflow button to a Revolut Payment Link
No API key is involved in a dashboard-created Payment Link. It opens a Revolut-hosted checkout with the payment methods enabled for your Merchant account, and Webflow stores nothing about the payment. Revolut's own guide covers the flow in full, and the lesson button on this page opens it.
To add a Payment Link to a Webflow page:
- Log in to Revolut Business, go to Merchant > Payment link, and click Create link.
- Enter a Title, then set a fixed amount or let the customer set the amount.
- Add an optional payment limit, expiry date, or custom field, and create the link.
- Copy the link URL from the sharing options.
- In Webflow, add a Button element, open its link settings, paste the URL, and publish the site.
The hosted checkout page supports:
- Payment methods: Customers see the methods enabled for your Merchant account.
- Branding: You can set a logo, a cover image, a button colour, and the business details shown at checkout.
- Multiple payments: A toggle lets one link accept more than one payment, with an optional payment limit or expiry date.
- QR code: The sharing options include a QR code for in-person scanning or printed material.
Dashboard links redirect to Revolut's default confirmation page after payment. A custom redirect_url exists only on orders created through the Merchant API, covered below. A Payment Link purchase also creates no Webflow Ecommerce order record or inventory change.
Mount the Revolut Pay button with a Code Embed element
The Merchant Web SDK (@revolut/checkout on npm) includes a revolutPay module that mounts a standalone Revolut Pay button. Revolut documents it in the Revolut Pay SDK guide. The button's createOrder callback must call a server you control, such as a Webflow Cloud app or a function on any serverless platform.
To mount the button:
- Deploy a server endpoint that calls
POST https://merchant.revolut.com/api/ordersand returns the ordertoken(see the API section below). - In Webflow, open Add panel > Advanced > Embed and drag the element onto the page.
- Add a container such as
<div id="revolut-pay-container"></div>, load the SDK, and paste the initialization:
const { revolutPay } = await RevolutCheckout.payments({
publicToken: '<YOUR_PUBLIC_API_KEY>',
locale: 'en',
})
revolutPay.mount('#revolut-pay-container', {
currency: 'GBP',
totalAmount: 1000,
createOrder: async () => {
const response = await fetch('/api/create-revolut-order') // your server endpoint
const order = await response.json()
return { publicId: order.token }
},
})
- Replace
/api/create-revolut-orderwith the full HTTPS URL of your endpoint, then publish the site.
A Code Embed holds up to 50,000 characters. The button renders on the published site, outside the Webflow canvas, and totalAmount is in the currency's smallest unit, such as pence or cents.
Embed the Revolut Checkout widget
RevolutCheckout.embeddedCheckout() gathers the payment methods you enable into one widget that Revolut manages. Set their order and availability in the dashboard under your profile > Settings > Merchant > Revolut Checkout, not in code. Revolut's Checkout web guide covers the full flow.
To embed the widget:
- Bundle
@revolut/checkout, host the built file externally, and load it with a<script src>tag under Site settings > Custom code > Head code. - Place an empty
<div>target and this initialization in a Code Embed on the checkout page:
const { destroy } = await RevolutCheckout.embeddedCheckout({
publicToken: '<yourPublicApiKey>',
mode: 'prod',
locale: 'en',
})
- Add the
targetselector and acreateOrderfunction that calls your backend and returns{ publicId: order.token }. - Wire
onSuccess(),onError(), andonCancel()to page state only, then publish.
Revolut's guide states that you "must rely on webhooks for all critical backend logic, such as confirming the order, releasing digital goods, or starting the shipping process." If you enable Apple Pay, the same guide requires you to register your domain for Apple Pay before the button renders in the widget. Google Pay has no equivalent step in that guide.
Connect with Zapier or Make
Both tools work with Revolut Business account data, not Merchant account data, so checkout orders and Payment Links never reach them as triggers. The Revolut Business Zapier app has one trigger, New Transaction, which fires when you exchange, send, or receive money, plus a Find Account search. Zapier has no dedicated Revolut and Webflow pairing page, so you build the Zap yourself. Make lists Revolut Business modules beside its Webflow modules on one integration page, including a Create a Draft Payment action.
The available pairings are:
- Transaction log: The Zapier New Transaction trigger feeds a Webflow Create CMS Item action, so each transaction sent or received becomes a CMS record.
- Account details: The Zapier Find Account search adds account details to a Webflow CMS item in the same Zap.
- Queued payouts: Any Webflow trigger in Make can run Revolut Business Create a Draft Payment, which queues an outbound payment for a person to approve.
- Plan gate: Draft payments belong to the Business API, which Revolut offers on its Grow plan and above, so check your plan before building a Make scenario around them.
Neither tool can confirm a checkout payment, so use the API route below when fulfillment depends on one.
Build with the Webflow and Revolut APIs
A server-side implementation is required for custom redirects, reliable payment confirmation, and Webflow CMS order records. A Webflow Cloud app can host the route handlers, and any external serverless platform works as well.
The available APIs are:
- Revolut Merchant API: It handles orders, customers, payments, refunds, and webhooks for your Merchant account.
- Revolut Business API: It handles accounts, counterparties, transfers, and transactions on the Business account.
- Webflow Data API: It creates CMS items and reads form submissions.
- Webflow webhooks: They push site events, such as a new form submission, to your server in real time.
Merchant API requests authenticate with Authorization: Bearer <yourSecretApiKey> plus a Revolut-Api-Version header on the operations that require it. The Business API uses OAuth 2.0 with a JWT client assertion. Webflow Data API v2 accepts a Bearer site token or OAuth token at https://api.webflow.com/v2.
Create hosted checkout orders server-side
The response to an orders call contains a token for the widget and a checkout_url for redirects. Revolut's Hosted Checkout API guide describes the pattern, and the checkout_url is the payment link.
To create an order:
- In Revolut Business, open the Merchant overview, select Merchant API, click Generate to create a Production API Secret key, and store it in an environment variable.
- Call
POST https://merchant.revolut.com/api/orderswithAuthorization: Bearer <yourSecretApiKey>andRevolut-Api-Version: {version}, using the version shown in Revolut's Merchant API reference. The body carriesamountin the smallest currency unit andcurrency. - Add
redirect_urlto the body when you want the customer returned to a Webflow thank-you page. - Read
id,token,state, andcheckout_urlfrom the response. Redirect the browser tocheckout_url, or returntokento the widget aspublicId. - Treat the order as paid only when your webhook handler receives confirmation, as described in the next section.
Test against https://sandbox-merchant.revolut.com/ with sandbox keys before switching to production. Omitting the version header where it is required returns an error response. The Create an order endpoint now returns token as the public identifier, and Revolut marks the older endpoint that returned public_id as deprecated.
Record completed orders in the Webflow CMS via webhook
An ORDER_COMPLETED webhook is the reliable signal that money moved. Your server verifies it, fetches the order, and creates a live CMS item. A Collection List then renders those items as an order log, receipt page, or attendee roster. Revolut does not guarantee the delivery order of events, so key idempotency on order_id.
To sync orders into the CMS:
- Register your HTTPS endpoint through the Merchant API webhooks endpoint, subscribing to
ORDER_COMPLETED, and store the signing secret it returns. Revolut's webhooks guide caps a merchant at 10 webhook URLs. - On each delivery, verify the
Revolut-Signatureheader with that signing secret, following Revolut's signature verification steps, before trusting the payload. - Parse the payload, which carries
event,order_id, andmerchant_order_ext_ref:
{
"event": "ORDER_COMPLETED",
"order_id": "9fc01989-3f61-4484-a5d9-ffe768531be9",
"merchant_order_ext_ref": "Test #3928"
}
- Fetch full details with
GET https://merchant.revolut.com/api/orders/{order_id}. The event payload carries only the fields above, so this call is the source of truth. - Create the item with
POST https://api.webflow.com/v2/collections/{collection_id}/items/liveusing a token withCMS:writescope.fieldDatacarriesnameandslugplus your custom fields, and/livepublishes immediately.
Use POST /v2/collections/{collection_id}/items instead when you want a staged item for review before publishing. Check Revolut's Merchant API reference for the other order and dispute events before subscribing to them.
Reconcile Webflow form submissions with Business API transactions
Businesses that take bank transfers against a Webflow form, such as a quote request or booking form, can match submissions to incoming money automatically. The Webflow side pushes in real time through a form_submission webhook or pulls in batches. The Revolut side reads the Business account's transaction history.
To reconcile submissions:
- Register
POST https://api.webflow.com/v2/sites/{site_id}/webhookswith{ "triggerType": "form_submission", "url": "..." }, adding afilterto target one form. The payload includesname,siteId,data,submittedAt, andformId. - Verify
x-webflow-signatureby computing a SHA-256 HMAC overtimestamp + ":" + JSON.stringify(request_body)usingx-webflow-timestamp. Reject requests older than 5 minutes. - Read money movements from the Business API transactions endpoint with an OAuth 2.0 Bearer token, or subscribe to Business API transaction webhooks.
- Match the submission's reference field against the transaction reference, amount, and currency.
- Write the result back with
PATCH /v2/sites/{site_id}/form_submissions/{form_submission_id}, which updates hidden fields only and needsforms:writescope.
Business API access tokens expire after 40 minutes, and the refresh token issued at setup gets you a new one. If you enable the READ_SENSITIVE_CARD_DATA scope, set up IP whitelisting first, as Revolut requires. Batch pulls of GET /v2/sites/{site_id}/form_submissions return up to 100 submissions per page.
What you can build with the Revolut for Business Webflow integration
The implementation can stop at a hosted payment page or continue into webhook-driven fulfilment.
- Agency proposal pages with deposit buttons: A Webflow proposal page ends with a "Pay deposit" button linked to a Payment Link. The client pays a fixed amount or sets one on Revolut's hosted page, and the multiple-payments toggle lets one link serve every client.
- Event ticket pages: A Payment Link with a payment limit equal to venue capacity and an expiry date sells tickets from a Webflow event page. The QR code goes on printed posters, and an
ORDER_COMPLETEDwebhook creates one CMS item per completed sale for a roster rendered in a Collection List. - Revolut Pay product checkout: A Webflow product page mounts the Revolut Pay button in a Code Embed backed by a Webflow Cloud function, so Revolut users pay without leaving the page.
- Webhook-fulfilled digital products: A course or template shop creates the order server-side, receives
ORDER_COMPLETED, and writes a live CMS item that opens access to a download page.
The same server pattern powers other Webflow Cloud apps, so build an invoice generator next if your clients also need billing documents.
Frequently asked questions
No. Webflow Ecommerce supports two payment providers, Stripe and PayPal, connected under Settings > Ecommerce > Payment (Connect a payment provider). Revolut is not on that list, so a Revolut payment on a Webflow site runs through a Payment Link, a Revolut widget in a Code Embed, or Merchant API orders from your own server.
Revolut asks for a verified, active Revolut Business account opened in a supported country, and names no plan requirement for a Merchant account (who can apply). The supported list includes the UK, Australia, Singapore, and most EEA countries. A Merchant account is a sub-account of the Business account (Merchant get started). The Business API, which the Make modules use, is available on Revolut's Grow plan and above.
A Payment Link is a redirect to a Revolut-hosted page, and Revolut documents it as a link you share, not as an embed. To keep the customer on your Webflow page, use the Revolut Checkout widget or the Revolut Pay button from the Merchant Web SDK inside a Code Embed. Both need a backend endpoint that creates the order.
Site-wide custom code needs a Core, Growth, Agency, or Freelancer Workspace, or an active Site plan (custom code settings). Code Embed elements and the site head and footer fields accept HTML, CSS, and JavaScript but no server-side languages such as PHP or Python. A Payment Link button needs no custom code at all. Server-side logic needs an external server or Webflow Cloud.
Generate keys in Revolut Business from the Merchant overview by selecting Merchant API, or through Settings > APIs > Merchant API (Revolut API key help). The Public key goes in the browser and the Secret key stays on your server. Revolut's Business sandbox is a separate account with its own credentials, and it sends no confirmation emails or SMS (Revolut Sandbox setup). Build against sandbox credentials first, then swap in production keys at go-live.
Description
Accept payments on a Webflow site through dashboard Payment Links, a custom-code checkout widget, or Merchant API orders, and log transactions to the Webflow CMS with Zapier.
This integration page is provided for informational and convenience purposes only.

Flowstar: Payment Button
Connect Flowstar Payment Button with Webflow to add PayPal-based checkout, donation, and subscription buttons to any page without a full e-commerce store setup.

Form Payments
Connect Form Payments, a Stripe payments app, with Webflow to collect card and wallet payments inside the forms you already build.
Quickbooks
Send Webflow form submissions and Ecommerce orders to QuickBooks Online through Zapier, Make, or n8n, add QuickBooks Buy buttons, or build on both APIs.
Mollie
Accept iDEAL, Bancontact, SEPA Direct Debit, and card payments on a Webflow site with Mollie Payment Links, Zapier automations, or the Mollie API.

Metamask
Connect MetaMask with Webflow to add wallet authentication, NFT galleries, and token-gated content.

GoCardless
Connect GoCardless with Webflow to collect recurring Direct Debit payments without backend development.
Razorpay
Connect Razorpay with Webflow to accept Indian payment methods like UPI, netbanking, and cards on your site.
Givebutter
Connect Givebutter, an all-in-one fundraising and donor management platform, with Webflow to embed donation forms, goal bars, and signup widgets using Code Embed.
Airwallex
Connect Airwallex, a global payments platform supporting 160+ local methods, with Webflow to accept cross-border payments via hosted checkout, embeds, or APIs.


