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.

Please note: The username should not be encrypted

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.

  1. PayrollServices – All functions activated for the merchant, specifically tailored to Payroll applications.
  2. AccountingServices – All functions activated for the merchant, specifically tailored to Accounting applications.
  3. Employee – Functions specific to operations within a selected employee account.
  4. Debtors – Functions specific to operations within a selected debtor account.
  5. 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

Netcash may provide example/sample/demo ‘code snippets’ and/or external links in this Technical Document. Such are for guidance purposes only and may not function on every developer’s system/s. Netcash disclaims any and all liability for the usage of guidance resources provided -and you as the Developer; must accept full responsibility for the usage of such. While every possible effort has been taken to ensure compatibility across multiple system configurations, the contents of this document cannot be guaranteed to work on all systems, with all operating systems -and/or with all system configuration/s.