Fetch Transactions

Retrieve transactions from the reconciliation API with date and status filtering.

curl "https://api.catalystpay.com/api/v1/reconciliation/transactions/?start_date=2025-01-01&end_date=2025-03-31&status=approved" \
  -H "Authorization: Bearer rk_your_api_key"
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",
        "status": "approved",
    },
)

data = response.json()
for txn in data["results"]:
    print(f"{txn['id']} | {txn['status']} | {txn['amount']} {txn['currency']}")

next_page = data.get("next")  # URL for next page, or null
const params = new URLSearchParams({
  start_date: '2025-01-01',
  end_date: '2025-03-31',
  status: 'approved',
});

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

const data = await response.json();
data.results.forEach(txn => {
  console.log(`${txn.id} | ${txn.status} | ${txn.amount} ${txn.currency}`);
});

Response:

{
  "next": "https://api.catalystpay.com/api/v1/reconciliation/transactions/?cursor=cD0yMDI1LTAz&start_date=2025-01-01",
  "previous": null,
  "results": [
    {
      "id": "b2c3d4e5-f6a7-8901-bcde-234567890123",
      "adapter_unique_id": "TXN-12345",
      "merchant_transaction_id": "MTXN-67890",
      "tenant_reference_id": "merchant-order-42",
      "status": "approved",
      "type": "sdd_sale",
      "amount": "29.99",
      "currency": "EUR",
      "date_processed": "2025-01-15T10:30:00Z",
      "iban": "******************3000",
      "bic": "COBADEFFXXX",
      "order_id": "c3d4e5f6-a7b8-9012-cdef-345678901234",
      "subscription_id": null,
      "lead_id": "d4e5f6a7-b8c9-0123-defg-456789012345",
      "payment_gateway_id": "f7e8d9c0-b1a2-3456-cdef-890123456789"
      // ... additional fields
    }
  ]
}

start_date is required and filters on date_processed. Max range is 90 days. Additional filters: type (e.g., sdd_sale,sdd_refund), payment_gateway_id (UUID), and page_size (1-1000, default 100). See How to Reconcile Transactions for the full guide.