Export Reconciliation Data as CSV

Download transactions, chargebacks, or subscriptions as a CSV file.

# Transactions CSV
curl "https://api.catalystpay.com/api/v1/reconciliation/transactions/?start_date=2025-01-01&end_date=2025-03-31&format=csv" \
  -H "Authorization: Bearer rk_your_api_key" \
  -o transactions.csv

# Chargebacks CSV
curl "https://api.catalystpay.com/api/v1/reconciliation/chargebacks/?start_date=2025-01-01&format=csv" \
  -H "Authorization: Bearer rk_your_api_key" \
  -o chargebacks.csv

# Subscriptions CSV
curl "https://api.catalystpay.com/api/v1/reconciliation/subscriptions/?start_date=2025-01-01&format=csv" \
  -H "Authorization: Bearer rk_your_api_key" \
  -o subscriptions.csv
import requests

response = requests.get(
    "https://api.catalystpay.com/api/v1/reconciliation/transactions/",
    headers={"Authorization": "Bearer rk_your_api_key"},
    params={
        "start_date": "2025-01-01",
        "end_date": "2025-03-31",
        "format": "csv",
    },
)

# Save to file
filename = response.headers.get(
    "Content-Disposition", "attachment; filename=transactions.csv"
).split("filename=")[-1].strip('"')

with open(filename, "wb") as f:
    f.write(response.content)

print(f"Saved {filename}")
const params = new URLSearchParams({
  start_date: '2025-01-01',
  end_date: '2025-03-31',
  format: 'csv',
});

const response = await fetch(
  `https://api.catalystpay.com/api/v1/reconciliation/transactions/?${params}`,
  { headers: { 'Authorization': 'Bearer rk_your_api_key' } }
);

const blob = await response.blob();
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'transactions.csv';
a.click();

Response headers:

Content-Type: text/csv
Content-Disposition: attachment; filename="transactions_2025-04-01.csv"

All three reconciliation endpoints support format=csv (and format=xml). CSV responses include a Content-Disposition header with an auto-generated filename. The same date range, status, and gateway filters apply to CSV exports.