Naar inhoud
Abonnement Beschikbaarheid Boeking

Aangepaste betalingsintegraties

Koppel Bookingmood aan een betalingsprovider naar keuze.

Waarom aangepaste betalingsintegraties?

Bookingmood ondersteunt standaard verschillende betalingsproviders.

Omdat we gebruikers over de hele wereld bedienen, kan elk land zijn eigen betalingsprovider hebben.

In plaats van voor al deze systemen aparte integraties te bouwen, stellen we basiscomponenten beschikbaar waarmee je aangepaste betalingspijplijnen kunt opzetten.

Aangepaste betalingsinstellingen

Ga naar Instellingen › Algemeen en stel de Betaalmethode in op Aangepast.

Een aangepaste betalingsconfiguratie bestaat uit 2 velden:

  • endpoint: De URL die wordt aangeroepen om betalingslinks te genereren

  • signing_secret: Het geheim dat we gebruiken om onze verzoeken te ondertekenen, zodat je kunt controleren of het verzoek daadwerkelijk afkomstig is van Bookingmood.

Betalingsverzoeken afhandelen

Als een gast een betaling start (door op de knop ‘betalen’ te klikken), stuurt Bookingmood een POST-verzoek naar endpoint.

Dit verzoek bevat een JSON-body:

{
  action: "PAYMENT_LINK_CREATE",
  date: number, // Aantal seconden sinds de epoch
  language: string, // Taalcode van de gebruiker
  payment_id, // ID van de betaling waarvoor het verzoek is bedoeld
}

Je kunt meer gegevens over de betaling en de bijbehorende boeking opvragen via onze API.

Het eindpunt moet snel een succesvolle statuscode (2xx) en een JSON-object teruggeven:

{
  payment_url: string
}

Voorbeeld van een eindpunt

// In dit voorbeeld wordt Express gebruikt om verzoeken te ontvangen
const express = require("express");
const app = express();

// Pas de ruwe body aan het inhoudstype application/json aan
// Als je Express v4 - v4.16 gebruikt, moet je body-parser gebruiken in plaats van express om de request body op te halen
app.post(
  "/payment-link-generation-endpoint",
  express.json({ type: "application/json" }),
  (request, response) => {
    const event = request.body;
    // Verwerk de gebeurtenis
    switch (event.action) {
 case "PAYMENT_LINK_CREATE":
 const payment = await bookingmoodApi
 .from("payments")
 .select("*")
          .eq("id", event.payment_id)
 .single();
 return response.json({
 payment_url: `https://custom-payment-provider.com/pay/${payment.amount - payment.paid}`
 });
      default:
 throw new Error(`Onverwachte actie: ${event.action}`);
    }
  }
);

app.listen(8000, () => console.log("Draait op poort 8000"));

Je eindpunt beveiligen

Nadat je hebt gecontroleerd of je endpoint naar behoren werkt, zorg je ervoor dat de verbinding veilig is door de aanbevolen werkwijzen toe te passen.

Controleer of de verzoeken afkomstig zijn van Bookingmood

Bookingmood ondertekent elk verzoek in de X-Signature-header, net zoals bij webhook-gebeurtenissen, met behulp van de signing_secret uit je configuratie. Het date-veld van het verzoek biedt bescherming tegen replay-aanvallen. Zie Controleer of gebeurtenissen door Bookingmood worden verzonden voor de stappen en een voorbeeld.

Laatst gewijzigd 3 november 2026


Neem de controle over je boekingen. Bouw een bedrijf dat van jou is.

Sluit je aan bij 1200+ onafhankelijke vakantieverhuurbedrijven die Bookingmood gebruiken om hun directe boekingen te vergroten en een sterkere band met hun gasten op te bouwen.

Start je gratis 14-daagse proefperiode