Before you start
Please download the suggested API integration process flow document and use it as a reference when developing.
Kindly adhere to the Netcash brand guidelines when developing.
Programmers Guide
Refer to our Programmers guide for more detail on how to apply the required methodology in this document.
Ensure that the settings for developers are adhered to before you proceed with your implementation.
Web Service Methods
The list of Netcash web service methods can be found here.
Quick Start Guides
Quick Start Guides will help you understand this service and get you started.
Overview
NetAccess is designed for software vendors to integrate functionality from the Netcash website into a remote application.
The functions are exposed in an “iFrame” in the application and the content is managed by Netcash.
The remote application provides NetAccess and supplies the initial data to the Netcash system.
Access
Test environment
During development and testing, the following URL can be accessed to provide a test Base page.
The “TEST NetAccess” is accessed via a form POST to http://mobi.staging.netcash.co.za/authenticate.aspx?key={NetcashUsername}&message={Encrypted XML message}
Production environment
The PRODUCTION NetAccess is accessed via a form POST to https://mobi.netcash.co.za/authenticate.aspx?key={NetcashUsername}&message={Encrypted XML message}
The username and serialized, encrypted XML string is appended to the URL when accessing NetAccess.
Encryption
The {Encrypted XML message} in the string uses a custom Netcash encryption algorithm with the user’s PIN as the key.
The username is sent in the clear for the Netcash system to locate the PIN for the decryption of the data string.
Authentication data
Each user accessing NetAccess needs to be a registered user on the Netcash website.
Authentication is by means of
- Username
- Password
- PIN
These login details should be stored in the application in a non-readable format and updated when the user changes login details on the Netcash website.
Process
The remote application binds the relevant data to the XML schema and passes it to the Netcash system as an encrypted string.
The schema is generic and caters to all possible data requirements. Only the data specific to the execution of the required action needs to be populated. Unused XML tags may be omitted.
The XML schema and XSD are available online at:
https://mobi.netcash.co.za/documentation/NetcashBase.xml
https://mobi.netcash.co.za/documentation/NetcashRequest.xml
https://mobi.netcash.co.za/documentation/NetcashRequestExample.xml
Mandatory data
The following data is mandatory for every request:
Field | Explanation |
Username | These are the user credentials which will allow access to the Netcash web site |
Password | |
PIN | |
Software Vendor Key | The key issued by Netcash to identify the software origin of transactions. (only used by Netcash ISV‘s else use the default value: 24ade73c-98cf-47b3-99be-cc7b867b3080) |
Base page | The initial web page to which the user will be directed:-
· PayrollServices · AccountingServices · Employee · Debtors · Creditors |
Where NetAccess is launched from within a client page the following mandatory data must be appended:
Field | Explanation |
Account reference | Employee / Debtors / Creditors reference |
Identifier | Consumer: SA Id number
Commercial: Company registration number or Registered name. |
The following fields are non-mandatory but it is recommended that they are included for tracing:
Field | Explanation |
Extra 1 | Any data which is specific to the remote application can be placed in these fields. Each field holds a maximum of 50 characters.
Example: the unique transaction identifier which will allow the application to update a record from data posted back by the Netcash system. |
Extra 2 | |
Extra 3 |
Any data inserted into these field can be returned in a postback to a supplied URL.
Base pages
The base page is the specific web page to which the user is directed when NetAccess is opened.
The base page is determined by the remote application and is sent in the XML request.
- PayrollServices – All functions activated for the merchant, specifically tailored to Payroll applications.
- AccountingServices – All functions activated for the merchant, specifically tailored to Accounting applications.
- Employee – Functions specific to operations within a selected employee account.
- Debtors – Functions specific to operations within a selected debtor account.
- Creditors – Functions specific to operations within a selected creditor account.
Credit Data alternate bank name
The Credit Data XML Enum requires a camel-notated bank name in the Bank element. Since this is not acceptable to display on an application, NetAccess input XML has been extended to include an alternate (user-friendly) bank name.
This allows the software integrator to use either the Credit Data stipulated bank name or the bank name retrieved from the NIWS_Validation webservice method
The BankAccounts element has been extended to include the new mandatory element AlternateBank
The Bank element will automatically be ignored when data is passed through the AlternateBank element.
Conversely, if the AlternateBank element is blank/empty, the Netcash system will use the data contained in the Bank element.
<xs:element name="BankAccounts" nillable="true" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="AccountDetails" nillable="false" minOccurs="0" maxOccurs="15"> <xs:complexType> <xs:all> <xs:element name="AccountHolder" type="bs:CompanyVal" minOccurs="1" maxOccurs="1" /> <xs:element name="Bank" type="bs:Banks" minOccurs="1" maxOccurs="1" /> <xs:element name="AccountNumber" type="bs:AccountBranchNumber" minOccurs="1" maxOccurs="1" /> <xs:element name="BranchCode" type="bs:AccountBranchNumber" minOccurs="1" maxOccurs="1" /> <xs:element name="AccountType" type="bs:AccountTypes" minOccurs="1" maxOccurs="1" /> <xs:element name="AlternateBank" type="xs:string" minOccurs="1" maxOccurs="1" /> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element>
Netcash brand guidelines
Please refer to the Netcash brand guidelines here when using any logos, images, icons, labels, descriptions, and references to Netcash in your software.
Testing
See Testing section for more details. If you require any integration assistance contact our technical support team