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:
//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: Inicjalizacja SIBS SDK

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

Parametry
  • 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: Żądania 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 
}
Przegląd prywatności

Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne.

Ściśle niezbędne ciasteczka

Niezbędne ciasteczka powinny być zawsze włączone, abyśmy mogli zapisać twoje preferencje dotyczące ustawień ciasteczek.

Jeśli wyłączysz to ciasteczko, nie będziemy mogli zapisać twoich preferencji. Oznacza to, że za każdym razem, gdy odwiedzasz tę stronę, musisz ponownie włączyć lub wyłączyć ciasteczka.