HTTP API

Application Programming Interface

Overview.

IntouchPay's HTTP API Integrate the payment page into your website and guide customers through the process safely and securely, without them ever leaving your website or application.

This section contains the following sub sections. You can click on the link below to quickly jump to that section:

  • Concepts
  • Usage
  • Functions
  • Receive Payment
  • Make Payment
  • Get Balance

  • Concepts.

    Before using the IntouchPay API, familiarize yourself with the following:
    Number format - The Payment API requires phone numbers in E.164 format.
    Authentication - The Payment API authenticates using your account API key and secret.
    API Architecture - REpresentational State Transfer (REST) framework.

    Usage.

    Integrate to the Test Environment

    The first step is to read the API document and using the guide, integrate your system/application using the test environment credentials. This enables you to test all case scenarios, and only go live when we are sure you the integration works perfectly.

    After successful integration, a production account will be created for you, and the credentials shared with you. At this point, in your API, you only need to replace the test environment authentication credentials with the new ones.


    Download the full HTPP API Reference from the link below, to guide you on how to structure your code:

    HTTP API Reference Guide

    Functions

    Receiving Payment

    The App (functioning as the client) invokes the RequestPayment API to initiate a payment request to a subscriber on Intouchpay (functioning as the server).

    The intouchpay gateway will then respond with a pending status to the App awaiting for subscriber confirmation of the transaction.

    After confirmation the Intouchpay gateway will invoke the App on the App transaction status url with the status of the transaction.

    This function uses the RequestPayment API.

    Sending Payment.

    The App (functioning as the client) invokes the RequestDeposit API to initiate a deposit request to a subscriber on Intouchpay (functioning as the server).

    The intouchpay gateway will then process the transaction and respond with a transaction status response.

    This function uses the RequestDeposit API.


    Level of Requirement for Parameters

    The App developer must develop APIs based on the level of requirement for each parameter.

    Mandatory.

    A parameter is always mandatory in a request. Parameters with the Mandatory requirement are used for access authentication or service processing. If a parameter with the Mandatory requirement is left empty in a request, access authentication or service processing fails and the request fails.

    Conditional.

    A parameter is mandatory or optional in specified conditions. Parameters with the Conditional requirement are used for access authentication or service processing in specified conditions. If the specified conditions is met but a parameter with the Conditional requirement is left empty in a request, access authentication or service processing fails and the request fails.

    Optional.

    A parameter is always optional. Parameters with the Optional requirement are not used for service processing.


    Request Format.

    Parameters are submitted to the intouchpay url as http-form post

    Response Format.

    The Intouchpay gateway will provide a response in the json format.

    Download the full HTPP API Reference from the link below, to guide you on how to structure your code:

    HTTP API Reference Guide

    Receive Payment.

    Function

    The App (functioning as the client) invokes the RequestPayment API to initiate a payment request to a subscriber on Intouchpay (functioning as the server).

    The intouchpay gateway will then respond with a pending status to the App awaiting for subscriber confirmation of the transaction. After confirmation the Intouchpay gateway will invoke the App on the App transaction status url with the status of the transaction.

    Partners must code the App based on the API field requirements so that the App can send correct requests to IntouchPay. Intouchpay sends a response within 60 seconds by default.

    Request URI

    The request URI is the destination URI of the requestpaymentrequest sent by the App to the IntouchPay to enable a payment request to be sent to the subscriber. The URI is provided by Intouchpay in the following format:

    http://IP:Port/api/requestpayment/

    In the format, IP and Port indicate the service IP address and port number of the API provided by the Intouchpay.

    Receive Payment Response

    The intouchpay gateway will respond with a json response as below and an HTTP response 200 OK.

    Receive Payment Request Completion

    The intouchpaygateway acts as a client and Invokes the App by sending it the status of the pending transaction via an HTTP post. Which can either be successfull or failed. Partners are required to provide an end point url to which the intouchpay gateway will submit the request.

    Completing the Receive Payment Request Completion

    The App will respond with an HTTP 200 OK response and the following parameters in json format:

                            
                            {
                            'message': 'success',
                            'success': True
                            ,'request_id': '4522233'
                            }
                            
                        

    The Status and Error codes are included in the API Guide.


    Make Payment Request.

    Function

    The App (functioning as the client) invokes the RequestDeposit API to initiate a deposit request to a subscriber on Intouchpay (functioning as the server).

    The intouchpay gateway will then attempt to perform the deposit transaction as per request, and will invoke the App with the response of the deposit request status.

    Partners must code the App based on the API field requirements so that the App can send correct requests to IntouchPay. Intouchpay sends a response within 60 seconds by default.

    Request URI

    The request URI is the destination URI of the requestdeposit request sent by the App to the IntouchPay to enable a deposit transaction to be made to the subscriber. The URI is provided by Intouchpay in the following format:

    http://IP:Port/api/requestdeposit/

    In the format, IP and Port indicate the service IP address and port number of the API provided by the Intouchpay.

    Request

    The App functions as the client and sends a requestdepositmessage to intouchpay to enable a deposit request to be sent to the subscriber.

    For more information, please refer to the API Reference guide on how to format your request.

    Make Payment Response

    The intouchpay gateway will respond with a json response as below and an HTTP response 200 OK.

    Success Response:

                        {
                        "requesttransactionid":"1201",
                        "referenceid":"1123",
                        "responsecode":"2001",
                        "success": true
                        }
                        

    Failure Response:

                            {
                            "requesttransactionid":"1201",
                            "success":false,
                            "responsecode":"xxxx"
                            }
                            

    Note: referenceid is only returned as part of response if the requestdeposit request was successful


    Balance Inquiry.

    Function

    The App (functioning as the client) invokes the GetBalance API to query account balance on Intouchpay (functioning as the server).

    The intouchpay gateway will then attempt to query the account balance as per request, and will invoke the App with the response of the getbalance request status.

    Partners must code the App based on the API field requirements so that the App can send correct requests to IntouchPay. Intouchpay sends a response within 60 seconds by default.

    Request URI

    The request URI is the destination URI of the getbalance request sent by the App to the IntouchPay to enable a deposit transaction to be made to the subscriber. The URI is provided by Intouchpay in the following format:

    http://IP:Port/api/getbalance/

    In the format, IP and Port indicate the service IP address and port number of the API provided by the Intouchpay.

    Request

    The App functions as the client and sends a getbalancemessage to intouchpay to enable a deposit request to be sent to the subscriber.

    For more information, please refer to the API Reference guide on how to format your request.

    Get Balance Response

    The intouchpay gateway will respond with a json response as below and an HTTP response 200 OK.

    Success Response:

                        {
                        "balance":"0.0"
                        "success": true
                        }
                        

    Failure Response:

                            {
                            "success":false,
                            "responsecode":"XXX",
                            “message”: “XXX”
                            }
                            

    Note: For a full list of responsecode refer to the API Reference Guide.