curl --request GET \
--url https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"paymentDate": "2023-12-25",
"bankAmount": {
"value": 7900,
"currency": "EUR"
},
"cashAmount": {
"value": 7900,
"currency": "EUR"
},
"sourceIban": "DE89370400440532013000",
"sourceAccountComment": "Paid from the managing director's private account; the company account was frozen.",
"status": "DRAFT",
"amountMatchesInvoice": true,
"ibanConsistent": true,
"readyForPickup": true,
"version": 123,
"updatedAt": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"traceId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"traceId": "<string>"
}Get current payment.
The order’s payment, wherever it sits among the order’s live shipments.
An order that has a payment never answers 404: before NOV24-1882 this
read asked only the lowest-numbered shipment, so a payment NT24 recorded
on the half it created answered 404 “This order has no payment.” while
the order itself answered 200 with PAYMENT_SUBMITTED.
When more than one half carries a payment the order has no single
payment, and that is 409 rather than one half’s columns published as
though they were the whole. Read them one at a time under
/shipments/{shipmentId}/payment; the 409 detail lists the uuids of
the halves that carry a payment, and the order’s shipmentIds name
every one of them.
curl --request GET \
--url https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novatrade24.com/v1/partners/{sellerId}/orders/{uuid}/payment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"paymentDate": "2023-12-25",
"bankAmount": {
"value": 7900,
"currency": "EUR"
},
"cashAmount": {
"value": 7900,
"currency": "EUR"
},
"sourceIban": "DE89370400440532013000",
"sourceAccountComment": "Paid from the managing director's private account; the company account was frozen.",
"status": "DRAFT",
"amountMatchesInvoice": true,
"ibanConsistent": true,
"readyForPickup": true,
"version": 123,
"updatedAt": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"traceId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"traceId": "<string>"
}Authorizations
OAuth 2.0 client_credentials grant via Keycloak service account.
Clients are provisioned per IntegrationOrganization in the
nt24-idp realm.
Path Parameters
UUID of the seller trade partner (must be in caller's authorized list).
Response
OK
Show child attributes
Show child attributes
Show child attributes
Show child attributes
"DE89370400440532013000"
Why the payment came from a bank account that is not registered
with Novatrade24. The payment is stored without it, but an order
whose payment is not from a registered account (ibanConsistent: false) cannot be completed until a comment is on file — the same
rule the platform applies to its own users. Absent or blank leaves
any comment already on the payment untouched. On a response it is
the comment on file, whether sent here or entered by NT24 staff.
"Paid from the managing director's private account; the company account was frozen."
DRAFT, SUBMITTED, VALID, INVALID Payment recorded and evidenced: paymentDate is set and an
active proof of payment — a PAYMENT_BANK_TRANSFER_SCREENSHOT
or a PAYMENT_CONFIRMATION, either one — is filed against the
order, plus a source-of-funds declaration once cash reaches
€10,000.
Derived on every read, and it can turn back to false — raising
the cash amount past the threshold makes the order wait for the
declaration. On an order split across several shipments, every
shipment answers.