Get a transaction by ID (V2)
curl --request GET \
--url https://api.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}', 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.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}",
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.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}"
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.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}")
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": {
"type": "transaction",
"id": "c4d1da72-111e-4d52-bdbf-2e74a2d803d5",
"paymentId": "c4d1da72-111e-4d52-bdbf-2e74a2d803d5",
"status": "PENDING",
"expireDate": "2023-01-01T12:04:05Z",
"senderAddress": "0xe01be9cdd9e744ae6a709794bfe531ec3ec0671c",
"blockchain": "ETH-SEPOLIA",
"amount": {
"amount": "110.270000",
"currency": "USDC"
},
"destinationAddress": "0xe01be9cdd9e744ae6a709794bfe531ec3ec0671c",
"messageType": "PAYMENT_SETTLEMENT_CONTRACT_V1_0_PAYMENT_INTENT",
"messageToBeSigned": {},
"metadata": {},
"failureReason": "FAILED_ONCHAIN",
"transactionHash": "2vmEDSBThR143WJyJePkpKVQcERVo9KePuCUwYU8fkoJaQjarTMj6sZG7DNnJ4zjhtRz6hDruqEFEkD4wJpGviiW"
}
}{
"code": 401,
"message": "Malformed authorization."
}{
"code": 3,
"message": "Forbidden"
}{
"code": 404,
"message": "Not found."
}Get a transaction by ID (V2)
Get a transaction by ID
GET
/
v2
/
cpn
/
payments
/
{paymentId}
/
transactions
/
{transactionId}
Get a transaction by ID (V2)
curl --request GET \
--url https://api.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}', 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.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}",
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.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}"
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.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.circle.com/v2/cpn/payments/{paymentId}/transactions/{transactionId}")
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": {
"type": "transaction",
"id": "c4d1da72-111e-4d52-bdbf-2e74a2d803d5",
"paymentId": "c4d1da72-111e-4d52-bdbf-2e74a2d803d5",
"status": "PENDING",
"expireDate": "2023-01-01T12:04:05Z",
"senderAddress": "0xe01be9cdd9e744ae6a709794bfe531ec3ec0671c",
"blockchain": "ETH-SEPOLIA",
"amount": {
"amount": "110.270000",
"currency": "USDC"
},
"destinationAddress": "0xe01be9cdd9e744ae6a709794bfe531ec3ec0671c",
"messageType": "PAYMENT_SETTLEMENT_CONTRACT_V1_0_PAYMENT_INTENT",
"messageToBeSigned": {},
"metadata": {},
"failureReason": "FAILED_ONCHAIN",
"transactionHash": "2vmEDSBThR143WJyJePkpKVQcERVo9KePuCUwYU8fkoJaQjarTMj6sZG7DNnJ4zjhtRz6hDruqEFEkD4wJpGviiW"
}
}{
"code": 401,
"message": "Malformed authorization."
}{
"code": 3,
"message": "Forbidden"
}{
"code": 404,
"message": "Not found."
}Authorizations
Circle's API Keys are formatted in the following structure "PREFIX:ID:SECRET". All three parts are requred to make a successful request.
Path Parameters
The payment id created previously. System-generated unique identifier of the resource.
Example:
"c4d1da72-111e-4d52-bdbf-2e74a2d803d5"
The transaction id created previously. System-generated unique identifier of the resource.
Example:
"c4d1da72-111e-4d52-bdbf-2e74a2d803d5"
Response
Transaction retrieved successfully.
V2 Transaction response wrapper
V2 transaction response schema containing details about the transaction amount, addresses, and status
Show child attributes
Show child attributes
Was this page helpful?
⌘I