From 64a83f3321b3803ae546966977a55dd9d4971e1b Mon Sep 17 00:00:00 2001 From: Karl Mathuthu Date: Tue, 5 Mar 2024 01:12:01 +0200 Subject: [PATCH 1/5] =?UTF-8?q?Error=20#186=20fix=20=E2=9D=A4=EF=B8=8F?= =?UTF-8?q?=F0=9F=98=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pubspec.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index f76392a8..8083b2ea 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,13 +1,13 @@ name: flutter_paystack description: A Flutter plugin for making payments via Paystack Payment Gateway. Completely supports Android and iOS. -version: 1.0.7 +version: 1.0.8 homepage: https://github.com/wilburt/flutter_paystack dependencies: flutter: sdk: flutter - http: ^0.13.5 - intl: ^0.17.0 + http: ^1.2.1 + intl: ^0.19.0 meta: ^1.8.0 async: ^2.9.0 From 7ea7ad36be8e1c976a9dc0542b363e39c4741d2f Mon Sep 17 00:00:00 2001 From: Karl Mathuthu Date: Tue, 5 Mar 2024 01:21:54 +0200 Subject: [PATCH 2/5] intl: ^0.18.1 --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 8083b2ea..e25d1242 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,7 +7,7 @@ dependencies: flutter: sdk: flutter http: ^1.2.1 - intl: ^0.19.0 + intl: ^0.18.1 meta: ^1.8.0 async: ^2.9.0 From 7c9cc0aca70d65b9e1ece22fba4460bd11074779 Mon Sep 17 00:00:00 2001 From: Karl Mathuthu Date: Thu, 14 Mar 2024 13:35:58 +0200 Subject: [PATCH 3/5] added uploadInformation field --- android/build.gradle | 6 +++--- android/gradle/wrapper/gradle-wrapper.properties | 2 +- example/android/app/build.gradle | 4 ++-- example/android/build.gradle | 2 +- example/lib/main.dart | 1 + lib/src/common/paystack.dart | 4 ++++ lib/src/widgets/checkout/checkout_widget.dart | 10 ++++++++-- test/src/widgets/checkout/checkout_widget_test.dart | 10 ++++++++++ 8 files changed, 30 insertions(+), 9 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 17a89c3d..bb78690b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,14 +2,14 @@ group 'co.paystack.flutterpaystack' version '1.0-SNAPSHOT' buildscript { - ext.kotlin_version = '1.7.20' + ext.kotlin_version = '1.9.21' repositories { mavenCentral() google() } dependencies { - classpath 'com.android.tools.build:gradle:7.4.0-rc02' + classpath 'com.android.tools.build:gradle:7.4.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } @@ -25,7 +25,7 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' android { - compileSdkVersion 32 + compileSdkVersion 33 sourceSets { main.java.srcDirs += 'src/main/kotlin' diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 8212ba0d..43292bf6 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 7e28387a..8202776b 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -28,7 +28,7 @@ android { defaultConfig { applicationId "co.paystack.flutterpaystack" - minSdkVersion 16 + minSdkVersion flutter.minSdkVersion targetSdkVersion 32 versionCode 1 versionName "1.0" @@ -44,4 +44,4 @@ android { flutter { source '../..' -} \ No newline at end of file +} diff --git a/example/android/build.gradle b/example/android/build.gradle index bef5f7b2..9065050a 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -26,6 +26,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/example/lib/main.dart b/example/lib/main.dart index 87a7123e..5f863dab 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -272,6 +272,7 @@ class _HomePageState extends State { charge: charge, fullscreen: false, logo: MyLogo(), + uploadInformation: null, ); print('Response = $response'); setState(() => _inProgress = false); diff --git a/lib/src/common/paystack.dart b/lib/src/common/paystack.dart index 1af8bb4c..1e3f5c61 100644 --- a/lib/src/common/paystack.dart +++ b/lib/src/common/paystack.dart @@ -121,6 +121,7 @@ class PaystackPlugin { Future checkout( BuildContext context, { required Charge charge, + required dynamic uploadInformation, CheckoutMethod method = CheckoutMethod.selectable, bool fullscreen = false, Widget? logo, @@ -135,6 +136,7 @@ class PaystackPlugin { logo: logo, hideAmount: hideAmount, hideEmail: hideEmail, + uploadInformation: uploadInformation, ); } @@ -167,6 +169,7 @@ class _Paystack { required Charge charge, required CheckoutMethod method, required bool fullscreen, + required dynamic uploadInformation, bool hideEmail = false, bool hideAmount = false, Widget? logo, @@ -202,6 +205,7 @@ class _Paystack { logo: logo, hideAmount: hideAmount, hideEmail: hideEmail, + uploadInformation: uploadInformation, ), ); return response == null ? CheckoutResponse.defaults() : response; diff --git a/lib/src/widgets/checkout/checkout_widget.dart b/lib/src/widgets/checkout/checkout_widget.dart index 6e467620..9b1b9de2 100644 --- a/lib/src/widgets/checkout/checkout_widget.dart +++ b/lib/src/widgets/checkout/checkout_widget.dart @@ -27,6 +27,7 @@ class CheckoutWidget extends StatefulWidget { final BankServiceContract bankService; final CardServiceContract cardsService; final String publicKey; + final dynamic uploadInformation; CheckoutWidget({ required this.method, @@ -34,6 +35,7 @@ class CheckoutWidget extends StatefulWidget { required this.bankService, required this.cardsService, required this.publicKey, + required this.uploadInformation, this.fullscreen = false, this.logo, this.hideEmail = false, @@ -188,7 +190,8 @@ class _CheckoutWidgetState extends BaseState Text( 'Pay', style: TextStyle( - fontSize: 14.0, color: context.textTheme().headline1?.color), + fontSize: 14.0, + color: context.textTheme().headline1?.color), ), SizedBox( width: 5.0, @@ -353,6 +356,9 @@ class _CheckoutWidgetState extends BaseState _paymentSuccessful = true; _paymentError = null; _onProcessingChange(false); + + // Upload information to database + widget.uploadInformation(); }); } @@ -421,7 +427,7 @@ class _CheckoutWidgetState extends BaseState if (_response!.card != null) { _response!.card!.nullifyNumber(); } - Navigator.of(context).pop(_response); + Navigator.of(context).pop(_response); }, ); diff --git a/test/src/widgets/checkout/checkout_widget_test.dart b/test/src/widgets/checkout/checkout_widget_test.dart index b5c069ac..605aa17e 100644 --- a/test/src/widgets/checkout/checkout_widget_test.dart +++ b/test/src/widgets/checkout/checkout_widget_test.dart @@ -37,6 +37,7 @@ void main() { charge: charge, fullscreen: false, logo: Container(), + uploadInformation: null, ), ); @@ -62,6 +63,7 @@ void main() { charge: charge, fullscreen: false, logo: null, + uploadInformation: null, ), ); @@ -90,6 +92,7 @@ void main() { charge: charge, fullscreen: false, logo: Container(), + uploadInformation: null, ), ); @@ -108,6 +111,7 @@ void main() { charge: charge, fullscreen: false, logo: Container(), + uploadInformation: null, ), ); @@ -132,6 +136,7 @@ void main() { charge: charge, fullscreen: false, logo: Container(), + uploadInformation: null, ), ); @@ -153,6 +158,7 @@ void main() { fullscreen: false, hideEmail: false, logo: Container(), + uploadInformation: null, ), ); @@ -172,6 +178,7 @@ void main() { fullscreen: false, hideEmail: true, logo: Container(), + uploadInformation: null, ), ); @@ -191,6 +198,7 @@ void main() { fullscreen: false, hideEmail: true, logo: Container(), + uploadInformation: null, ), ); @@ -212,6 +220,7 @@ void main() { fullscreen: false, hideAmount: false, logo: Container(), + uploadInformation: null, ), ); @@ -231,6 +240,7 @@ void main() { fullscreen: false, hideAmount: true, logo: Container(), + uploadInformation: null, ), ); From abd75f0cbd9fd9ec8e6872d171e1cbcb4b3e9d9a Mon Sep 17 00:00:00 2001 From: Karl Mathuthu Date: Thu, 14 Mar 2024 23:23:10 +0200 Subject: [PATCH 4/5] added a Map response. --- lib/src/models/checkout_response.dart | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/src/models/checkout_response.dart b/lib/src/models/checkout_response.dart index 1a8b03ac..df958a43 100644 --- a/lib/src/models/checkout_response.dart +++ b/lib/src/models/checkout_response.dart @@ -48,6 +48,18 @@ class CheckoutResponse { this.account}) : assert(card != null || account != null); + Map toMap() { + return { + 'message': message, + 'card': card, + 'account': account, + 'reference': reference, + 'status': status, + 'method': method.toString(), + 'verify': verify, + }; + } + @override String toString() { return 'CheckoutResponse{message: $message, card: $card, account: $account, reference: $reference, status: $status, method: $method, verify: $verify}'; From 772b684401d79770cd8ec37ea5f8c03f93474240 Mon Sep 17 00:00:00 2001 From: Karl Mathuthu Date: Thu, 14 Mar 2024 23:56:49 +0200 Subject: [PATCH 5/5] updated --- lib/src/models/checkout_response.dart | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/src/models/checkout_response.dart b/lib/src/models/checkout_response.dart index df958a43..6132dfba 100644 --- a/lib/src/models/checkout_response.dart +++ b/lib/src/models/checkout_response.dart @@ -50,13 +50,13 @@ class CheckoutResponse { Map toMap() { return { - 'message': message, - 'card': card, - 'account': account, - 'reference': reference, - 'status': status, + 'message': message.toString(), + 'card': card.toString(), + 'account': account.toString(), + 'reference': reference.toString(), + 'status': status.toString(), 'method': method.toString(), - 'verify': verify, + 'verify': verify.toString(), }; }