curl --request GET \
--url https://api.example.com/subscriptions/{id}/transactions \
--header 'ApiKey: <apikey>' \
--header 'Environment: <environment>' \
--header 'MerchantId: <merchantid>'import requests
url = "https://api.example.com/subscriptions/{id}/transactions"
headers = {
"ApiKey": "<apikey>",
"MerchantId": "<merchantid>",
"Environment": "<environment>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {ApiKey: '<apikey>', MerchantId: '<merchantid>', Environment: '<environment>'}
};
fetch('https://api.example.com/subscriptions/{id}/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://api.example.com/subscriptions/{id}/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"ApiKey: <apikey>",
"Environment: <environment>",
"MerchantId: <merchantid>"
],
]);
$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.example.com/subscriptions/{id}/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("ApiKey", "<apikey>")
req.Header.Add("MerchantId", "<merchantid>")
req.Header.Add("Environment", "<environment>")
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.example.com/subscriptions/{id}/transactions")
.header("ApiKey", "<apikey>")
.header("MerchantId", "<merchantid>")
.header("Environment", "<environment>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/subscriptions/{id}/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["ApiKey"] = '<apikey>'
request["MerchantId"] = '<merchantid>'
request["Environment"] = '<environment>'
response = http.request(request)
puts response.read_body[
{
"id": 123,
"amount": "<string>",
"status": "pending",
"transactionDate": "2023-11-07T05:31:56Z",
"cybersourceReference": {},
"merchantReference": {},
"indicator": "CIT"
}
]{
"status": 401,
"error": {
"type": "authorization_error",
"code": "wrong_credentials",
"message": "L'ID marchand et/ou la clé d'API sont incorrects."
}
}{
"status": 403,
"error": {
"statusCode": 403,
"message": "Forbidden",
"error": "<string>"
}
}{
"httpStatus": 404,
"message": "X not found",
"error": "Not found"
}{
"type": "internal_error",
"code": [
"internal_error",
"wrong_credentials",
"not_granted",
"live_mode_not_granted"
],
"message": "An error occurred on our system. Please try again later."
}Retrieve a subscription's charge history
curl --request GET \
--url https://api.example.com/subscriptions/{id}/transactions \
--header 'ApiKey: <apikey>' \
--header 'Environment: <environment>' \
--header 'MerchantId: <merchantid>'import requests
url = "https://api.example.com/subscriptions/{id}/transactions"
headers = {
"ApiKey": "<apikey>",
"MerchantId": "<merchantid>",
"Environment": "<environment>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {ApiKey: '<apikey>', MerchantId: '<merchantid>', Environment: '<environment>'}
};
fetch('https://api.example.com/subscriptions/{id}/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://api.example.com/subscriptions/{id}/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"ApiKey: <apikey>",
"Environment: <environment>",
"MerchantId: <merchantid>"
],
]);
$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.example.com/subscriptions/{id}/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("ApiKey", "<apikey>")
req.Header.Add("MerchantId", "<merchantid>")
req.Header.Add("Environment", "<environment>")
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.example.com/subscriptions/{id}/transactions")
.header("ApiKey", "<apikey>")
.header("MerchantId", "<merchantid>")
.header("Environment", "<environment>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/subscriptions/{id}/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["ApiKey"] = '<apikey>'
request["MerchantId"] = '<merchantid>'
request["Environment"] = '<environment>'
response = http.request(request)
puts response.read_body[
{
"id": 123,
"amount": "<string>",
"status": "pending",
"transactionDate": "2023-11-07T05:31:56Z",
"cybersourceReference": {},
"merchantReference": {},
"indicator": "CIT"
}
]{
"status": 401,
"error": {
"type": "authorization_error",
"code": "wrong_credentials",
"message": "L'ID marchand et/ou la clé d'API sont incorrects."
}
}{
"status": 403,
"error": {
"statusCode": 403,
"message": "Forbidden",
"error": "<string>"
}
}{
"httpStatus": 404,
"message": "X not found",
"error": "Not found"
}{
"type": "internal_error",
"code": [
"internal_error",
"wrong_credentials",
"not_granted",
"live_mode_not_granted"
],
"message": "An error occurred on our system. Please try again later."
}Headers
Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.
Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.
Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.
live, sandbox Path Parameters
Query Parameters
The page number in the returned data. The default value is 1. Do use with 'perPage' query parameter to paginate properly.
2
The maximum number of results that will be return. The default value is 10. Do use with 'page' query parameter to paginate properly.
5
Response
Decimal string in major currency units, e.g. "1500.00".
pending, success, failed Null while a merchant_initiated charge is still pending confirmation from Cybersource.
Reference sent when triggering an on-demand charge. Null for scheduled RBS debits.
CIT, MIT 