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

FieldRequiredDescription
Example
transaction_statusNFilter 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_dateNFilter for transactions that got charged after this date2024-06-14
charged_end_dateNFilter for transactions that got charged before this date2024-10-26
status_changed_at_start_dateNFilter for transactions that had their status changed after this date2024-07-06
status_changed_at_end_dateNFilter for transactions that had their status changed before this date2024-08-04
payment_methods_idNID of the payment method used with this transaction, see payment methodspam_YxK0zCtJpVpRzdBYTlxnm
customer_idNID of a specific customer to filter for, see customerscus_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
statusBooleantrue - response success, false - response errortrue
*.idString(32)Unique ID of this transactiontra_VLSEUZK5STgmP4J6yBDlU
*.created_atTimestamp(YYYY-MM-DD HH:mm:ss)When this transaction was logged2024-12-28 22:14:47
*.updated_atTimestamp(YYYY-MM-DD HH:mm:ss)When this transaction entry was last changed2024-12-29 22:14:47
*.charged_atTimestamp(YYYY-MM-DD HH:mm:ss)When this transaction was charged2024-02-03 08:14:35
*.status_changed_atTimestamp(YYYY-MM-DD HH:mm:ss)When was the status of this transaction last changed2024-02-04 16:45:23
*.payment_methods_idString(32)ID of the payment method to be used for this collection see payment methodspam_YxK0zCtJpVpRzdBYTlxnm
*.collections_idString(32)ID of the collection used to generate the transaction see collectionscol_Pw5jImVFZfpd0Lplp35op
*.customers_idString(32)ID of the customer used to generate the transaction see customerscus_qXel_yBCs_epE681GU0YO
*.bank_accounts_idString(32)ID of the bank account used to generate the transaction see bank accountsban_zvDwIjI63bIjCuECN7m0l
*.mandates_idString(32)ID of the mandate used to generate the transaction see mandatesman_2J4tlxoTRs0duVK1kenMC
*.transaction_referenceString(128)Used internally for invoice or customer transaction references.INV0045
*.payment_referenceString(35)Generated when sending the collection to the bank, usually reflects on bank statementsGERH82887180
*.submission_batch_referenceString(256)Identifies the group batch number sent to the bankKOZE05327011
*.transaction_statusENUM(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
*.amountDecimalAmount of this transaction in ZAR500.25
*.amount_exclDecimalAmount excluding tax.500.25
*.payment_dataObjectThis is a snapshot of the 'collection' data at the time of payment see collections response body for the content layout
*.unpaid_reasonString(256)Reason for transaction reflecting unpaid if applicableNO SUCH ACCOUNT
*.submission_dataObjectTransaction 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

FieldRequiredDescription
Example
referenceYFilter for specific transaction reference, payment reference or IDINV0045

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.