NextName Kennisbank

Finance : Prepaid deposits

  • Aangemaakt: 20-07-2026

Omschrijving

Waardeer het prepaid-saldo van het account op. De call maakt een storting (deposit) aan en levert een checkout_url terug: de betaalpagina waarnaar je de betaler doorstuurt om de betaling af te ronden. Zodra de betaling is voltooid, wordt het gestorte bedrag aan het prepaid-saldo toegevoegd.

Endpoint

Body-parameters

Het verzoek verwacht een JSON-body met de volgende velden:

Parameter Datatype Verplicht Omschrijving
method String Ja De gewenste betaalmethode: ideal, bancontact of manual (handmatige overboeking)
amount Object Ja Het te storten bedrag:
currency: valutacode (ISO 4217), bijvoorbeeld EUR
price: het bedrag dat aan het prepaid-saldo wordt toegevoegd

Antwoord

Parameter Type Omschrijving
checkout_url String De URL van de betaalpagina. Stuur de betaler hiernaartoe om de betaling af te ronden
amount Object De opbouw van het te betalen bedrag:
currency: valutacode (ISO 4217)
deposit: het bedrag dat aan het prepaid-saldo wordt toegevoegd
surcharge: object met amount (de betaalkosten) en reason (reden-code, bijvoorbeeld transaction_fee). Alleen aanwezig wanneer er betaalkosten van toepassing zijn
vat: object met amount (het btw-bedrag) en rate (het btw-percentage)
total: het totaal te betalen bedrag inclusief eventuele betaalkosten en btw

Voorbeeld

Beschrijving:
Stort € 5,00 op het prepaid-saldo via iDEAL en toon de checkout_url. Omdat iDEAL betaalkosten kent, bevat het antwoord een surcharge.

Opdracht in PHP:

<?php
$env      = "live"; // live or test
$api_key  = "XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$api_url  = "/v2/finance/deposits";
$api_host = $env === "live" ? "https://api.nextname.nl" : "https://api-test.nextname.nl";

$a_data    = [
    "method" => "ideal",
    "amount" => [ "currency" => "EUR", "price" => 5.00 ],
];
$json_data = json_encode($a_data);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_host . $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $api_key", "Content-Type: application/json"));
$output = curl_exec($ch);
curl_close($ch);

echo $output;

Opdracht in cURL:

curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-d '{"method":"ideal","amount":{"currency":"EUR","price":5.00}}' \
https://api-test.nextname.nl/v2/finance/deposits

Antwoord:

HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
{
  "checkout_url": "https://checkout.buckaroo.nl/html/redirect.ashx?r=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "amount": {
    "currency": "EUR",
    "deposit": 5,
    "surcharge": {
      "amount": 0.32,
      "reason": "transaction_fee"
    },
    "vat": {
      "amount": 1.12,
      "rate": 21
    },
    "total": 6.44
  }
}

Betaalkosten vooraf opvragen (quote)

Voordat je een storting aanmaakt, kun je met een quote opvragen of er betaalkosten van toepassing zijn en wat het totaalbedrag wordt. De quote maakt geen storting aan en levert dezelfde amount-opbouw als het antwoord hierboven, maar zonder checkout_url. Ontbreekt surcharge in het antwoord, dan zijn er voor de gekozen methode en het gekozen bedrag geen betaalkosten.

URL parameters

Parameter Datatype Verplicht Omschrijving
amount Object Ja Het te storten bedrag waarvoor je de kosten wilt berekenen. Geef de velden van het object op met blokhaken in de query-string:
amount[currency]: valutacode (ISO 4217), bijvoorbeeld EUR
amount[price]: het te storten bedrag
method String Ja De betaalmethode waarvoor je de kosten wilt berekenen: ideal, bancontact of manual

Beschrijving:
Vraag de betaalkosten op voor een storting van € 5,00 via iDEAL.

Opdracht in PHP:

<?php
$env      = "live"; // live or test
$api_key  = "XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$api_url  = "/v2/finance/deposits/quote?method=ideal&amount[currency]=EUR&amount[price]=5.00";
$api_host = $env === "live" ? "https://api.nextname.nl" : "https://api-test.nextname.nl";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_host . $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $api_key"));
$output = curl_exec($ch);
curl_close($ch);

echo $output;

Opdracht in cURL:

curl -H "Authorization: Bearer XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
"https://api-test.nextname.nl/v2/finance/deposits/quote?method=ideal&amount[currency]=EUR&amount[price]=5.00"

Antwoord:

HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
{
  "amount": {
    "currency": "EUR",
    "deposit": 5,
    "surcharge": {
      "amount": 0.32,
      "reason": "transaction_fee"
    },
    "vat": {
      "amount": 1.12,
      "rate": 21
    },
    "total": 6.44
  }
}