curl --request GET \
--url https://hg.cash/api/v1/co/transactions/{id}/status \
--header 'Authorization: Bearer <token>'import requests
url = "https://hg.cash/api/v1/co/transactions/{id}/status"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://hg.cash/api/v1/co/transactions/{id}/status', 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://hg.cash/api/v1/co/transactions/{id}/status",
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://hg.cash/api/v1/co/transactions/{id}/status"
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://hg.cash/api/v1/co/transactions/{id}/status")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://hg.cash/api/v1/co/transactions/{id}/status")
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{
"id": "550e8400-e29b-41d4-a716-446655440000",
"externalID": "550e8400-e29b-41d4-a716-446655440000",
"status": "processing",
"direction": "Outbound",
"amount": "50000.00",
"currency": "COP"
}{
"error": "Transaction is not supported for status polling"
}{
"error": "Unable to fetch transaction status from the payment provider.",
"code": "CO_TRANSACTION_STATUS_PROVIDER_ERROR",
"type": "provider_error"
}Get Transaction Status (Colombia)
Outbound Colombia payouts only.
Returns id, externalID, status, direction, amount (string), currency, and providerStatus when a refresh happened.
A transaction that is not an outbound payout returns 400.
A refresh failure returns 502 with error, code, and type.
curl --request GET \
--url https://hg.cash/api/v1/co/transactions/{id}/status \
--header 'Authorization: Bearer <token>'import requests
url = "https://hg.cash/api/v1/co/transactions/{id}/status"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://hg.cash/api/v1/co/transactions/{id}/status', 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://hg.cash/api/v1/co/transactions/{id}/status",
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://hg.cash/api/v1/co/transactions/{id}/status"
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://hg.cash/api/v1/co/transactions/{id}/status")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://hg.cash/api/v1/co/transactions/{id}/status")
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{
"id": "550e8400-e29b-41d4-a716-446655440000",
"externalID": "550e8400-e29b-41d4-a716-446655440000",
"status": "processing",
"direction": "Outbound",
"amount": "50000.00",
"currency": "COP"
}{
"error": "Transaction is not supported for status polling"
}{
"error": "Unable to fetch transaction status from the payment provider.",
"code": "CO_TRANSACTION_STATUS_PROVIDER_ERROR",
"type": "provider_error"
}Authorizations
User API authentication token with format cash_<64-char-hex>. Sample value cash_16cdc3b6f83c72d9d2680adca4f430962981f6bf32613a129dded0aa060387d2.
Path Parameters
Response
Transaction status
Status of a direct transaction (inbound or outbound)
Normalized status of the transaction.
processing: First status of an outbound transaction after it is created. The payout is in flight with the provider.pending: First status of an inbound transaction after it is created, until the payer completes payment.done: Payment or payout completed.expired: Inbound charge expired before payment.cancelled: Transaction was cancelled or the provider rejected it.
processing, pending, done, expired, cancelled Inbound, Outbound Decimal amount as a string
Optional fee snapshot on a direct transaction status response. Amounts and rates are decimal strings. Omitted when the transaction has no breakdown. collectedAmount is the percentage transaction fee plus the flat fee. platformFee is the recorded wallet cost and is not added to collectedAmount. Includes flatFee.source, which transaction webhooks omit.
Show child attributes
Show child attributes
Present when this request refreshed an in-flight payout. Omitted otherwise.

