Skip to content

Android

Follow this guide to integrate the SIBS Payment Gateway into your Android app with our SDK.

Step 1: SDK installation

  1. Download this file: android-sibs-stargate-sdk-0.1.1
  2. Copy the simply-connect-sdk.aar file to the app/libs folder in your project.
  3. Inside the “dependencies” section of your app/build.gradle file, implement the following:
//native / https request
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation "androidx.appcompat:appcompat:1.6.0"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1"
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.7'
implementation 'androidx.navigation:navigation-ui-ktx:2.7.7'

//retrofit / https request
implementation "com.squareup.okhttp3:okhttp:4.10.0"
implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0'
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'

//gson
api 'com.google.code.gson:gson:2.10.1'

//google wallet
api "com.google.android.gms:play-services-wallet:19.3.0"
api 'com.google.android.gms:play-services-base:18.4.0'
Notification

The SibsSdkApi class allows interaction with the SIBS SDK and offers the entry points described in the Step 2 and Step 3 below.

Step 2: SIBS SDK initialization

Initializing the SIBS SDK authenticates you as a merchant. Include the following parameters before sending any further requests.

Parameters
  • clientId – client identifier used to authenticate.
  • accessToken – access token used to authorise requests.
  • environmentSDK – environment in which the SDK will operate.
Signature
start(clientId: String, accessToken: String, environmentSDK: EnvironmentSDK)

Step 3: SDK requests

StartPayment

Starts a payment process with the transaction parameters provided. Starts the payment flow and returns the result asynchronously via LiveData.

Parameters:
  • actvity – the AppCompatActvity from which the payment flow is initiated. This ensures proper lifecycle and user interface management.
  • transactionParamsSDK – the parameters needed to process the payment transaction.
Response:

Returns a LiveData object containing the result of the transaction, which can be watched for updates as the payment process is completed.

Signature:
startPayment(activity:AppCompatActicity,transactionParamsSDK:TransactionParamsSDK):LiveData
GetTransactionStatus

Recovers the status of a previously initiated transaction. Queries the status of the transaction by its ID and returns the result asynchronously via LiveData.

Parameters:

Receives the parameter transactionId. The unique identifier of the transaction to be queried.

Response:

Returns a LiveData object containing the status of the transaction, which can be watched for updates.

Signature:
getTransactionStatus(transactionId: String): LiveData<TransactionStatusSDK>
Data Classes
EnvironmentSDK:
enum class EnvironmentSDK {
     QUALITY,
     PRODUCTION 
}
Response:

TransactionResultSDK:

class TransactionResultSDK(
 val isSuccess: Boolean,
 val transactionID: String?,
 val paymentType: String?,
 val paymentStatus: String?,
 val paymentMethod: String?,
 val returnStatus: ReturnStatus?,
 val execution: Execution?,
 val merchant: Merchant?,
 val token: Token?,
 val sdkError: ErrorStatusSDK? = null,
)

TransactionStatusSDK:

class TransactionStatusSDK(
val transactionID: String?,
val paymentType: String?,
val paymentStatus: String?,
val paymentMethod: String?,
val returnStatus: ReturnStatus?,
val execution: Execution?,
val merchant: Merchant?,
val token: Token?,
val sdkError: ErrorStatusSDK,
)

Return Status:

class ReturnStatus(
 val statusCode: String,
 val statusMsg: String,
 val statusDescription: String
)

Execution:

class Execution(
val startTime: String,
val endTime: String
)

Merchant:

class Merchant(
 val terminalId: Int,
 val merchantTransactionId: String?,
 val websiteAddress: String? = null,
 val channel: String? = null,
 val shopURL: String? = null,
 val transactionDescription: String? = null
)

Token:

class Token(
 val name: String?,
 val type: String,
 val value: String,
 val maskedPan: String?,
 val expireDate: String?,
)

ErrorStatusSDK:

enum class ErrorStatusSDK {
 SUCCESS, 
 SDK_NOT_CONFIGURED, 
 INVALID_TRANSACTION_PARAMETERS, 
 USER_CANCELED, 
 COMMUNICATION_ERROR,
 NETWORK_ERROR, 
 TIMEOUT_ERROR, 
 PAYMENT_FORM_NOT_AVAILABLE, 
 DECLINED,
 GOOGLE_PAY_DECLINED, 
 UNKNOWN_ERROR 
}
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.