Pular para o conteúdo principal

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
}
}
}
}
Atenção

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

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

AdquirenteBiblioteca Core SDK ÚnicoBiblioteca Adquirente SDK Único
StoneSDKPayServices:core-stone:$versionSDKPayServices:stone:$version
LinxTEFSDKPayServices:core-linxtef:$versionSDKPayServices:linxtef:$version
LinxTEF (Adyen)SDKPayServices:core-linxtefadyen:$versionSDKPayServices:linxtefadyen:$version
LinxTEF (GPOS 760)SDKPayServices:core-linxtefgpos760:$versionSDKPayServices:linxtefgpos760:$version
CieloSDKPayServices:core-cielo:$versionSDKPayServices:cielo:$version
GetnetSDKPayServices:core-getnet:$versionSDKPayServices:getnet:$version
PagSeguroSDKPayServices:core-pagseguro:$versionSDKPayServices:pagseguro:$version
RedeSDKPayServices:core-rede:$versionSDKPayServices:rede:$version
Sicoob (P2)SDKPayServices:core-sicoob:$versionSDKPayServices:sicoob:$version
Sicoob (X990/X990 PRO/DX8000)SDKPayServices:core-sicoobx990DX:$versionSDKPayServices:sicoobX990DX:$version
SiTefSDKPayServices:core-sitef:$versionSDKPayServices:sitef:$version
VeroSDKPayServices:core-vero:$versionSDKPayServices:vero:$version

Este conteúdo foi útil para você?