Get a checkout
curl --request GET \
--url https://uat-secure.float.co.za/api/checkouts/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://uat-secure.float.co.za/api/checkouts/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://uat-secure.float.co.za/api/checkouts/{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://uat-secure.float.co.za/api/checkouts/{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://uat-secure.float.co.za/api/checkouts/{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://uat-secure.float.co.za/api/checkouts/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://uat-secure.float.co.za/api/checkouts/{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{
"data.attributes.status": "<string>",
"data.attributes.amount": 123,
"data.attributes.created_at": {}
}Checkouts
Get a checkout
GET /api/checkouts/:id β fetch a single checkoutβs current status.
GET
/
api
/
checkouts
/
{id}
Get a checkout
curl --request GET \
--url https://uat-secure.float.co.za/api/checkouts/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://uat-secure.float.co.za/api/checkouts/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://uat-secure.float.co.za/api/checkouts/{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://uat-secure.float.co.za/api/checkouts/{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://uat-secure.float.co.za/api/checkouts/{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://uat-secure.float.co.za/api/checkouts/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://uat-secure.float.co.za/api/checkouts/{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{
"data.attributes.status": "<string>",
"data.attributes.amount": 123,
"data.attributes.created_at": {}
}Fetches one checkout. Use this for reconciliation β e.g. confirming the state of an order whose callback never arrived.
Rate limited to 5 requests per minute. Use callbacks as your primary signal and this endpoint for targeted checks, not bulk polling.
Request
string (uuid)
required
The checkout ID returned by create checkout.
curl https://uat-secure.float.co.za/api/checkouts/9b2f61c4-6c1e-4b7a-9a1d-3f2a8c0de111 \
-H "Authorization: Bearer $FLOAT_CLIENT_SECRET"
Response
200
{
"data": {
"id": "9b2f61c4-6c1e-4b7a-9a1d-3f2a8c0de111",
"type": "checkouts",
"attributes": {
"amount": 249900,
"currency": "ZAR",
"status": "successful",
"created_at": "2026-07-17T10:30:00Z"
}
}
}
string
One of:
See How Float works.
| Value | Meaning |
|---|---|
received | Awaiting shopper action β not paid yet |
successful | Paid β safe to fulfil |
cancelled | Cancelled by the shopper |
invalid_payload | The checkout request was invalid |
integer
Checkout amount in cents.
string (ISO 8601)
When the checkout was created.
Errors
| HTTP | When |
|---|---|
401 | Bad Bearer token |
404 | No checkout with that ID belongs to your merchant |
429 | More than 5 requests per minute |
βI