# TransactionModel

> A schema in the Payments API reference. Source: https://hub.ozow.com/api-reference/payments-api/schemas/transaction-model/

Represents the full dataset of a transaction.

## Fields

- `id` (string, uuid, required, max length 50) - The transaction identifier generated by Ozow.
- `createdDateUtc` (string, required, pattern 2024-01-20 14:12:34) - Date the transaction was created.
- `siteCode` (string, required, max length 50) - The site code sent to Ozow in the request post.
- `siteName` (string, required, max length 50) - Merchant site name.
- `bankFromName` (string, max length 50) - he bank the payment has been made from.
- `bankToName` (string, max length 50) - he bank the payment has been made to.
- `amount` (number, double, required) - The transaction amount. The amount is in the currency specified by the currency code posted.
- `status` (string, required, max length 50) - The transaction status. Possible values are: 1. Complete - The payment was successful. 2. Cancelled - The payment was cancelled. 3. Error - An error occurred while processing the payment. 4. Abandoned – The payment was abandoned. 5. PendingInvestigation – An inconclusive result was received by the bank and the payment needs to be verified manually. 6. Pending – The status cannot be determined as yet but will be reposted to the notification URL as soon as it has been determined. Merchants not using the notification URL will receive a PendingInvestigation status.
- `toAccount` (string, max length 50) - he account number.
- `toReference` (string, max length 50) - The bank reference that was used to make the payment.
- `paymentDate` (string, date, max length 50) - Date the payment was successfully completed.
- `paymentDateUtc` (string, date, max length 50) - UTC date the payment was successfully completed.
- `transactionReference` (string, required, max length 50) - The merchant's transaction reference sent in the request post's TransactionReference variable.
- `customer` (string, max length 50) - Customer’s name
- `optional1` (string, max length 50) - Optional fields sent in the request post.
- `optional2` (string, max length 50) - Optional fields sent in the request post.
- `optional3` (string, max length 50) - Optional fields sent in the request post.
- `optional4` (string, max length 50) - Optional fields sent in the request post.
- `optional5` (string, max length 50) - Optional fields sent in the request post.
- `lastEvent` (string, required, max length 50) - Used for administration purposes, will be empty for most merchants.
- `lastEventStatus` (string, max length 50) - Used for administration purposes, will be empty for most merchants.
