
Veremos los pasos para instalar el paquete de flutter stripe en Flutter y poder emplear la API de Stripe dentro de la app en Flutter.
Veremos los pasos para instalar el paquete de flutter stripe en Flutter y poder emplear la API de Stripe dentro de la app en Flutter.
Instalamos la dependencia que vamos a usar mediante:
pubspec.yaml
dependencies:
***
flutter_stripe:
La página oficial:
https://pub.dev/packages/flutter_stripe
Cambio de versión de Gradle
Es importante acotar que el plugin requiere de varias configuraciones, específicamente emplea el nivel 8 de Gradle lo cual puede conllevar aplicar varias configuraciones adicionales.
Los pasos para inicializar el plugin anterior son los siguientes:
Use Android 5.0 (API level 21) and above.
Use Kotlin version 1.8.0 and above: example
Requires Android Gradle plugin 8 and higher
Using a descendant of Theme.AppCompat for your activity: example, example night theme
Using an up-to-date Android gradle build tools version: example and an up-to-date gradle version accordingly: example
Using FlutterFragmentActivity instead of FlutterActivity in MainActivity.kt: example
Add the following rules to your proguard-rules.pro file: example
Lo anterior, es un estracto de lo mostrado en la documentación oficial.
Puede ser que tu proyecto no tenga las últimas versiones de Gradle, así que, debes de verificar y corregir las mismas en caso de que sea necesario; para ello para ello, modificamos de:
android/gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-7.x.x-all.zip
A alguna versión 8 disponible, para ello, puedes ingresar a la página anterior:
https://services.gradle.org/distributions
Y copiar alguna de la versión 8, por ejemplo:
android/gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
Cambio de versión de Kotlin
También debemos de subir la versión de Kotlin:
android/settings.gradle
plugins {
***
id "org.jetbrains.kotlin.android" version "1.8.0" apply false
}
En caso de que no configures algunos de los pasos anteriores, al implementar el widget para realizar el pago como veremos en el siguiente apartado, verás un error como el siguiente por pantalla:
Stripe exception: PlatformException(flutter_stripe initialization failed, The plugin failed to initialize: Your theme isn't set to use Theme.AppCompat or Theme.MaterialComponents. Please make sure you follow all the steps detailed inside the README: https://github.com/flutter-stripe/ flutter_stripe#android If you continue to have trouble, follow this discussion to get some support https://github.com/flutter-stripe/ flutter_stripe/discussions/538, null, null
Este error es genérico y va a dar generalmente si te equivocas en cualquiera de los pasos necesarios para configurar el plugin en un proyecto.
Otros cambios
Agregamos las siguientes reglas:
android\app\proguard-rules.pro
-dontwarn com.stripe.android.pushProvisioning.PushProvisioningActivity$g
-dontwarn com.stripe.android.pushProvisioning.PushProvisioningActivityStarter$Args
-dontwarn com.stripe.android.pushProvisioning.PushProvisioningActivityStarter$Error
-dontwarn com.stripe.android.pushProvisioning.PushProvisioningActivityStarter
-dontwarn com.stripe.android.pushProvisioning.PushProvisioningEphemeralKeyProvider

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter