curl --request POST \
--url https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"transactionDateFrom": "2023-12-25",
"transactionDateTo": "2023-12-25",
"productIds": [
123
],
"cursor": "<string>",
"limit": 123,
"sortExpression": "<string>",
"filter": {
"cardNumber": "<string>",
"driverName": "<string>",
"network": "<string>",
"cardAddtionalData": "<string>",
"vehicleRegistrationNumber": "<string>",
"partialMatch": true
}
}
'import requests
url = "https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions"
payload = {
"transactionDateFrom": "2023-12-25",
"transactionDateTo": "2023-12-25",
"productIds": [123],
"cursor": "<string>",
"limit": 123,
"sortExpression": "<string>",
"filter": {
"cardNumber": "<string>",
"driverName": "<string>",
"network": "<string>",
"cardAddtionalData": "<string>",
"vehicleRegistrationNumber": "<string>",
"partialMatch": True
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
transactionDateFrom: '2023-12-25',
transactionDateTo: '2023-12-25',
productIds: [123],
cursor: '<string>',
limit: 123,
sortExpression: '<string>',
filter: {
cardNumber: '<string>',
driverName: '<string>',
network: '<string>',
cardAddtionalData: '<string>',
vehicleRegistrationNumber: '<string>',
partialMatch: true
}
})
};
fetch('https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions', 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://apigwuat.corpay.com/cards/{cardIdentifier}/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'transactionDateFrom' => '2023-12-25',
'transactionDateTo' => '2023-12-25',
'productIds' => [
123
],
'cursor' => '<string>',
'limit' => 123,
'sortExpression' => '<string>',
'filter' => [
'cardNumber' => '<string>',
'driverName' => '<string>',
'network' => '<string>',
'cardAddtionalData' => '<string>',
'vehicleRegistrationNumber' => '<string>',
'partialMatch' => true
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions"
payload := strings.NewReader("{\n \"transactionDateFrom\": \"2023-12-25\",\n \"transactionDateTo\": \"2023-12-25\",\n \"productIds\": [\n 123\n ],\n \"cursor\": \"<string>\",\n \"limit\": 123,\n \"sortExpression\": \"<string>\",\n \"filter\": {\n \"cardNumber\": \"<string>\",\n \"driverName\": \"<string>\",\n \"network\": \"<string>\",\n \"cardAddtionalData\": \"<string>\",\n \"vehicleRegistrationNumber\": \"<string>\",\n \"partialMatch\": true\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"transactionDateFrom\": \"2023-12-25\",\n \"transactionDateTo\": \"2023-12-25\",\n \"productIds\": [\n 123\n ],\n \"cursor\": \"<string>\",\n \"limit\": 123,\n \"sortExpression\": \"<string>\",\n \"filter\": {\n \"cardNumber\": \"<string>\",\n \"driverName\": \"<string>\",\n \"network\": \"<string>\",\n \"cardAddtionalData\": \"<string>\",\n \"vehicleRegistrationNumber\": \"<string>\",\n \"partialMatch\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transactionDateFrom\": \"2023-12-25\",\n \"transactionDateTo\": \"2023-12-25\",\n \"productIds\": [\n 123\n ],\n \"cursor\": \"<string>\",\n \"limit\": 123,\n \"sortExpression\": \"<string>\",\n \"filter\": {\n \"cardNumber\": \"<string>\",\n \"driverName\": \"<string>\",\n \"network\": \"<string>\",\n \"cardAddtionalData\": \"<string>\",\n \"vehicleRegistrationNumber\": \"<string>\",\n \"partialMatch\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"hasNextPage": true,
"nextCursor": "454334",
"totalCount": 120,
"lastPage": false,
"totalTransactionAmount": 130000,
"transactions": [
{
"cardGroupId": 43534,
"cardGroupName": "Fleet Group A",
"cardIdentifier": 453,
"cardNumber": "411111******1111",
"currency": "EUR",
"customerAccountNumber": "435435",
"duration": 45,
"evEndTime": "2025-01-15T11:00:00.000Z",
"evStartTime": "2025-01-15T10:15:00.000Z",
"homeChargeVatExempt": false,
"keyIdentifier": "23221321",
"merchant": {
"address": {
"addressLines": "123 Energy Park",
"city": "Amsterdam",
"country": "Netherlands",
"countryCode": "NLD",
"region": "North Holland",
"zipCode": "12345"
},
"incomingMerchantDescription": "FastCharge NL Central",
"incomingMerchantNumber": "IM-7890",
"merchantId": 223,
"merchantName": "FastCharge Station"
},
"merchantGroup": {
"merchantGroupId": 324,
"merchantGroupName": "FastCharge Group"
},
"network": {
"networkId": 2342,
"networkName": "IONITY"
},
"odometer": 45230,
"powerType": "DC",
"private": false,
"productGroup": {
"productGroupId": 234,
"productGroupName": "EV Charging"
},
"totalAmountExclVAT": 125.63,
"totalAmountInclVAT": 150.75,
"transactionDate": "2025-01-15T00:00:00.000Z",
"transactionId": "2332-2322-3322-1212",
"voucherNumber": "zmdkwl33",
"additionalInfo": {
"driverName": "John Doe",
"cardAddtionalData": "new card"
},
"transactionSegments": [
{
"product": {
"productCode": "EV-DC-FAST",
"productId": 501,
"productName": "DC Fast Charging"
},
"productEndTime": "2025-01-15T10:40:00.000Z",
"productQuantity": 20.5,
"productStartTime": "2025-01-15T10:15:00.000Z",
"transactionLineItemId": 1,
"unitAmountExclVAT": 62.82
},
{
"product": {
"productCode": "EV-AC",
"productId": 502,
"productName": "AC Charging"
},
"productEndTime": "2025-01-15T11:00:00.000Z",
"productQuantity": 18.3,
"productStartTime": "2025-01-15T10:40:00.000Z",
"transactionLineItemId": 2,
"unitAmountExclVAT": 62.81,
"unitAmountInclVAT": 75.37,
"unitOfMeasurement": "kwH"
}
],
"transactionStatus": "Unbilled",
"vatRate": "20%",
"vehicleRegistrationNumber": "AB12CDE"
}
]
}{
"errorCode": "ER-001",
"errorDescription": "Invalid request parameters"
}{
"errorCode": "ER-012",
"errorDescription": "The server encountered an unexpected condition and could not complete the request. Please contact Corpay Support."
}Get transactions for a card
Retrieve transactions for a single card with filters and pagination. ProductIds identifies the Products from the Corpay System. Note: after a user stopped the session, a transaction might take up to 10 minutes to be available via the transactions endpoints.
curl --request POST \
--url https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"transactionDateFrom": "2023-12-25",
"transactionDateTo": "2023-12-25",
"productIds": [
123
],
"cursor": "<string>",
"limit": 123,
"sortExpression": "<string>",
"filter": {
"cardNumber": "<string>",
"driverName": "<string>",
"network": "<string>",
"cardAddtionalData": "<string>",
"vehicleRegistrationNumber": "<string>",
"partialMatch": true
}
}
'import requests
url = "https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions"
payload = {
"transactionDateFrom": "2023-12-25",
"transactionDateTo": "2023-12-25",
"productIds": [123],
"cursor": "<string>",
"limit": 123,
"sortExpression": "<string>",
"filter": {
"cardNumber": "<string>",
"driverName": "<string>",
"network": "<string>",
"cardAddtionalData": "<string>",
"vehicleRegistrationNumber": "<string>",
"partialMatch": True
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
transactionDateFrom: '2023-12-25',
transactionDateTo: '2023-12-25',
productIds: [123],
cursor: '<string>',
limit: 123,
sortExpression: '<string>',
filter: {
cardNumber: '<string>',
driverName: '<string>',
network: '<string>',
cardAddtionalData: '<string>',
vehicleRegistrationNumber: '<string>',
partialMatch: true
}
})
};
fetch('https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions', 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://apigwuat.corpay.com/cards/{cardIdentifier}/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'transactionDateFrom' => '2023-12-25',
'transactionDateTo' => '2023-12-25',
'productIds' => [
123
],
'cursor' => '<string>',
'limit' => 123,
'sortExpression' => '<string>',
'filter' => [
'cardNumber' => '<string>',
'driverName' => '<string>',
'network' => '<string>',
'cardAddtionalData' => '<string>',
'vehicleRegistrationNumber' => '<string>',
'partialMatch' => true
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions"
payload := strings.NewReader("{\n \"transactionDateFrom\": \"2023-12-25\",\n \"transactionDateTo\": \"2023-12-25\",\n \"productIds\": [\n 123\n ],\n \"cursor\": \"<string>\",\n \"limit\": 123,\n \"sortExpression\": \"<string>\",\n \"filter\": {\n \"cardNumber\": \"<string>\",\n \"driverName\": \"<string>\",\n \"network\": \"<string>\",\n \"cardAddtionalData\": \"<string>\",\n \"vehicleRegistrationNumber\": \"<string>\",\n \"partialMatch\": true\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"transactionDateFrom\": \"2023-12-25\",\n \"transactionDateTo\": \"2023-12-25\",\n \"productIds\": [\n 123\n ],\n \"cursor\": \"<string>\",\n \"limit\": 123,\n \"sortExpression\": \"<string>\",\n \"filter\": {\n \"cardNumber\": \"<string>\",\n \"driverName\": \"<string>\",\n \"network\": \"<string>\",\n \"cardAddtionalData\": \"<string>\",\n \"vehicleRegistrationNumber\": \"<string>\",\n \"partialMatch\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apigwuat.corpay.com/cards/{cardIdentifier}/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transactionDateFrom\": \"2023-12-25\",\n \"transactionDateTo\": \"2023-12-25\",\n \"productIds\": [\n 123\n ],\n \"cursor\": \"<string>\",\n \"limit\": 123,\n \"sortExpression\": \"<string>\",\n \"filter\": {\n \"cardNumber\": \"<string>\",\n \"driverName\": \"<string>\",\n \"network\": \"<string>\",\n \"cardAddtionalData\": \"<string>\",\n \"vehicleRegistrationNumber\": \"<string>\",\n \"partialMatch\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"hasNextPage": true,
"nextCursor": "454334",
"totalCount": 120,
"lastPage": false,
"totalTransactionAmount": 130000,
"transactions": [
{
"cardGroupId": 43534,
"cardGroupName": "Fleet Group A",
"cardIdentifier": 453,
"cardNumber": "411111******1111",
"currency": "EUR",
"customerAccountNumber": "435435",
"duration": 45,
"evEndTime": "2025-01-15T11:00:00.000Z",
"evStartTime": "2025-01-15T10:15:00.000Z",
"homeChargeVatExempt": false,
"keyIdentifier": "23221321",
"merchant": {
"address": {
"addressLines": "123 Energy Park",
"city": "Amsterdam",
"country": "Netherlands",
"countryCode": "NLD",
"region": "North Holland",
"zipCode": "12345"
},
"incomingMerchantDescription": "FastCharge NL Central",
"incomingMerchantNumber": "IM-7890",
"merchantId": 223,
"merchantName": "FastCharge Station"
},
"merchantGroup": {
"merchantGroupId": 324,
"merchantGroupName": "FastCharge Group"
},
"network": {
"networkId": 2342,
"networkName": "IONITY"
},
"odometer": 45230,
"powerType": "DC",
"private": false,
"productGroup": {
"productGroupId": 234,
"productGroupName": "EV Charging"
},
"totalAmountExclVAT": 125.63,
"totalAmountInclVAT": 150.75,
"transactionDate": "2025-01-15T00:00:00.000Z",
"transactionId": "2332-2322-3322-1212",
"voucherNumber": "zmdkwl33",
"additionalInfo": {
"driverName": "John Doe",
"cardAddtionalData": "new card"
},
"transactionSegments": [
{
"product": {
"productCode": "EV-DC-FAST",
"productId": 501,
"productName": "DC Fast Charging"
},
"productEndTime": "2025-01-15T10:40:00.000Z",
"productQuantity": 20.5,
"productStartTime": "2025-01-15T10:15:00.000Z",
"transactionLineItemId": 1,
"unitAmountExclVAT": 62.82
},
{
"product": {
"productCode": "EV-AC",
"productId": 502,
"productName": "AC Charging"
},
"productEndTime": "2025-01-15T11:00:00.000Z",
"productQuantity": 18.3,
"productStartTime": "2025-01-15T10:40:00.000Z",
"transactionLineItemId": 2,
"unitAmountExclVAT": 62.81,
"unitAmountInclVAT": 75.37,
"unitOfMeasurement": "kwH"
}
],
"transactionStatus": "Unbilled",
"vatRate": "20%",
"vehicleRegistrationNumber": "AB12CDE"
}
]
}{
"errorCode": "ER-001",
"errorDescription": "Invalid request parameters"
}{
"errorCode": "ER-012",
"errorDescription": "The server encountered an unexpected condition and could not complete the request. Please contact Corpay Support."
}p50: 250 ms, p99: 1500 ms.
Measured on successful requests (2xx), server-side only.
How to interpret these metrics
Authorizations
Use OAuth2 client credentials to obtain a bearer token.
Token endpoint:
POST <BASE_URL>/keycloak/realms/longship/protocol/openid-connect/token
Use the same base URL as the selected API server:
- Test environment:
https://apigwuat.corpay.com - Production environment:
https://apigw.corpay.com
Example:
curl --location '<BASE_URL>/keycloak/realms/longship/protocol/openid-connect/token' \
--header 'accept: application/json' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=.......' \
--data-urlencode 'client_secret=......'
Path Parameters
Body
Billed, Unbilled, All Filters transactions using the supplied card, driver, network, and vehicle criteria.
Show child attributes
Show child attributes
Response
Transactions
Total amount including VAT for all transactions matching the request, before pagination. The amount is expressed in the customer's currency after transaction enrichment and currency conversion.
Show child attributes
Show child attributes