Plugins

SDK's en libraries

Buckaroo in je eigen applicatie

Bouw je eigen betaalflow met onze open source SDK’s voor PHP, .NET, Node.js en Python, of met onze Laravel Wrapper. Verwerk betalingen, terugbetalingen en statusupdates met een paar regels code.

Logo's van PHP, .NET, Node.js en Python rond de groene Buckaroo-A

Voor developers

Van client tot terugbetaling

Onze SDK’s regelen de communicatie met Buckaroo voor je. Zo ziet een complete betaalflow eruit, in vijf stappen. Kies je taal en bekijk de code per stap.

1. Client aanmaken

Met je Store key en Secret key, in test- of livemodus.

use Buckaroo\BuckarooClient;

$buckaroo = new BuckarooClient(
    'STORE_KEY',
    'SECRET_KEY',
    'test'   // of 'live'
);

2. Webhook valideren

Controleer of een PUSH-bericht echt van Buckaroo komt.

use Buckaroo\Handlers\Reply\ReplyHandler;

$reply = new ReplyHandler(
    $buckaroo->client()->config(),
    $_POST
);

if ($reply->validate()->isValid()) {
    // Bestelling op betaald zetten
}

// Voorbeeld-response
// brq_statuscode    = 190  (geslaagd)
// brq_invoicenumber = INV-1001

3. Betaling starten

Kies de betaalmethode en geef het bedrag mee.

$response = $buckaroo->method('ideal')->pay([
    'invoice'     => 'INV-1001',
    'amountDebit' => 10.10,
    'returnURL'   => 'https://example.com/return',
]);

if ($response->hasRedirect()) {
    // Stuur de klant naar de betaalpagina
    header('Location: ' . $response->getRedirectUrl());
}

// Voorbeeld-response
// getStatusCode()     → 791  (in behandeling)
// getTransactionKey() → 'D3A9C5E2F1B84C6A9E7F0B1C2D3E4F5A'

4. Status opvragen

Vraag de actuele status van de transactie op.

$transaction = $buckaroo->transaction($transactionKey);
$status = $transaction->status();

// Voorbeeld-response
// getStatusCode() → 190  (geslaagd)
// isSuccess()     → true

5. Terugbetalen

Betaal het volledige bedrag of een deel terug.

$response = $buckaroo->method('ideal')->refund([
    'invoice'                => 'INV-1001',
    'originalTransactionKey' => $transactionKey,
    'amountCredit'           => 10.10,
]);

// Voorbeeld-response
// getStatusCode() → 190  (terugbetaald)

1. Client aanmaken

Met je Store key en Secret key, in test- of livemodus.

using BuckarooSdk;
using System.Globalization;

var client = new SdkClient();

// Sleutels en test- of livemodus geef je per request mee
var culture = new CultureInfo("nl-NL");
var isLive = false;   // of true

2. Webhook valideren

Controleer of een PUSH-bericht echt van Buckaroo komt.

var pushHandler = client.GetPushHandler(secretKey);

// Gooit een AuthenticationException bij een ongeldige handtekening
Push push = pushHandler.DeserializePush(
    body, requestUri, authorizationHeader);

if (push.Status.Code.Code == Constants.Status.Success)
{
    // Bestelling op betaald zetten
}

// Voorbeeld-response
// push.Status.Code.Code → 190  (geslaagd)
// push.Key              → "D3A9C5E2F1B84C6A9E7F0B1C2D3E4F5A"

3. Betaling starten

Kies de betaalmethode en geef het bedrag mee.

var response = client.CreateRequest()
    .Authenticate(storeKey, secretKey, isLive, culture)
    .TransactionRequest()
    .SetBasicFields(new TransactionBase
    {
        Currency = "EUR",
        AmountDebit = 10.10m,
        Invoice = "INV-1001",
        ReturnUrl = "https://example.com/return",
    })
    .Ideal()
    .Pay(new IdealPayRequest())
    .Execute();

// Voorbeeld-response
// response.Status.Code.Code → 791  (in behandeling)
// response.RequiredAction.RedirectURL → "https://checkout.buckaroo.nl/..."

4. Status opvragen

Vraag de actuele status van de transactie op.

var status = client.CreateRequest()
    .Authenticate(storeKey, secretKey, isLive, culture)
    .TransactionStatusRequest()
    .Status(transactionKey)
    .GetSingleStatus();

// Voorbeeld-response
// status.Status.Code.Code → 190  (geslaagd)

5. Terugbetalen

Betaal het volledige bedrag of een deel terug.

var refund = client.CreateRequest()
    .Authenticate(storeKey, secretKey, isLive, culture)
    .TransactionRequest()
    .SetBasicFields(new TransactionBase
    {
        Currency = "EUR",
        AmountCredit = 10.10m,
        Invoice = "INV-1001",
        OriginalTransactionKey = transactionKey,
    })
    .Ideal()
    .Refund(new IdealRefundRequest())
    .Execute();

// Voorbeeld-response
// refund.Status.Code.Code → 190  (terugbetaald)

1. Client aanmaken

Met je Store key en Secret key, in test- of livemodus.

import Buckaroo from '@buckaroo/buckaroo_sdk';

const buckaroo = Buckaroo.InitializeClient(
    { websiteKey: 'STORE_KEY', secretKey: 'SECRET_KEY' },
    { mode: 'TEST', currency: 'EUR' }   // of 'LIVE'
);

2. Webhook valideren

Controleer of een PUSH-bericht echt van Buckaroo komt.

import { ReplyHandler } from '@buckaroo/buckaroo_sdk';

// rawBody: de ruwe request body als string
const reply = new ReplyHandler(buckaroo.credentials, rawBody)
    .validate();

if (reply.isValid()) {
    const push = reply.data();
    // Bestelling op betaald zetten
}

// Voorbeeld-response
// push.brq_statuscode    → '190'  (geslaagd)
// push.brq_invoicenumber → 'INV-1001'

3. Betaling starten

Kies de betaalmethode en geef het bedrag mee.

const payment = await buckaroo
    .method('ideal')
    .pay({
        invoice: 'INV-1001',
        amountDebit: 10.10,
        returnURL: 'https://example.com/return',
    })
    .request();

// Voorbeeld-response
// payment.getStatusCode()     → 791  (in behandeling)
// payment.getRedirectUrl()    → 'https://checkout.buckaroo.nl/...'
// payment.getTransactionKey() → 'D3A9C5E2F1B84C6A9E7F0B1C2D3E4F5A'

4. Status opvragen

Vraag de actuele status van de transactie op.

const transaction = buckaroo.transaction(transactionKey);
const status = await transaction.status();

// Voorbeeld-response
// status.getStatusCode() → 190  (geslaagd)
// status.isSuccess()     → true

5. Terugbetalen

Betaal het volledige bedrag of een deel terug.

const refund = await buckaroo
    .method('ideal')
    .refund({
        invoice: 'INV-1001',
        originalTransactionKey: transactionKey,
        amountCredit: 10.10,
    })
    .request();

// Voorbeeld-response
// refund.getStatusCode() → 190  (terugbetaald)

1. Client aanmaken

Met je Store key en Secret key, in test- of livemodus.

from buckaroo import BuckarooClient
from buckaroo.services.payment_service import PaymentService

client = BuckarooClient("STORE_KEY", "SECRET_KEY", mode="test")  # of "live"
payments = PaymentService(client)

2. Webhook valideren

Controleer of een PUSH-bericht echt van Buckaroo komt.

from buckaroo.services.reply import HttpPost

# Form-encoded PUSH-bericht van Buckaroo
if HttpPost("SECRET_KEY").validate(request.form):
    # Bestelling op betaald zetten
    ...

# Voorbeeld-response
# brq_statuscode    = "190"  (geslaagd)
# brq_invoicenumber = "INV-1001"

3. Betaling starten

Kies de betaalmethode en geef het bedrag mee.

response = (
    payments.create_payment("ideal")
    .currency("EUR")
    .amount(10.10)
    .invoice("INV-1001")
    .return_url("https://example.com/return")
    .pay()
)

# Voorbeeld-response
# response.status.code.code   → 791  (in behandeling)
# response.get_redirect_url() → "https://checkout.buckaroo.nl/..."

4. Status opvragen

Vraag de actuele status van de transactie op.

status = client.http_client.get(
    f"/json/Transaction/Status/{transaction_key}"
)

# Voorbeeld-response
# status.get_status_code() → 190  (geslaagd)

5. Terugbetalen

Betaal het volledige bedrag of een deel terug.

response = (
    payments.create_payment("ideal")
    .currency("EUR")
    .amount(10.10)
    .invoice("INV-1001")
    .refund(original_transaction_key=transaction_key)
)

# Voorbeeld-response
# response.status.code.code → 190  (terugbetaald)

1. Client aanmaken

Met je Store key en Secret key, in test- of livemodus.

# .env
BPE_WEBSITE_KEY=your_store_key
BPE_SECRET_KEY=your_secret_key
BPE_MODE=test   # of live

// De wrapper maakt de client aan bij het opstarten van de app

2. Webhook valideren

Controleer of een PUSH-bericht echt van Buckaroo komt.

use Buckaroo\Laravel\Facades\Buckaroo;

// De wrapper registreert POST /buckaroo/push en valideert elke push
if (Buckaroo::api()->validateBody($request->all())) {
    // Bestelling op betaald zetten
}

// Voorbeeld-response
// brq_statuscode    = 190  (geslaagd)
// brq_invoicenumber = INV-1001

3. Betaling starten

Kies de betaalmethode en geef het bedrag mee.

use Buckaroo\Laravel\Facades\Buckaroo;

$response = Buckaroo::api()->method('ideal')->pay([
    'currency'    => 'EUR',
    'amountDebit' => 10.10,
    'invoice'     => 'INV-1001',
]);

// Stuur de klant naar de betaalpagina
return redirect($response->getRedirectUrl());

// Voorbeeld-response
// getStatusCode() → 791  (in behandeling)

4. Status opvragen

Vraag de actuele status van de transactie op.

$status = Buckaroo::api()
    ->transaction($transactionKey)
    ->status();

// Voorbeeld-response
// getStatusCode() → 190  (geslaagd)

5. Terugbetalen

Betaal het volledige bedrag of een deel terug.

$response = Buckaroo::api()->method('ideal')->refund([
    'invoice'                => 'INV-1001',
    'originalTransactionKey' => $transactionKey,
    'amountCredit'           => 10.10,
]);

// Voorbeeld-response
// getStatusCode() → 190  (terugbetaald)

Kies je SDK

Alle SDK’s zijn open source en werken op dezelfde manier. Kies de taal waarin je bouwt, of gebruik de Laravel Wrapper als je met Laravel werkt.

Dit regelen de SDK’s voor je

Alle betaalmethoden van Buckaroo

Van Wero en Bancontact tot creditcards, Klarna en wallets: met de SDK’s spreek je elke methode op dezelfde manier aan.

Logo's van Wero, Bancontact, Visa, Mastercard, Klarna, Apple Pay en PayPal

Alle methoden →

Voorbeelden per methode

Op GitHub vind je per SDK voorbeelden om snel mee te beginnen.

Testen zonder risico

Zet de client in testmodus en probeer alles uit in de testomgeving, zonder echte betalingen.

Terugbetalen en status

Betaal klanten volledig of gedeeltelijk terug en vraag de status van elke transactie op.

Open source

Alle SDK’s zijn open source. Verbeteringen zijn welkom via GitHub.

Zo ga je aan de slag

1

Installeer de SDK

Installeer de SDK voor jouw taal met Composer, NuGet, npm of pip.

2

Maak de client aan

Maak de client aan met je Store key en Secret key. Die vind je in de Buckaroo omgeving.

3

Test en ga live

Bouw en test je betaalflow in testmodus. Werkt alles? Zet de client dan op live.

Wat heb je nodig?

  • Een Buckaroo-account
  • Een project in PHP, .NET, Node.js of Python

Volledige handleiding →

Veelgestelde vragen

Zijn er kosten verbonden aan de SDK’s?

Voor de SDK’s zelf betaal je niets. Voor transacties gelden de tarieven uit je Buckaroo-contract.

Welke taalversies worden ondersteund?

De actuele vereisten staan in de README van elke SDK op GitHub.

Waar vind ik mijn Store key en Secret key?

Log in op je Buckaroo omgeving. Daar vind je onder Instellingen → API Keys de gegevens voor je client.

Hoe test ik zonder echte betalingen?

Maak de client aan in testmodus. Alle transacties gaan dan naar de testomgeving van Buckaroo, dus er wordt geen geld afgeschreven.

Welke betaalmethoden kan ik gebruiken?

Alle betaalmethoden van Buckaroo. Een methode moet wel actief zijn in je Buckaroo-account. Per methode vind je de details in de documentatie.

Hoe weet ik of een betaling gelukt is?

Buckaroo stuurt een PUSH-bericht naar je server zodra de status verandert. Je kunt de status van een transactie ook zelf opvragen met de SDK.

Kan ik ook terugbetalen?

Ja. Met de SDK’s betaal je een betaling volledig of gedeeltelijk terug op basis van de oorspronkelijke transactie.

Waar vind ik voorbeeldcode?

In de README en de voorbeelden van elke SDK op GitHub.

Ik heb een bug gevonden of een idee. Waar meld ik dat?

Maak een issue aan in de repository van de SDK op GitHub. Pull requests zijn ook welkom.

Ik loop vast. Waar krijg ik hulp?

Neem contact op met onze technische support. Zij denken graag met je mee over je integratie.

Staat je vraag er niet bij?

In de documentatie vind je alle antwoorden, of stel je vraag aan onze technische support.

Meer weten over deze webshop plugin?

Onze specialisten staan klaar om al je vragen te beantwoorden. Vul het formulier in, dan nemen we zo spoedig mogelijk contact met je op.  

A Portraits 1 (1)