Specification

Transactions

Transaction API calls

List

List transactions that have been processed by the platform.

Path

GET /transactions?{query parameters}

Query Parameters

FieldRequiredDescription
Example
transaction_status_lookups_idNFilter for specific transaction statusesloo_abc123...
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_abc123...

Response Body

{
  "status": true,
  "transactions": [{
    "id": "tra_abc123...",
    "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_abc123...",
    "payments_id": "pay_abc123...",
    "customers_id": "cus_lpzgQpM56pm-FC01L4qSb",
    "bank_accounts_id": "ban_bV4BP2PcdJFgu9lVawE0_",
    "mandates_id": "man_GxHu2gBsBWnddf0-Sh5Cm",
    "transaction_reference": "INV0045",
    "payment_reference": "FAHE03053406",
    "submission_batch_reference": "ABBO61857139",
    "transaction_status_lookups_id": "loo_abc123...",
    "amount": 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_abc123...
*.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_abc123...
*.payments_idString(32)ID of the payment used to generate the transaction see paymentspay_abc123...
*.customers_idString(32)ID of the customer used to generate the transaction see customerscus_abc123...
*.bank_accounts_idString(32)ID of the bank account used to generate the transaction see bank accountsban_abc123...
*.mandates_idString(32)ID of the mandate used to generate the transaction see mandatesman_abc123...
*.transaction_referenceString(128)Used internally for invoice or customer transaction references.INV0045
*.payment_referenceString(35)Generated when sending the payment to the bank, usually reflects on bank statementsGERH82887180
*.submission_batch_referenceString(256)Identifies the group batch number sent to the bankKOZE05327011
*.transaction_status_lookups_idString(32)Lookups ID relating to the status of this transaction e.g. paid, unpaid etcloo_abc123...
*.amountDecimalAmount of this transaction in ZAR500.25
*.payment_dataObjectThis is a snapshot of the 'payment' data at the time of creating the this transaction see payments 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 referenceINV0045

Response Body

{
  "status": true,
  "transaction": {
    "id": "tra_abc123...",
    "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_abc123...",
    "payments_id": "pay_abc123...",
    "customers_id": "cus_lpzgQpM56pm-FC01L4qSb",
    "bank_accounts_id": "ban_bV4BP2PcdJFgu9lVawE0_",
    "mandates_id": "man_GxHu2gBsBWnddf0-Sh5Cm",
    "transaction_reference": "INV0045",
    "payment_reference": "FAHE03053406",
    "submission_batch_reference": "ABBO61857139",
    "transaction_status_lookups_id": "loo_abc123...",
    "amount": 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 in the developer section. Records will be sent through as an Array.

Response Body

{
  "transactions": [{
    "id": "tra_abc123...",
    "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_abc123...",
    "payments_id": "pay_abc123...",
    "customers_id": "cus_lpzgQpM56pm-FC01L4qSb",
    "bank_accounts_id": "ban_bV4BP2PcdJFgu9lVawE0_",
    "mandates_id": "man_GxHu2gBsBWnddf0-Sh5Cm",
    "transaction_reference": "INV0045",
    "payment_reference": "FAHE03053406",
    "submission_batch_reference": "ABBO61857139",
    "transaction_status_lookups_id": "loo_abc123...",
    "amount": 500.25,
    "payment_data": { ... },
    "unpaid_reason": null,
    "submission_data": [{ ... }]
  }]
}

Copyright © 2024 Kwik