Step 6: Outcome
Once you receive a bank message that contains a transaction status the transaction has been concluded and the status of the payment can be determined. You can trigger the relevant actions on your system based on the payment status received.
Status Types
Complete | The payment was successfully completed |
Cancelled | The payment was cancelled as we could not proceed any further with the payment or the user cancelled. |
Error | A technical error occurred while processing the payment. |
Abandoned | No activity from the user for a set amount of time. The time varies for different steps. |
PendingInvestigation | An inconclusive result was received by the bank and the payment needs to be verified manually. |
Pending | The status cannot be determined as yet but will be posted to the notification URL as soon as it has been determined. Merchants not using the notification URL will receive a PendingInvestigation status. |
Notification
Once the transaction has concluded a notification will be sent to the notification url specified in the Create Request method or configured in your Ozow merchant admin portal. If the status is "Pending", a notification will be sent again once the final status has been determined.
Name | Type | Description |
---|---|---|
SiteCode | string (50) | The site code sent to Ozow in the request post. |
TransactionId | guid | The transaction identifier. |
TransactionReference | string (50) | The merchant's transaction reference sent in the Create Request's TransactionReference variable. |
Amount | decimal (9,2) | The payment amount. The amount is in the currency specified by the currency code. |
Status | string (50) | The transaction status. See possible values. |
Optional1 Optional2 Optional3 Optional4 Optional5 | string (50) | Optional fields sent in the Create Request. |
CurrencyCode | string (3) | The transaction currency code sent in the Create Request. |
IsTest | bool | Whether or not the original request was a test request. Test requests are currently not available for this API so value will always be false. |
StatusMessage | string (500) | Message regarding the status of the transaction. This field will not always have a value. This is a user friendly message that can be displayed to the user e.g. User cancelled transaction. |
Hash | string (250) | SHA512 hash used to ensure that certain fields in the message have not been altered after the hash was generated. Check the generate hash section below for more details on how to validate the response variables using the hash. |
Notification Hash Check
Follow these steps to generate the hash check:
- Concatenate the notification variables (excluding Hash) in the order they appear in the notification fields table above.
- Append your private key to the concatenated string. Your private key can be found in merchant details section of the merchant admin site.
- Convert the concatenated string to lowercase.
- Generate a SHA512 hash of the lowercase concatenated string.
- Compare generated hash to the Hash value received.
Get Transaction
Gets the status of a transaction. This can be used for polling to pick up abandoned transactions or can be used to verify the status of a transaction.
Url | secure/transaction/status/:transactionId | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Method | GET | ||||||||||||||||||
Headers | See common headers. No data is posted so the Content-Type header can be excluded. | ||||||||||||||||||
URL Params |
|
||||||||||||||||||
Data Params | N/A | ||||||||||||||||||
Response Object |
|
||||||||||||||||||
Request Example |
|
||||||||||||||||||
Response Example |
|
Updated 2 months ago