Primeiros Passos
Passo 1 - Configurar o projeto
Adicione esta seção ao seu arquivo settings.gradle.kts nos blocos repositories.
maven{
name="SDK_UNICO"
url= uri("https://pkgs.dev.azure.com/stndtef/SmartPOS/_packaging/SDK_UNICO/maven/v1")
credentials{
username = stndtef
password = {PERSONAL_ACCESS_TOKEN}
}
}
Adicione a flavor da adquirente ao build.gradle.kts, no bloco android para seleção da adquirente no SDK Único.
val flavors = setOf(
"linxtef" to 22,
"linxtefadyen" to 28,
"linxtefgpos760" to 22,
"stone" to 22,
"pagseguro" to 23,
"vero" to 22,
"getnet" to 22,
"rede" to 22,
"cielo" to 25,
"sicoob" to 22,
"sicoobX990DX" to 24,
"sitef" to 22,
)
android {
...
flavorDimensions += "providers"
productFlavors {
flavors.forEach{
create(it.first) {
minSdk = it.second
}
}
}
}
Para aproveitar a resolução dinâmica do Gradle, é necessário configurar as flavors para cada SDK de adquirente. Com o uso de flavors, cada build suporta apenas um único SDK de adquirente, tornando inviável a inclusão de múltiplos SDKs em uma mesma compilação. Se essa abordagem representar um problema para sua integração, consulte a seção Standalone SDK Único para alternativas.
Atenção ao minSdk demonstrado acima, para evitar problemas de compatibilidades entre as dependências internas.
Passo 2 - Configurar o build.gradle da app
Adicionar as seguintes dependências necessárias:
val sdkPayServicesVersion = "2.1.1.249.1769614207"
implementation("SDKPayServices:core:$sdkPayServicesVersion")
implementation("SDKPayServices:config:$sdkPayServicesVersion")
implementation("SDKPayServices:common:$sdkPayServicesVersion")
Passo 3 - Verificar as permissões necessárias
Adicione as seguintes permissões ao seu arquivo AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.seuapp">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_OWNER_DATA"/>
<uses-permission android:name="android.permission.READ_OWNER_DATA"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
...
</manifest>
Standalone SDK Único
Em alguns cenários, o integrador não pode utilizar flavors ou deseja acessar as bibliotecas do SDK Único de maneira mais específica.
Para esses casos, o SDK Único oferece suporte à referência direta da biblioteca do SDK Único da Adquirente.
Ao utilizar as bibliotecas standalone, não é necessário definir flavors, permitindo que o integrador configure suas próprias flavors e parametrizações livremente.
Referências de bibliotecas
val sdkPayServicesVersion = "2.1.1.249.1769614207"
val adquirente = "stone"
implementation("SDKPayServices:core-$adquirente:$sdkPayServicesVersion")
implementation("SDKPayServices:$adquirente:$sdkPayServicesVersion")
implementation("SDKPayServices:config:$sdkPayServicesVersion")
implementation("SDKPayServices:common:$sdkPayServicesVersion")
Lista de dependências
| Adquirente | Biblioteca Core SDK Único | Biblioteca Adquirente SDK Único |
|---|---|---|
| Stone | SDKPayServices:core-stone:$version | SDKPayServices:stone:$version |
| LinxTEF | SDKPayServices:core-linxtef:$version | SDKPayServices:linxtef:$version |
| LinxTEF (Adyen) | SDKPayServices:core-linxtefadyen:$version | SDKPayServices:linxtefadyen:$version |
| LinxTEF (GPOS 760) | SDKPayServices:core-linxtefgpos760:$version | SDKPayServices:linxtefgpos760:$version |
| Cielo | SDKPayServices:core-cielo:$version | SDKPayServices:cielo:$version |
| Getnet | SDKPayServices:core-getnet:$version | SDKPayServices:getnet:$version |
| PagSeguro | SDKPayServices:core-pagseguro:$version | SDKPayServices:pagseguro:$version |
| Rede | SDKPayServices:core-rede:$version | SDKPayServices:rede:$version |
| Sicoob (P2) | SDKPayServices:core-sicoob:$version | SDKPayServices:sicoob:$version |
| Sicoob (X990/X990 PRO/DX8000) | SDKPayServices:core-sicoobx990DX:$version | SDKPayServices:sicoobX990DX:$version |
| SiTef | SDKPayServices:core-sitef:$version | SDKPayServices:sitef:$version |
| Vero | SDKPayServices:core-vero:$version | SDKPayServices:vero:$version |
Este conteúdo foi útil para você?