Bank Deposit API
Get Started
The Bank Deposit product is a system that provides an automated solution for allocating funds with the correct reference. This product allows a user to make payment using their mobile or online banking channel and reduce errors and delays in allocating the funds to the order or user account.
Before getting started you require the following:
Your Ozow merchant details:
- Site code
- Private key
- API key
API Endpoints
API Contracts
Create Unique Reference (Single deposit)
URL: https://stagingapi.ozow.com/secure/banktransfer/single
HTTP Action: POST
Header Variables: Check header variables table below
Post Variables: Check post variables table below
Response: Check response table for unique reference below
Create Static Reference (Multi-deposit)
URL: https://stagingapi.ozow.com/secure/banktransfer/multiple
HTTP Action: POST
Header Variables: Check header variables table below
Post Variables:Check post variables table below. * Amount field is not applicable
Response: Check response table for static reference below
Get Banking Details (Multi-deposit)
URL: https://stagingapi.ozow.com/secure/banktransfer/bankingdetails/{bankreferenceid}
HTTP Action: GET
Header Variables: Check header variables table below
URL Variables (QueryString):
- BankReferenceId – The identifier for the static reference created previously
Response: Json object - Check the banking details object below
Header Variables:
Name | Type | Req | Description |
---|---|---|---|
ApiKey | string (50) | Y | Merchant's API key, this value is available in the Ozow Merchant Admin section. |
Content-Type | string(50) | Y | The format the response should be returned in e.g. Accept: application/json Accept: application/xml |
Accept | string(50) | Y | The format the response should be returned in e.g. Accept: application/json Accept: application/xml |
Post data object | String (JSON / XML) | Y | Applicable post variables found in post variables table below as either a serialized json object or XML element e.g. { “SiteCode”: “TSTSTE0001”, …, “HashCheck”: “6b46c27agfd4656fg3534gfd435”} |
Post Variables:
Property | Type | Req. | Description |
---|---|---|---|
1.SiteCode | String (50) | Yes | A unique code for the site currently in use. A site code is generated when adding a site in the Ozow merchant admin section. |
2.CountryCode | String (2) | Yes | The ISO 3166-1 alpha-2 code for the user's country. The country code will determine which banks will be displayed to the customer. Please note only South African (ZA) banks are currently supported by Ozow. |
3.CurrencyCode | String (3) | Yes | The ISO 4217 three-letter code for the transaction currency. Please note only the South African Rand (ZAR) is currently supported by Ozow, so any currency conversion must take place before posting to the Ozow site. |
4.Amount * Accepted but not applicable for static references (multi-deposit) | Decimal (9,2) | Yes | The transaction amount. The amount is in the currency specified by the currency code posted. * For static references (multi-deposit) a zero can be passed or the variable can be excluded from the post object. |
5.TransactionReference | String (50) | Yes | The merchant's reference for the transaction. |
7.Optional1 8. Optional2 9. Optional3 10. Optional4 11. Optional5 | String (50) | No | Optional fields the merchant can post for additional information they would need passed back in the response. These are also stored with the transaction details by Ozow and can be useful for filtering transactions in the merchant admin section. |
12.Customer | String (100) | No | The customer’s name or identifier. |
13.CancelUrl | String (150) | No | The URL of the page that we should redirect to if the customer cancels the bank deposit flow. * Only applicable when merchant redirects user to Ozow bank deposit URL (Future release). Cancelling the reference is also out of scope for this release. |
15.SuccessUrl | String (150) | No | The URL of the page that we should redirect if the customer completed the bank deposit flow. This does not mean the deposit was completed. * Only applicable when merchant redirects user to Ozow bank deposit URL (Future release). |
16.NotifyUrl | String (150) | No | The URL that we should post the notification result to when the deposit has been received or the expiry date has been exceeded for a unique/single reference. |
19.BankId | Guid | No | Ozow’s identifier for the bank, while this is not required it will help in future to make sure we return the correct instructions for the user. Allowed values are: • ABSA – 3284A0AD-BA78-4838-8C2B-102981286A2B • Capitec – 913999FA-3A32-4E3D-82F0-A1DF7E9E4F7B • FNB – 4816019C-3314-4C80-8B6B-B2CD16DCC4EC • Nedbank – D3889DF6-CDAC-4861-9D64-2B100FB7ED07 • Standard Bank – AD7D8DA4-1723-4066-94BB-6662D845E483 • Investec – 4B45BE85-B616-4BD1-9027-F8FCF8F9AF7B • African Bank – 33A0840B-0CF4-4B8C-86E0-EC6C4BE8C60E • Tymebank – 28FCC8FA-985B-480B-82FD-7D09BC19C9D0 • Bidvest Bank Grow – E022DFC8-FF4A-4425-A074-C65D07E8F09C |
24.ExpiryDateUtc | String (19) | No | Payment will not be allowed to be made after this date. Date should be UTC and value should be formatted as yyyy-MM-dd HH:mm e.g. 2015-08-11 16:02 |
29. CustomerCell | String (20) | No | Merchant can provide customer cellphone number for faster login on certain banks. DO NOT include in the hash check string, just ignore instead. |
30.[HashCheck](https://hub.ozow.com/docs/step-post-from-merchant-website#hash-check-example) | String (250) | Yes | 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 generate the hash. |
Response Variables – Unique Reference (Single Deposit):
Name | Type | Description |
---|---|---|
TransactionId | string (50) | Ozow transaction identifier. Transaction will be in a pending state after it is created and will be updated to complete after the payment has been received in our account |
BankingDetails | String (JSON / XML) | Check the banking details object below |
Url | string(150) | A URL that the user can be directed to where they will be displayed the banking details and instructions to use for the deposit |
ErrorMessage | string(150) | Error message generated when validating the request. |
Response Variables – Static Reference (Multi-Deposit):
Name | Type | Description |
---|---|---|
BankDepositId | string (50) | Ozow identifier for the bank deposit static reference. A new transaction will be created for each deposit received. * This id should be stored against the user so that the banking details can be queried |
BankingDetails | String (JSON / XML) | Check the banking details object below |
Url | string(150) | A URL that the user can be directed to where they will be displayed the banking details and instructions to use for the deposit |
ErrorMessage | string(150) | Error message generated when validating the request. |
Bank Details Object
Name | Type | Description |
---|---|---|
BankName | string (50) | Ozow identifier for the bank deposit static reference. A new transaction will be created for each deposit received. * This id should be stored against the user so that the banking details can be queried |
BranchCode | String (10) | The destination branch code for the account |
AccountNumber | String (20) | The Ozow account number to use for deposit |
PublicRecipientName | string(50) | The name of the public recipient if applicable (depending whether a bankId was passed in the original request) |
BeneficiaryReference | string(20) | The reference to be used for the deposit |
Updated 12 months ago