Finance : Prepaid deposits
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
Content-Type: application/json
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
}
}