🎉 Celebrate with 10% OFF on All Products! Use Code: GFEX10 Or Buy Any 2+ Items for 30% OFF with Code: GFEX30!
Guides & Tutorials November 8, 2026

How to Take MultiSafepay Payments with Gravity Forms (iDEAL, Bancontact, Cards)

GravityExtra
How to Take MultiSafepay Payments with Gravity Forms (iDEAL, Bancontact, Cards)

Customers in the Netherlands and Belgium expect to pay the way they pay everywhere else: pick their bank for iDEAL, use Bancontact, pay by card, or transfer the amount from their bank. MultiSafepay brings these methods together on one payment page for businesses across Europe. If you take bookings, orders, registrations or donations with Gravity Forms, you can offer that payment page without building a shop. This guide shows how to take MultiSafepay payments with Gravity Forms step by step, from the API key in the MultiSafepay dashboard to the first confirmed payment and a refund.

Why take MultiSafepay payments through Gravity Forms?

Gravity Forms already works out prices, quantities, options and totals. What it needs is a safe way to collect the money and to know for sure when a payment has arrived. With a MultiSafepay feed, the form becomes the order page: the customer fills it in, pays on the MultiSafepay payment page, and the entry is marked Paid only after the order has been read back from MultiSafepay. Notifications to you and to the customer can wait until then, so nobody receives a “booking confirmed” email for an unpaid booking.

Because the payment happens on the MultiSafepay payment page, card numbers and bank logins never pass through your website. Your site only sends the order (amount, currency, description, the customer’s email) and receives the result.

Ways your customers can pay

  • iDEAL in the Netherlands: the customer picks their bank and confirms in their banking app.
  • Bancontact in Belgium.
  • Cards: Visa, Mastercard, Maestro and American Express.
  • Bank transfer: MultiSafepay emails the payment details and confirms the order when the money arrives.
  • Other methods you switch on for your website in the MultiSafepay dashboard, such as local methods in other European countries and gift cards.

Which methods appear depends on your MultiSafepay account, the currency of the order and your customer’s country. The add-on simply sends the customer to the payment page with the right amount and lets MultiSafepay show what you offer. If one form should open straight on one method, for example iDEAL, enter its gateway code in the feed.

Forms that work well with MultiSafepay

  • Class, workshop and event bookings with a fixed price per place.
  • Small shops and pre-orders where a full shop would be too much.
  • Membership fees, course registrations and application fees.
  • Donations and fundraising forms.
  • Deposits for services such as photography, tours, renovation or tuition.

What you need

  • WordPress with Gravity Forms 2.9 or newer.
  • The Gravity Forms MultiSafepay Premium Add-on (one site $49 a year, five sites $69 a year, unlimited sites $199 a year).
  • A MultiSafepay account with your website added to it. For testing, a free MultiSafepay test account.
  • The API key of your website, from the MultiSafepay dashboard.
  • An https site that MultiSafepay can reach, with a permalink structure other than “Plain”, so it can send its notifications.

Step 1: Install the add-on and connect your account

Install and activate the add-on, then activate your licence key in Forms → Settings → MultiSafepay. Leave the mode on Test, paste the API key of your website from the MultiSafepay test dashboard and save. The add-on asks MultiSafepay to confirm the key (a read that changes nothing) and shows “Connected to MultiSafepay (Test)” with the key masked. The key is stored encrypted in your database.

There is no webhook to add in the dashboard: the add-on sends its webhook address with every order, and MultiSafepay posts its notifications there. The settings page shows the address and, after the first payment, when the last notification with a valid signature arrived.

MultiSafepay settings: Test or Live mode, the masked API key of each mode, the extra currencies enabled on the account, the currency line, the connection line and the webhook address sent with every order
Settings: paste the website API key from the MultiSafepay dashboard. The webhook address is sent with every order, so there is nothing else to set up.

Set the Gravity Forms currency to Euro. If MultiSafepay has enabled other currencies on your account, tick them in the add-on settings and you can price a form in pounds, Swiss francs, krone, zloty or another of those currencies instead.

Step 2: Build the form

Create the form as usual with Product fields (or a single product with a quantity), a Total field, and the customer’s name, email and phone. The email field matters: MultiSafepay uses it for the payment confirmation and, for bank transfers, to send the payment details. Gravity Forms shows the prices in your currency, for example 120,00 €, and calculates the total as the customer changes quantities.

A pottery class booking form with quantities, the customer name, email and phone, and the total in euros, with the Continue to payment button
The form: Gravity Forms works out the total in euros; the customer pays it on the MultiSafepay payment page.

Step 3: Add a MultiSafepay feed

In the form settings, open MultiSafepay and add a feed. Choose Products and Services (or Donations), keep the form total as the payment amount, map the email, name and phone fields, and write a description such as {form_title} #{entry_id}, which you will see next to the order in the MultiSafepay dashboard and which may appear on the customer’s bank statement. Leave the payment method empty to offer everything on your website. Tick “Send form notifications only after the customer has paid” so confirmation emails go out only for paid entries.

The MultiSafepay feed: products and services with the form total, the customer email, name and phone mapping, the description with merge tags, an optional payment method and notifications after payment
The feed: map the customer email (required), name and phone, write the description and, if you like, open the payment page for one payment method.

Step 4: Test with your test account

Open the form on a public page and submit it. You are taken to the MultiSafepay test payment page, where you can pay with one of the test methods. Back on your site, the page shows your confirmation message as soon as the payment is confirmed. In the entry, the MultiSafepay box shows Paid, the MultiSafepay transaction ID and the payment method. Try a partial refund too: it is recorded in the notes once MultiSafepay completes it.

An entry paid through MultiSafepay: the MultiSafepay box with the status, amount, transaction ID, payment method, order ID and MultiSafepay status, the Refresh status button and the refund form, and the entry notes
The entry: status, MultiSafepay transaction ID and method, read back from MultiSafepay, with refunds one click away.

What happens behind the scenes

  1. On submit, the add-on takes the total Gravity Forms calculated on the server and creates a MultiSafepay order for it in cents, for example 28500 EUR, with a unique order ID for this attempt, the addresses to return to and the webhook address.
  2. MultiSafepay answers with the address of its payment page for that order. The add-on checks that it really is the MultiSafepay payment page and sends the customer there.
  3. When the order changes, MultiSafepay posts a notification to your site, signed with your API key. The add-on checks the signature first.
  4. The add-on then reads the order back from MultiSafepay. Only a completed order of the entry’s amount and currency marks the entry Paid, and only then do the held emails go out.
  5. If a notification is missed, the return page, the status check every five minutes and the Refresh status button do the same read-back.

Why the read-back matters

A notification or a return address on its own only says that something happened. Reading the order back from MultiSafepay with your own API key shows what really happened: whether it was paid, for how much and in which currency. The add-on never marks an entry Paid without it.

A worked example

A pottery studio in Amsterdam sells wheel classes at 120,00 € and a glaze and firing kit at 45,00 €. A customer books two classes and one kit. Gravity Forms shows the total 285,00 €. The add-on creates an order for 28500 EUR with the description “Book a pottery class #1042” and the customer’s email, and the customer pays with iDEAL. MultiSafepay sends its notification, the add-on reads the order back, finds it completed for 285.00 EUR, marks the entry Paid with the MultiSafepay transaction ID and sends the booking email. A week later one class is cancelled: the studio refunds 120,00 € from the entry and the note records it once MultiSafepay completes the refund.

Another customer chooses bank transfer. The entry stays Processing while MultiSafepay waits for the money. Two days later the transfer arrives, MultiSafepay sends its notification, and the entry becomes Paid without anyone touching it.

How it differs

  • It connects to your own MultiSafepay account directly with the MultiSafepay API, so the money is settled by MultiSafepay to your account under your own MultiSafepay agreement, and the payment page shows every method you have switched on for your website.
  • It never trusts the return address or the notification body on its own. The notification signature is checked with your API key, and then the order is read back from MultiSafepay. Only a completed order with the entry’s amount and currency marks the entry Paid.
  • The webhook address is sent with every order, so there is no webhook to add in the dashboard, and each entry remembers whether it was a test or a live payment.
  • Refunds, including several partial refunds, are made from the Gravity Forms entry and recorded once per MultiSafepay refund, together with refunds you make in the MultiSafepay dashboard.

Tips for smooth payments

  • Keep prices in the format Gravity Forms shows or as plain numbers such as 1250.
  • Use the Payment Completed notification event for receipts, so they are only sent for confirmed payments.
  • Use a clear description with the entry number, so you can find an order in the MultiSafepay dashboard quickly.
  • Use a permalink structure other than “Plain”, so MultiSafepay can post notifications to the webhook address.
  • If you want the payment page to stay open for a shorter or longer time, a short filter can set it; the amount and addresses always stay as Gravity Forms calculated them.

Step 5: Go live

Copy the API key of your website from the live MultiSafepay dashboard, paste it into the Live field, switch the mode to Live and save. Make one small real payment and refund it to check everything end to end. Entries paid with the test account keep their test mode, so the two never mix.

Questions

Do card or bank details reach my website?

No. The customer pays on the MultiSafepay payment page. Your site only sends the order and receives the result.

Which currencies can I use?

Euros out of the box. If MultiSafepay has enabled other currencies on your account, you can tick pound sterling, US, Canadian or Australian dollars, Swiss francs, Danish, Norwegian or Swedish krone, Polish zloty or Czech koruna as well.

What if the notification never arrives?

The customer’s return, the status check every five minutes and the Refresh status button all read the order from MultiSafepay, so a missed notification only delays the update a little. An entry still unpaid after five days is cancelled, and a payment that arrives later still marks it Paid.

Can I refund part of a payment?

Yes. You can make several partial refunds from the entry, up to the paid amount. Refunds made in the MultiSafepay dashboard are recorded too.

Are subscriptions supported?

Not in version 1.0.0: the add-on takes one-off payments for products, services and donations.

Get started

Get the Gravity Forms MultiSafepay Premium Add-on and follow the setup guide. Plans: one site $49 a year, five sites $69 a year, unlimited sites $199 a year.

0
0
Your Cart
Your cart is emptyReturn to Shop
🔥 FREQUENTLY BOUGHT TOGETHER
Complete Combo & Save 40%!
ITEM IN YOUR CART
Gravity Forms Klaviyo Add-on
$39.00/yr
+
🎁 RECOMMENDED ADD-ON SAVE 40% OFF
Original Price: $39.00/yr
Bundle Special Price: $23.40/yr