Get a terminal payment
curl --request GET \
--url https://thirdparty.qonto.com/v2/terminal_payments/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://thirdparty.qonto.com/v2/terminal_payments/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://thirdparty.qonto.com/v2/terminal_payments/{id}', 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://thirdparty.qonto.com/v2/terminal_payments/{id}",
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://thirdparty.qonto.com/v2/terminal_payments/{id}"
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://thirdparty.qonto.com/v2/terminal_payments/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://thirdparty.qonto.com/v2/terminal_payments/{id}")
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{
"terminal_payment": {
"id": "019dd925-c6cb-7cdd-9e8f-14104f887764",
"terminal_id": "019d7188-1476-7a74-a7da-01c57793eb93",
"poi_id": "S1F2-000158252426226",
"amount": {
"value": "12.50",
"currency": "EUR"
},
"status": "AUTHORIZED",
"authorized_amount": {
"value": "12.50",
"currency": "EUR"
},
"payment_method": "visa",
"card_summary": "4242",
"metadata": {
"order_id": "order-456",
"table": "12"
},
"created_at": "2026-04-29T12:10:24Z",
"updated_at": "2026-04-29T12:10:26Z",
"authorized_at": "2026-04-29T12:10:26Z"
}
}Terminals
Get a terminal payment
Retrieves the current status and outcome of a terminal payment by ID.
GET
/
v2
/
terminal_payments
/
{id}
Get a terminal payment
curl --request GET \
--url https://thirdparty.qonto.com/v2/terminal_payments/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://thirdparty.qonto.com/v2/terminal_payments/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://thirdparty.qonto.com/v2/terminal_payments/{id}', 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://thirdparty.qonto.com/v2/terminal_payments/{id}",
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://thirdparty.qonto.com/v2/terminal_payments/{id}"
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://thirdparty.qonto.com/v2/terminal_payments/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://thirdparty.qonto.com/v2/terminal_payments/{id}")
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{
"terminal_payment": {
"id": "019dd925-c6cb-7cdd-9e8f-14104f887764",
"terminal_id": "019d7188-1476-7a74-a7da-01c57793eb93",
"poi_id": "S1F2-000158252426226",
"amount": {
"value": "12.50",
"currency": "EUR"
},
"status": "AUTHORIZED",
"authorized_amount": {
"value": "12.50",
"currency": "EUR"
},
"payment_method": "visa",
"card_summary": "4242",
"metadata": {
"order_id": "order-456",
"table": "12"
},
"created_at": "2026-04-29T12:10:24Z",
"updated_at": "2026-04-29T12:10:26Z",
"authorized_at": "2026-04-29T12:10:26Z"
}
}Authentication: API key OAuth 2.0
Scope:
Use this endpoint to poll for the outcome of a terminal payment when you cannot receive webhooks. For real-time delivery, subscribe to the
Scope:
terminal.read
Related guide: Accepting in-person payments with terminals
v1/terminal-payments webhook instead.
Use this endpoint to poll for the payment result if you cannot receive webhooks. The status field indicates whether the payment is still pending, was authorized, or was refused.
For a real-time alternative, subscribe to the v1/terminal-payments webhook instead.Authorizations
Bearer authorization header: Bearer <token>, where <token> is the access token received from the authorization server at the end of the OAuth 2.0 flow.
Headers
Required only for Sandbox API requests; to get one, please sign up to the Developer Portal.
Path Parameters
Terminal payment UUID returned in the response body of POST /v2/terminals/{terminal_id}/payment.
Response
Terminal payment details.
Show child attributes
Show child attributes
Was this page helpful?