General
Transactions
Retrieve and monitor transaction records including payment attempts, status changes, and settlement details. Access comprehensive transaction history with filtering, pagination, and detailed status information for reporting and reconciliation.
List
List transactions that have been processed by the platform.
Path
GET /transactions?{query parameters}
Query Parameters
| Field | Required | Description | Example |
|---|---|---|---|
| transaction_status | N | Filter for specific transaction statuses. (ACCEPTED_BY_BANK,CANCELLED,CHARGEBACK,DECLINED,DISPUTED,IN_TRACKING,NO_RESPONSE,PAID,PENDING,REFUNDED,REJECTED_BY_API,REJECTED_BY_BANK,REVERSED,SENT_TO_BANK,UNPAID) | PAID |
| charged_at_start_date | N | Filter for transactions that got charged after this date | 2024-06-14 |
| charged_end_date | N | Filter for transactions that got charged before this date | 2024-10-26 |
| status_changed_at_start_date | N | Filter for transactions that had their status changed after this date | 2024-07-06 |
| status_changed_at_end_date | N | Filter for transactions that had their status changed before this date | 2024-08-04 |
| payment_methods_id | N | ID of the payment method used with this transaction, see payment methods | pam_YxK0zCtJpVpRzdBYTlxnm |
| customer_id | N | ID of a specific customer to filter for, see customers | cus_qXel_yBCs_epE681GU0YO |
Response Body
{
"status": true,
"transactions": [{
"id": "tra_VLSEUZK5STgmP4J6yBDlU",
"created_at": "2024-12-28 22:14:47",
"updated_at": null,
"charged_at": "2024-02-03 08:14:35",
"status_changed_at": "2024-02-04 16:45:23",
"payment_methods_id": "pam_YxK0zCtJpVpRzdBYTlxnm",
"collections_id": "col_Pw5jImVFZfpd0Lplp35op",
"customers_id": "cus_qXel_yBCs_epE681GU0YO",
"bank_accounts_id": "ban_zvDwIjI63bIjCuECN7m0l",
"mandates_id": "man_2J4tlxoTRs0duVK1kenMC",
"transaction_reference": "INV0045",
"payment_reference": "FAHE03053406",
"submission_batch_reference": "ABBO61857139",
"transaction_status": "PAID",
"amount": 500.25,
"amount_excl": 500.25,
"payment_data": { ... },
"unpaid_reason": null,
"submission_data": [{ ... }]
}, ...]
}
Response Parameters
Field | Type | Description | Example |
|---|---|---|---|
| status | Boolean | true - response success, false - response error | true |
| *.id | String(32) | Unique ID of this transaction | tra_VLSEUZK5STgmP4J6yBDlU |
| *.created_at | Timestamp(YYYY-MM-DD HH:mm:ss) | When this transaction was logged | 2024-12-28 22:14:47 |
| *.updated_at | Timestamp(YYYY-MM-DD HH:mm:ss) | When this transaction entry was last changed | 2024-12-29 22:14:47 |
| *.charged_at | Timestamp(YYYY-MM-DD HH:mm:ss) | When this transaction was charged | 2024-02-03 08:14:35 |
| *.status_changed_at | Timestamp(YYYY-MM-DD HH:mm:ss) | When was the status of this transaction last changed | 2024-02-04 16:45:23 |
| *.payment_methods_id | String(32) | ID of the payment method to be used for this collection see payment methods | pam_YxK0zCtJpVpRzdBYTlxnm |
| *.collections_id | String(32) | ID of the collection used to generate the transaction see collections | col_Pw5jImVFZfpd0Lplp35op |
| *.customers_id | String(32) | ID of the customer used to generate the transaction see customers | cus_qXel_yBCs_epE681GU0YO |
| *.bank_accounts_id | String(32) | ID of the bank account used to generate the transaction see bank accounts | ban_zvDwIjI63bIjCuECN7m0l |
| *.mandates_id | String(32) | ID of the mandate used to generate the transaction see mandates | man_2J4tlxoTRs0duVK1kenMC |
| *.transaction_reference | String(128) | Used internally for invoice or customer transaction references. | INV0045 |
| *.payment_reference | String(35) | Generated when sending the collection to the bank, usually reflects on bank statements | GERH82887180 |
| *.submission_batch_reference | String(256) | Identifies the group batch number sent to the bank | KOZE05327011 |
| *.transaction_status | ENUM | (ACCEPTED_BY_BANK,CANCELLED,CHARGEBACK,DECLINED,DISPUTED,IN_TRACKING,NO_RESPONSE,PAID,PENDING,REFUNDED,REJECTED_BY_API,REJECTED_BY_BANK,REVERSED,SENT_TO_BANK,UNPAID) | PAID |
| *.amount | Decimal | Amount of this transaction in ZAR | 500.25 |
| *.amount_excl | Decimal | Amount excluding tax. | 500.25 |
| *.payment_data | Object | This is a snapshot of the 'collection' data at the time of payment see collections response body for the content layout | |
| *.unpaid_reason | String(256) | Reason for transaction reflecting unpaid if applicable | NO SUCH ACCOUNT |
| *.submission_data | Object | Transaction status change history, differs between DebiCheck and EFT Debit Orders | [{"status": "PAID", "message": null, "bank_code": 0, "timestamp": "2025-01-20T03:30:03.737Z"}] OR [{"date":"2025-04-07 07:35:02","code":"000080","message":"** WARNING ONLY - ACCOUNT TYPE CHANGE - 0 TO 1 ***"}] |
Record
Get a single transaction record
Path
GET /transactions/record/{reference}
Path Parameters
| Field | Required | Description | Example |
|---|---|---|---|
| reference | Y | Filter for specific transaction reference, payment reference or ID | INV0045 |
Response Body
{
"status": true,
"transaction": {
"id": "tra_VLSEUZK5STgmP4J6yBDlU",
"created_at": "2024-12-28 22:14:47",
"updated_at": null,
"charged_at": "2024-02-03 08:14:35",
"status_changed_at": "2024-02-04 16:45:23",
"payment_methods_id": "pam_YxK0zCtJpVpRzdBYTlxnm",
"collections_id": "col_Pw5jImVFZfpd0Lplp35op",
"customers_id": "cus_qXel_yBCs_epE681GU0YO",
"bank_accounts_id": "ban_zvDwIjI63bIjCuECN7m0l",
"mandates_id": "man_2J4tlxoTRs0duVK1kenMC",
"transaction_reference": "INV0045",
"payment_reference": "FAHE03053406",
"submission_batch_reference": "ABBO61857139",
"transaction_status": "PAID",
"amount": 500.25,
"amount_excl": 500.25,
"payment_data": { ... },
"unpaid_reason": null,
"submission_data": [{ ... }]
}
}
Webhooks
Get a webhook POST request sent to your server for new or updated transactions. Webhooks needs to be configured from the dashboard developer section. Records will be sent through as an Array. See the webhooks section.