Skip to content
Menu

Android

Postępuj zgodnie z tym przewodnikiem, aby zintegrować bramkę płatności SIBS z aplikacją na Androida za pomocą naszego pakietu SDK.

Krok 1: instalacja SDK

  1. Pobierz plik: android-sibs-stargate-sdk-0.1.1
  2. Skopiuj plik simply-connect-sdk.aar do folderu app/libs w swoim projekcie.
  3. W sekcji „zależności” w Twoim pliku app/build.gradle , zaimplementuj następujące:
//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

Klasa SibsSdkApi umożliwia interakcję z zestawem SIBS SDK i oferuje punkty wejścia opisane w kroku 2 i kroku 3 poniżej.

Krok 2: SIBS SDK inicjalizacja

Zainicjowanie zestawu SDK SIBS uwierzytelnia Cię jako sprzedawcę. Przed wysłaniem dalszych żądań uwzględnij następujące parametry.

Parameters
  • clientId – identyfikator klienta używany do uwierzytelniania.
  • accessToken – token dostępu używany do autoryzacji żądań.
  • environmentSDK – środowisko, w którym będzie działać SDK.
Podpis
start(clientId: String, accessToken: String, environmentSDK: EnvironmentSDK)

Krok 3: zapytania SDK

StartPayment

Rozpoczyna proces płatności z podanymi parametrami transakcji. Rozpoczyna przepływ płatności i zwraca wynik asynchronicznie za pośrednictwem LiveData.

Parametry:
  • actvity – AppCompatActvity, z którego inicjowany jest przepływ płatności. Zapewnia to właściwy cykl życia i zarządzanie interfejsem użytkownika.
  • transactionParamsSDK – parametry potrzebne do przetworzenia transakcji płatności.
Odpowiedź:

Zwraca obiekt LiveData zawierający wynik transakcji, którego aktualizacje można obserwować w miarę postępu procesu płatności.

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

Przywraca status wcześniej zainicjowanej transakcji. Zapytanie o status transakcji według jej ID i asynchronicznie zwraca wynik za pomocą LiveData.

Parametry:

Otrzymuje parametr transactionId. Unikalny identyfikator transakcji, który może być wyszukany.

Odpowiedź:

Zwraca obiekt LiveData zawierający status transakcji, którego aktualizacje można monitorować.

Podpis:
getTransactionStatus(transactionId: String): LiveData<TransactionStatusSDK>
Klasy danych
EnvironmentSDK:
enum class EnvironmentSDK {
     QUALITY,
     PRODUCTION 
}
Odpowiedź:

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,
)

Status zwrotu:

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

Wykonanie:

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

Sprzedawca:

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 
}