Skip to content

Payment widget

Payment widget for on-site checkout

A small snippet of code — and your site accepts cards, SBP and Pay services right on the product or service page. The customer never leaves for a third-party address, while card details are entered in the secure MulenPay form, not on your server.

  • Fees from 2.9%
  • PCI DSS 4.0.1
Mulenpay

shop.example.com

Product page · #4821

Embedded
To pay:
1,284.00 RUB
Widget code
MulenPay.widget('checkout').mount('#pay')

On-page checkout

Live

Card

Wallet

Bank

Customer card
•••• •••• •••• 4276
No redirect
Any CMS

PCI DSS COMPLIANT

What it is

Widget or redirect to a payment page

The widget is a checkout form that opens on top of your page: the customer sees your site, your order and the amount, enters card details or picks SBP, and after paying stays right where they were. A redirect to a payment page is a different flow: the customer leaves for the payment service's address, pays and comes back. Both are secure and cost the same; the difference is what the customer sees and what you need to do on the site.

Widget on your page

The form is embedded in the layout or opens as a modal. The browser address doesn't change, and the cart and checkout stay on screen.

  • The customer keeps context: fewer abandoned payments at the last step
  • The look adapts to the site — colours, fonts, the set of payment methods
  • You need to add the script and create the payment via API, or install a CMS module

Redirect to a payment page

The site sends the customer to the MulenPay payment page. The payment happens there, and afterwards the customer returns to the address you specified.

  • Easier to embed: a link on a button is enough, no code on the page
  • Suits site builders and platforms where you can't add your own script
  • The customer sees the MulenPay page rather than your site and returns after paying

The choice isn't final: the payment is created the same way and can be shown either in the widget or by link. If the site runs on a builder with no code access, start with the link and add the widget when you can.

Benefits

Everything a payment widget needs

A simple solution that works on any website

Simple integration

The widget embeds without complex technical setup. Suits online stores, landing pages and corporate websites.

Cards, SBP and Pay services

Russian bank cards, SBP, SberPay, T-Pay and foreign cards are switched on and off in the shop settings — the customer picks the convenient one without leaving your page.

Clear fees

Rate from 2.9% per payment for Russian cards and SBP, free setup, no subscription fee.

Secure transactions

Card details are entered in the secure MulenPay form, the service is certified to PCI DSS 4.0.1, and payments are confirmed with 3-D Secure.

CMS compatibility

Ready-made modules for WordPress, 1C-Bitrix, OpenCart, PrestaShop, Drupal, Joomla and InSales, plus guides for seven more platforms.

Test payment before launch

Check the whole path — from the button click to the order status change and the receipt — before customers see the widget.

How to embed

Three ways to add payments to a site

From pasting ready-made code to full API integration

Platforms

Guides for 14 platforms

Seven platforms have a ready-made module: it adds MulenPay to the list of payment methods and the customer pays at checkout. Seven more — CRMs, site builders and learning platforms — have no module, and payments are connected by payment link or via API. Each platform's page says which path fits it.

If your platform isn't listed, the widget still works: all it needs is a way to add a script to the page and a server that creates the payment via API.

Embedding example

Two steps: add the script and open the payment

The payment is created on your server with an API request — so the amount and order contents can't be tampered with in the browser. The response contains a payment identifier. You pass it to the widget on the page, and it opens the checkout for the customer with the right amount.

The snippet on the right shows only the general shape: adding the script and the call with the identifier. The script address, parameter names and result handling are described in the documentation — copy from there, not from here.

Open the documentation
<!-- add the widget script -->
<script src="…/widget.js"></script>

<!-- call with the identifier of a payment created via API -->
<script>
  widget.open({ payment: 'payment identifier' })
</script>

Schematic. The exact script address, parameters and events are in the documentation at docs.mulenpay.com.

What you can configure

The widget adapts to your site

Checkout shouldn't look like a foreign insert

Set of payment methods

Russian bank cards, SBP, SberPay, T-Pay and foreign cards are switched on and off in the shop settings. Keep only what your customers actually pay with.

Look that matches the site

The form's colours and fonts adapt to the page design so that checkout doesn't look like someone else's window and doesn't scare the customer off at the last step.

Form language

The form language is set for your site's audience: no separate widget per language version is needed.

Receipt contents

Order items, VAT rates and the data for the 54-FZ fiscal receipt are passed with the payment — a cloud online cash register generates it.

Statuses and notifications

The site receives the payment result at its endpoint and changes the order status automatically, with no manual reconciliation against the dashboard.

Amount and order description

Set when the payment is created on the server, so the customer sees exactly the order and amount that are in the cart.

Security

Card details never touch your server

The widget frees the site from the requirements on storing and transmitting card data

Secure form

The card number, expiry and verification code are entered in the MulenPay form that opens on top of your page. This data never reaches your server, and you don't have to store it.

PCI DSS 4.0.1

The service is certified to the current version of the card data security standard and reconfirms compliance every year. The certificate is on a separate page.

3-D Secure

A card payment is confirmed by the customer's bank, so a payment with a stolen card won't go through without the cardholder's confirmation.

Test payment

Check the customer's path before launch

One run before publishing saves a lot of back-and-forth with customers after

Make a payment yourself

Open the page with the widget, place an order and go through checkout as a customer — the test payment procedure is described in the documentation.

Verify the result

The order status on the site changed, the payment is visible in the dashboard, the receipt went out, and a refund from the dashboard puts the order back in the right state.

If something doesn't add up

Write to support: support@mulenpay.com or @mulen_support_bot on Telegram. Include the page address and the payment identifier — it makes the investigation faster.

Getting started

Flexible settings for your business

Onboarding takes one business day: registration, keys, widget installation. Style the form to match your site, manage payments, refunds and reporting in the dashboard.

Terms

What widget payments cost

The full rate table and fee calculator are on the pricing page

From 2.9%

Russian bank cards — Visa, Mastercard, MIR — SBP, SberPay and T-Pay share one rate.

Foreign cards from 8.9%

Cards of foreign banks have their own rate: the final one is fixed in the contract.

From 10 ₽ to 300,000 ₽

The per-operation limit is shared by all payment methods in the widget.

No subscription fee

The widget and modules are free, onboarding takes one business day. The fee is charged only on completed payments.

FAQ

Common questions about the widget

There is no separate charge for the widget: setup and integration are free, and there is no subscription fee. You pay only the fee on payments — from 2.9% for Russian bank cards and SBP, from 8.9% for foreign cards.

Ready to embed payments?

Connect the widget and start accepting payments right on the product page.

Leave a request

Fill out the form — a manager will get in touch, tailor the terms and help with the integration.

By clicking the button you agree to the processing of personal data.

TelegramTelegram