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
- Pobierz plik: android-sibs-stargate-sdk-0.1.1
- Skopiuj plik simply-connect-sdk.aar do folderu app/libs w swoim projekcie.
- 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'
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
}