Consideraciones
Para hacer uso del SDK data collector para iOS se debe considerar los siguiente:
- El SDK de flujos de pago de Greenpay para Android ya tiene integrado Kount, por lo tanto, la documentación del presente SDK solo se utiliza cuando la integración con Greenpay no es con el SDK de flujos de pago de Greenpay.
- Es requerido que se utilice el API 19+.
Uso del SDK
Importar dependencia
Para incluir la dependencia del SDK de Greenpay, se debe incluir las siguientes dependencias del Gradle.
implementation 'com.google.android.instantapps:instantapps:1.1.0'
implementation 'com.greenpay.android:datacollector:1.0.0'
Configuración de permisos
Se deben configurar los siguientes permisos en el AndroidManifest.xml de la
aplicación:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Para aplicaciones con API >= 23, se requiere solicitar permisos de la siguiente manera:
if (ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION)) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
}
else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
}
}
Inclusión del data collector al flujo de pago
Antes de que la aplicación envíe los datos al backend para ejecutar un cobro, se debe ejecutar el siguiente método:
GDataCollector.getInstance().collect(new ResponseCallback<String>(){
@Override public void onSuccess(String sessionId) {
Log.i(TAG, "SUCCESS: " + sessionId);
}
@Override public void onError(String errorReason) {
Log.i(TAG, errorReason);
}
});
Si el callback onSuccess se ejecuta, se deben enviar los datos al backend incluyendo el sessionID almacenado en la variable response.
Si el callback onError se ejecuta, se debe retroalimentar al usuario indicando que no se puede hacer el pago.