TT3 App to App Integration Guide

Integration with Halo.Go application for TT3 Transactions using Android Intent Mechanisms or Deeplinking.

1. Android Intents Mechanism

Steps in this section:

  1. Retrieve a Transaction ID and payment JWTfrom the Halo Backend.

  2. Send an Intent Request to the Halo Dot Go application.

1. Retrieve Transaction ID and JWT from Halo Backend

Step two of Android Intents Mechanism integration is to initialize the transaction on the Halo Dot backend through an API request. You will need the API Key and Merchant ID from the previous step for this API call. The response will contain a Transaction ID and JWT Token that will be used in the third and final step.

Let’s take a closer look at the API request.

Intent Transaction

POST https://kernelserver.{env}.haloplus.io/{version}/consumer/tt3IntentTransaction

The call to the Halo Dot Backend to initiate a TT3 Intent Transaction.

Path Parameters

Name
Type
Description

version*

String

The backend version.

env*

String

The backend environment [dev, qa, prod]

Headers

Name
Type
Description

Content-Type*

String

Content Type of the Request: application/json

x-api-key*

String

The API Key retrieved from the Merchant Portal

Request Body

Name
Type
Description

merchantId*

Integer

Merchant ID from Merchant Portal

accountNumber*

String

Account Number of the Debit Order

maxCollectionAmount*

String

Max amount of the Debit Order (e.g. 100.01)

timestamp*

String

ISO Standard Timestamp

contractReference*

String

Reference of the Debit Order

id

String

ID number of the account holder

instalmentAmount

String

Instalment amount of the Debit Order (e.g. 100.01)

instalmentVisibility

Enum

This field is to set what should be displayed to the user: both, maximumOnly, instalmentOnly

{
    "id": "ffe12ca8-61e6-48f9-b09c-537818652988",
    "token": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJ1c3IiOiJoYWxvIiwiYXVkX2ZpbmdlcnByaW50cyI6InNoYTI1Ni96YzZjOTdKaEtQWlVhK3JJclZxamtuREUxbERjREs3N0c0MXNEbysxYXkwPSIsImtza19waW4iOiJzaGEyNTYvMVpuYTRUNlBLY0ozS3EvZGJWeWxiOG42MmovQWRRWVV6V3JqLzRzazVROD0iLCJtZXJjaGFudElkIjozMTcsImlhdCI6MTY3NTMzMzQyMCwiZXhwIjoxNjc1MzM0MzIwLCJhdWQiOiJrZXJuZWxzZXJ2ZXIucWEuaGFsb3BsdXMuaW8iLCJpc3MiOiJhdXRoc2VydmVyLnFhLmhhbG9wbHVzLmlvIiwic3ViIjoiYzQwMWIxYTYtNDI5Ny00NDM1LTg3OWItMDAyNTZhY2E4N2NjIn0.fCsDOSlkOz2nqjAohFYZNIO6f5cp4xbLer6s4o9BVJckoPRwxShdQLBxOySoYhioZ2WaYWFO-qhxDQjQG8RsPYByGsgIgQtVRaudS_IGI4Xv0KG8p0A9isX8jlw8KEeZwEuaj-zHUg4DAO4n3ydVAd3NjM1oysMKUbdn5MmW-wH7keutNCKtq9qF_hF0A8s3rUCO8UsB5QuXzz18VfPFe6fs3LoOGMHiKvgRWlhpKhrfXWQAw8vpwCLeY58vfa8LFGixMS526322s_dGTxkKC5f366GBWgoqHDyporidblCy64T5MbgifL41kiXahNQs6B4eLmuWeUTosHQ6jUajiEsa61QnUY1K9Pv3kT7bFDYy4Hvu2mdktzpV2p6MpM9gH3E4LLZGKhOJLjkf8LP7NsE-h4aN1XlKHJmMex8yMaAgV-_wxLCDPrK0Q7KgKGTNRByi8HkluhYYuMlslXXjN13ff8alMxCEBeyrkubi_X-tlTeilSmEF1tbWZ4WYiUfbNNqsfFDBKfErQc8dpJz22ou2DxyBd8_esBG1aEv4c5dIPciu_i2vG6FQADW_CNHmc01UnfymyReatc1c0WzFQS_OmoS3yaxymnvlCY_pD_bcZUr-5s60IQnu1D1wCeRfM1QE6-xSJvWx7sbXpbdNGbv1_PFM4xQTsuE6fBxzis"
}

2. Send an Intent Request to the Halo Dot Go

We provide a sample code to help you with the intent request function call. The code is available on your Halo Dot Go Merchant Portal. The code is made available in this repo over here.

2. Deeplinking Mechanism

Steps in this section:

  1. Retrieve the Transaction URL from the Halo Backend

  2. Use the Generated URL to call the Halo Dot Go application.

1. Retrieve the Transaction URL from the Halo Backend

The last step of Deeplinking integration is to retrieve the URL from the Halo Dot backend through an API request. You will need the API Key and Merchant ID from Getting Started for this API call.

Let’s take a closer look at the API request.

Transaction URL

POST https://kernelserver.{env}.haloplus.io/{version}/consumer/tt3QRCode

The call to the Halo Dot Backend to initiate an Intent Transaction and retrieve a Transaction URL that can be used to invoke the Halo Dot Link application

Path Parameters

Name
Type
Description

version*

String

The backend version.

env*

String

The backend environment [dev, qa, prod]

Headers

Name
Type
Description

Content-Type*

String

Content Type of the Request: application/json

x-api-key*

String

The API Key retrieved from the Merchant Portal

Request Body

Name
Type
Description

merchantId*

Integer

Merchant ID from Merchant Portal

id*

String

ID number of the account holder

accountNumber*

String

Account Number of the Debit Order

maxCollectionAmount*

String

Max amount of the Debit Order (e.g. 100.01)

timestamp*

String

ISO Standard Timestamp

contractReference*

String

contractReference

image*

JSON

Set to true to generate a QR code - {"required": false}

isConsumerApp

Boolean

Indicate if the call is for a Consumer App

collectionDay*

Number

Debit order day

CreditorABSN*

String

Description of Insurer (e.g. Name of insurer)

instalmentAmount

String

Instalment amount of the Debit Order (e.g. 100.01)

instalmentVisibility

Enum

This field is to set what should be displayed to the user: both, maximumOnly, instalmentOnly

{
    "url": "https://halompos.page.link/DYfL4EZEzvB52fVNA",
    "reference": "c9e1debe-8156-444c-894d-e065d7169aa6"
}

2. Use the Generated URL to call the Halo Dot Go application

The generated link returned by the API call can then be used to invoke the Halo Dot Go application and start processing the transaction.

3. Conclusion

That concludes the guide to integrating the Halo Dot Go into your application. For any questions, please do not hesitate to reach out to the Halo Dot Team.

Not what you were looking for? If you are looking for the TT3 Intent Integration guide, it is over here

Last updated