From 9dc33da1b1e5443ad12b5d4aedb9755ba5c10a2b Mon Sep 17 00:00:00 2001
From: Jeremiah Oluwaseun Erinola
<53568423+jeremiahseun@users.noreply.github.com>
Date: Wed, 19 Apr 2023 10:28:08 +0100
Subject: [PATCH 1/6] Change Transaction Charge Type value
- I changed transactionChargeType as a String to an enum. It will be easier for someone who is not familiar with the type of transaction charge type, to be able to use it without confusion.
- I also noticed that the previous Contribution guidelines link is preventing everyone from accessing it. So I changed it to the Contribution guidelines available.
---
README.md | 2 +-
example/pubspec.lock | 200 ++++++++++++-------
lib/core/flutterwave.dart | 38 ++--
lib/models/subaccount.dart | 6 +-
lib/utils/enums/transaction_charge_type.dart | 5 +
pubspec.lock | 194 +++++++++++-------
6 files changed, 279 insertions(+), 166 deletions(-)
create mode 100644 lib/utils/enums/transaction_charge_type.dart
diff --git a/README.md b/README.md
index bf6e4f4..3909f6d 100644
--- a/README.md
+++ b/README.md
@@ -103,7 +103,7 @@ You can also follow us [@FlutterwaveEng](https://twitter.com/FlutterwaveEng) and
## Contribution guidelines
-Read more about our community contribution guidelines [here](https://www.notion.so/flutterwavego/Community-contribution-guide-ca1d8a876ba04d45ab4b663c758ae42a).
+Read more about our community contribution guidelines [here](#contribution-guidelines).
## License
diff --git a/example/pubspec.lock b/example/pubspec.lock
index 37f22cd..5405721 100644
--- a/example/pubspec.lock
+++ b/example/pubspec.lock
@@ -5,147 +5,168 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
- url: "https://pub.dartlang.org"
+ sha256: "4826f97faae3af9761f26c52e56b2aa5ffd18d2c1721d984ad85137721c25f43"
+ url: "https://pub.dev"
source: hosted
version: "31.0.0"
analyzer:
dependency: transitive
description:
name: analyzer
- url: "https://pub.dartlang.org"
+ sha256: "7337610c3f9cd13e6b7c6bb0f410644091cf63c9a1436e73352a70f3286abb03"
+ url: "https://pub.dev"
source: hosted
version: "2.8.0"
args:
dependency: transitive
description:
name: args
- url: "https://pub.dartlang.org"
+ sha256: b003c3098049a51720352d219b0bb5f219b60fbfb68e7a4748139a06a5676515
+ url: "https://pub.dev"
source: hosted
version: "2.3.1"
async:
dependency: transitive
description:
name: async
- url: "https://pub.dartlang.org"
+ sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0
+ url: "https://pub.dev"
source: hosted
- version: "2.8.2"
+ version: "2.10.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
- url: "https://pub.dartlang.org"
+ sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.1"
build:
dependency: transitive
description:
name: build
- url: "https://pub.dartlang.org"
+ sha256: "3fbda25365741f8251b39f3917fb3c8e286a96fd068a5a242e11c2012d495777"
+ url: "https://pub.dev"
source: hosted
version: "2.3.1"
built_collection:
dependency: transitive
description:
name: built_collection
- url: "https://pub.dartlang.org"
+ sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
+ url: "https://pub.dev"
source: hosted
version: "5.1.1"
built_value:
dependency: transitive
description:
name: built_value
- url: "https://pub.dartlang.org"
+ sha256: "169565c8ad06adb760c3645bf71f00bff161b00002cace266cad42c5d22a7725"
+ url: "https://pub.dev"
source: hosted
version: "8.4.3"
characters:
dependency: transitive
description:
name: characters
- url: "https://pub.dartlang.org"
+ sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c
+ url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.2.1"
charcode:
dependency: transitive
description:
name: charcode
- url: "https://pub.dartlang.org"
+ sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306
+ url: "https://pub.dev"
source: hosted
version: "1.3.1"
cli_util:
dependency: transitive
description:
name: cli_util
- url: "https://pub.dartlang.org"
+ sha256: "66f86e916d285c1a93d3b79587d94bd71984a66aac4ff74e524cfa7877f1395c"
+ url: "https://pub.dev"
source: hosted
version: "0.3.5"
clock:
dependency: transitive
description:
name: clock
- url: "https://pub.dartlang.org"
+ sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
+ url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.1.1"
code_builder:
dependency: transitive
description:
name: code_builder
- url: "https://pub.dartlang.org"
+ sha256: "0d43dd1288fd145de1ecc9a3948ad4a6d5a82f0a14c4fdd0892260787d975cbe"
+ url: "https://pub.dev"
source: hosted
version: "4.4.0"
collection:
dependency: transitive
description:
name: collection
- url: "https://pub.dartlang.org"
+ sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0
+ url: "https://pub.dev"
source: hosted
- version: "1.16.0"
+ version: "1.17.0"
convert:
dependency: transitive
description:
name: convert
- url: "https://pub.dartlang.org"
+ sha256: "1be13198012c1d5bc042dc40ad1d7f16cbd522350984c0c1abf471d6d7e305c6"
+ url: "https://pub.dev"
source: hosted
version: "3.1.0"
crypto:
dependency: transitive
description:
name: crypto
- url: "https://pub.dartlang.org"
+ sha256: cf75650c66c0316274e21d7c43d3dea246273af5955bd94e8184837cd577575c
+ url: "https://pub.dev"
source: hosted
version: "3.0.1"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
- url: "https://pub.dartlang.org"
+ sha256: a937da4c006989739ceb4d10e3bd6cce64ca85d0fe287fc5b2b9f6ee757dcee6
+ url: "https://pub.dev"
source: hosted
version: "0.1.3"
dart_style:
dependency: transitive
description:
name: dart_style
- url: "https://pub.dartlang.org"
+ sha256: "6e8086e1d3c2f6bc15056ee248c4ddc48c2bc71287c0961bf801a08633ed4333"
+ url: "https://pub.dev"
source: hosted
version: "2.2.1"
fake_async:
dependency: transitive
description:
name: fake_async
- url: "https://pub.dartlang.org"
+ sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
+ url: "https://pub.dev"
source: hosted
- version: "1.3.0"
+ version: "1.3.1"
file:
dependency: transitive
description:
name: file
- url: "https://pub.dartlang.org"
+ sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
+ url: "https://pub.dev"
source: hosted
version: "6.1.4"
fixnum:
dependency: transitive
description:
name: fixnum
- url: "https://pub.dartlang.org"
+ sha256: "04be3e934c52e082558cc9ee21f42f5c1cd7a1262f4c63cd0357c08d5bba81ec"
+ url: "https://pub.dev"
source: hosted
version: "1.0.1"
flutter:
@@ -157,7 +178,8 @@ packages:
dependency: transitive
description:
name: flutter_inappwebview
- url: "https://pub.dartlang.org"
+ sha256: f73505c792cf083d5566e1a94002311be497d984b5607f25be36d685cf6361cf
+ url: "https://pub.dev"
source: hosted
version: "5.7.2+3"
flutter_test:
@@ -174,7 +196,8 @@ packages:
dependency: transitive
description:
name: fluttertoast
- url: "https://pub.dartlang.org"
+ sha256: b3ae793108ad2a7e8f2fea91ca5bb2ba7ef03621c4d9ed7a92fe3391da64c000
+ url: "https://pub.dev"
source: hosted
version: "8.0.8"
flutterwave_standard:
@@ -188,105 +211,120 @@ packages:
dependency: transitive
description:
name: glob
- url: "https://pub.dartlang.org"
+ sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c"
+ url: "https://pub.dev"
source: hosted
version: "2.1.1"
http:
dependency: transitive
description:
name: http
- url: "https://pub.dartlang.org"
+ sha256: b6f1f143a71e1fe1b34670f1acd6f13960ade2557c96b87e127e0cf661969791
+ url: "https://pub.dev"
source: hosted
version: "0.13.3"
http_parser:
dependency: transitive
description:
name: http_parser
- url: "https://pub.dartlang.org"
+ sha256: e362d639ba3bc07d5a71faebb98cde68c05bfbcfbbb444b60b6f60bb67719185
+ url: "https://pub.dev"
source: hosted
version: "4.0.0"
js:
dependency: transitive
description:
name: js
- url: "https://pub.dartlang.org"
+ sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
+ url: "https://pub.dev"
source: hosted
- version: "0.6.4"
+ version: "0.6.5"
logging:
dependency: transitive
description:
name: logging
- url: "https://pub.dartlang.org"
+ sha256: c0bbfe94d46aedf9b8b3e695cf3bd48c8e14b35e3b2c639e0aa7755d589ba946
+ url: "https://pub.dev"
source: hosted
version: "1.1.0"
matcher:
dependency: transitive
description:
name: matcher
- url: "https://pub.dartlang.org"
+ sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72"
+ url: "https://pub.dev"
source: hosted
- version: "0.12.11"
+ version: "0.12.13"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
- url: "https://pub.dartlang.org"
+ sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
+ url: "https://pub.dev"
source: hosted
- version: "0.1.4"
+ version: "0.2.0"
meta:
dependency: transitive
description:
name: meta
- url: "https://pub.dartlang.org"
+ sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42"
+ url: "https://pub.dev"
source: hosted
- version: "1.7.0"
+ version: "1.8.0"
mockito:
dependency: "direct dev"
description:
name: mockito
- url: "https://pub.dartlang.org"
+ sha256: "6668f23c57bbf3857437c1683e8e0bef7e1077537593293e1fc8d1099fcc1981"
+ url: "https://pub.dev"
source: hosted
version: "5.0.15"
modal_bottom_sheet:
dependency: transitive
description:
name: modal_bottom_sheet
- url: "https://pub.dartlang.org"
+ sha256: ef533916a2c3089571c32bd34e410faca77a6849a3f28f748e0794525c5658a0
+ url: "https://pub.dev"
source: hosted
version: "2.1.2"
package_config:
dependency: transitive
description:
name: package_config
- url: "https://pub.dartlang.org"
+ sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
+ url: "https://pub.dev"
source: hosted
version: "2.1.0"
path:
dependency: transitive
description:
name: path
- url: "https://pub.dartlang.org"
+ sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b
+ url: "https://pub.dev"
source: hosted
- version: "1.8.1"
+ version: "1.8.2"
pedantic:
dependency: transitive
description:
name: pedantic
- url: "https://pub.dartlang.org"
+ sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602"
+ url: "https://pub.dev"
source: hosted
version: "1.11.1"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
- url: "https://pub.dartlang.org"
+ sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a
+ url: "https://pub.dev"
source: hosted
version: "2.1.3"
pub_semver:
dependency: transitive
description:
name: pub_semver
- url: "https://pub.dartlang.org"
+ sha256: "307de764d305289ff24ad257ad5c5793ce56d04947599ad68b3baa124105fc17"
+ url: "https://pub.dev"
source: hosted
version: "2.1.3"
sky_engine:
@@ -298,114 +336,130 @@ packages:
dependency: transitive
description:
name: source_gen
- url: "https://pub.dartlang.org"
+ sha256: "00f8b6b586f724a8c769c96f1d517511a41661c0aede644544d8d86a1ab11142"
+ url: "https://pub.dev"
source: hosted
version: "1.2.2"
source_span:
dependency: transitive
description:
name: source_span
- url: "https://pub.dartlang.org"
+ sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
+ url: "https://pub.dev"
source: hosted
- version: "1.8.2"
+ version: "1.9.1"
stack_trace:
dependency: transitive
description:
name: stack_trace
- url: "https://pub.dartlang.org"
+ sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
+ url: "https://pub.dev"
source: hosted
- version: "1.10.0"
+ version: "1.11.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
- url: "https://pub.dartlang.org"
+ sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.1"
string_scanner:
dependency: transitive
description:
name: string_scanner
- url: "https://pub.dartlang.org"
+ sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+ url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.2.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
- url: "https://pub.dartlang.org"
+ sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
+ url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
- url: "https://pub.dartlang.org"
+ sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206
+ url: "https://pub.dev"
source: hosted
- version: "0.4.9"
+ version: "0.4.16"
typed_data:
dependency: transitive
description:
name: typed_data
- url: "https://pub.dartlang.org"
+ sha256: "53bdf7e979cfbf3e28987552fd72f637e63f3c8724c9e56d9246942dc2fa36ee"
+ url: "https://pub.dev"
source: hosted
version: "1.3.0"
uuid:
dependency: "direct main"
description:
name: uuid
- url: "https://pub.dartlang.org"
+ sha256: "0ea20bfc625477e17f08a92d112272a071609b275ce4ca10ad853e1426ca3758"
+ url: "https://pub.dev"
source: hosted
version: "3.0.4"
vector_math:
dependency: transitive
description:
name: vector_math
- url: "https://pub.dartlang.org"
+ sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.2"
+ version: "2.1.4"
watcher:
dependency: transitive
description:
name: watcher
- url: "https://pub.dartlang.org"
+ sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0"
+ url: "https://pub.dev"
source: hosted
version: "1.0.2"
webview_flutter:
dependency: transitive
description:
name: webview_flutter
- url: "https://pub.dartlang.org"
+ sha256: "392c1d83b70fe2495de3ea2c84531268d5b8de2de3f01086a53334d8b6030a88"
+ url: "https://pub.dev"
source: hosted
version: "3.0.4"
webview_flutter_android:
dependency: transitive
description:
name: webview_flutter_android
- url: "https://pub.dartlang.org"
+ sha256: "8b3b2450e98876c70bfcead876d9390573b34b9418c19e28168b74f6cb252dbd"
+ url: "https://pub.dev"
source: hosted
version: "2.10.4"
webview_flutter_platform_interface:
dependency: transitive
description:
name: webview_flutter_platform_interface
- url: "https://pub.dartlang.org"
+ sha256: "812165e4e34ca677bdfbfa58c01e33b27fd03ab5fa75b70832d4b7d4ca1fa8cf"
+ url: "https://pub.dev"
source: hosted
version: "1.9.5"
webview_flutter_wkwebview:
dependency: transitive
description:
name: webview_flutter_wkwebview
- url: "https://pub.dartlang.org"
+ sha256: a5364369c758892aa487cbf59ea41d9edd10f9d9baf06a94e80f1bd1b4c7bbc0
+ url: "https://pub.dev"
source: hosted
version: "2.9.5"
yaml:
dependency: transitive
description:
name: yaml
- url: "https://pub.dartlang.org"
+ sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370"
+ url: "https://pub.dev"
source: hosted
version: "3.1.1"
sdks:
- dart: ">=2.17.0 <3.0.0"
+ dart: ">=2.18.0 <3.0.0"
flutter: ">=3.0.0"
diff --git a/lib/core/flutterwave.dart b/lib/core/flutterwave.dart
index 1480a32..e0bc725 100644
--- a/lib/core/flutterwave.dart
+++ b/lib/core/flutterwave.dart
@@ -1,16 +1,16 @@
import 'package:flutter/material.dart';
-import 'package:flutterwave_standard/models/requests/customer.dart';
-import 'package:flutterwave_standard/models/requests/customizations.dart';
-import 'package:flutterwave_standard/models/requests/standard_request.dart';
-import 'package:flutterwave_standard/models/responses/charge_response.dart';
-import 'package:flutterwave_standard/models/responses/standard_response.dart';
-import 'package:flutterwave_standard/models/subaccount.dart';
-import 'package:flutterwave_standard/utils.dart';
-import 'package:flutterwave_standard/view/flutterwave_style.dart';
-import 'package:flutterwave_standard/view/standard_widget.dart';
-import 'package:flutterwave_standard/view/view_utils.dart';
import 'package:http/http.dart';
+import '../models/requests/customer.dart';
+import '../models/requests/customizations.dart';
+import '../models/requests/standard_request.dart';
+import '../models/responses/charge_response.dart';
+import '../models/responses/standard_response.dart';
+import '../models/subaccount.dart';
+import '../view/flutterwave_style.dart';
+import '../view/standard_widget.dart';
+import '../view/view_utils.dart';
+
class Flutterwave {
BuildContext context;
String txRef;
@@ -86,16 +86,16 @@ class Flutterwave {
}
final response = await Navigator.push(
- context,
- MaterialPageRoute(
- builder: (context) => StandardPaymentWidget(
- webUrl: standardResponse!.data!.link!,
- ),
+ context,
+ MaterialPageRoute(
+ builder: (context) => StandardPaymentWidget(
+ webUrl: standardResponse!.data!.link!,
),
- );
+ ),
+ );
if (response != null) return response!;
- return ChargeResponse(txRef: request.txRef, status: "cancelled", success: false);
- }
-
+ return ChargeResponse(
+ txRef: request.txRef, status: "cancelled", success: false);
+ }
}
diff --git a/lib/models/subaccount.dart b/lib/models/subaccount.dart
index ea29fad..07c0e8c 100644
--- a/lib/models/subaccount.dart
+++ b/lib/models/subaccount.dart
@@ -1,8 +1,10 @@
+import '../utils/enums/transaction_charge_type.dart';
+
class SubAccount {
String id;
int? transactionSplitRatio;
- String? transactionChargeType;
+ TransactionChargeType? transactionChargeType;
double? transactionPercentage;
SubAccount({
@@ -17,7 +19,7 @@ class SubAccount {
return {
"id": this.id,
"transaction_split_ratio": this.transactionSplitRatio,
- "transaction_charge_type": this.transactionChargeType,
+ "transaction_charge_type": this.transactionChargeType == TransactionChargeType.flat ? "flat_subaccount" : "percentage",
"transaction_charge": this.transactionPercentage
};
}
diff --git a/lib/utils/enums/transaction_charge_type.dart b/lib/utils/enums/transaction_charge_type.dart
new file mode 100644
index 0000000..704a8dc
--- /dev/null
+++ b/lib/utils/enums/transaction_charge_type.dart
@@ -0,0 +1,5 @@
+/// TRANSACTION CHARGE TYPE ARE TWO TYPES:
+/// PERCENTAGE: [percentage]
+/// FLAT: [flat_subaccount]
+
+enum TransactionChargeType {percentage, flat}
\ No newline at end of file
diff --git a/pubspec.lock b/pubspec.lock
index 290e073..90b58c8 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -5,140 +5,160 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
- url: "https://pub.dartlang.org"
+ sha256: "09d49759685f577cd71ec1fcf773afa3377e23d3a9137154a1a1d28dd5aaabd8"
+ url: "https://pub.dev"
source: hosted
version: "25.0.0"
analyzer:
dependency: transitive
description:
name: analyzer
- url: "https://pub.dartlang.org"
+ sha256: "21b3e7ffb8505789ecea7794480060b8e66dfa287dfa8923ff3735aadeb9cf29"
+ url: "https://pub.dev"
source: hosted
version: "2.2.0"
args:
dependency: transitive
description:
name: args
- url: "https://pub.dartlang.org"
+ sha256: "3d82ff8620ec576fd38f6cec0df45a7c088b8704eb1c63d4c336392e5efca6ca"
+ url: "https://pub.dev"
source: hosted
version: "2.2.0"
async:
dependency: transitive
description:
name: async
- url: "https://pub.dartlang.org"
+ sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0
+ url: "https://pub.dev"
source: hosted
- version: "2.8.2"
+ version: "2.10.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
- url: "https://pub.dartlang.org"
+ sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.1"
build:
dependency: transitive
description:
name: build
- url: "https://pub.dartlang.org"
+ sha256: ad0a562140603cf3dd77f0bdd068ffc11588661e3de7ba53c803e72382a1b3a2
+ url: "https://pub.dev"
source: hosted
version: "2.1.0"
built_collection:
dependency: transitive
description:
name: built_collection
- url: "https://pub.dartlang.org"
+ sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
+ url: "https://pub.dev"
source: hosted
version: "5.1.1"
built_value:
dependency: transitive
description:
name: built_value
- url: "https://pub.dartlang.org"
+ sha256: ce70206f4116029cec77802dd5b5987e32c30ab491af6e3e49410b7457ebfc64
+ url: "https://pub.dev"
source: hosted
version: "8.1.2"
characters:
dependency: transitive
description:
name: characters
- url: "https://pub.dartlang.org"
+ sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c
+ url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.2.1"
charcode:
dependency: transitive
description:
name: charcode
- url: "https://pub.dartlang.org"
+ sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306
+ url: "https://pub.dev"
source: hosted
version: "1.3.1"
cli_util:
dependency: transitive
description:
name: cli_util
- url: "https://pub.dartlang.org"
+ sha256: cd9cfe046f8b4d87f45abce8f14ec315a4eaedcf92a211e83fa080faf9ec7c1c
+ url: "https://pub.dev"
source: hosted
version: "0.3.3"
clock:
dependency: transitive
description:
name: clock
- url: "https://pub.dartlang.org"
+ sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
+ url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.1.1"
code_builder:
dependency: transitive
description:
name: code_builder
- url: "https://pub.dartlang.org"
+ sha256: bdb1ab29be158c4784d7f9b7b693745a0719c5899e31c01112782bb1cb871e80
+ url: "https://pub.dev"
source: hosted
version: "4.1.0"
collection:
dependency: transitive
description:
name: collection
- url: "https://pub.dartlang.org"
+ sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0
+ url: "https://pub.dev"
source: hosted
- version: "1.16.0"
+ version: "1.17.0"
convert:
dependency: transitive
description:
name: convert
- url: "https://pub.dartlang.org"
+ sha256: f08428ad63615f96a27e34221c65e1a451439b5f26030f78d790f461c686d65d
+ url: "https://pub.dev"
source: hosted
version: "3.0.1"
crypto:
dependency: transitive
description:
name: crypto
- url: "https://pub.dartlang.org"
+ sha256: cf75650c66c0316274e21d7c43d3dea246273af5955bd94e8184837cd577575c
+ url: "https://pub.dev"
source: hosted
version: "3.0.1"
dart_style:
dependency: transitive
description:
name: dart_style
- url: "https://pub.dartlang.org"
+ sha256: "4237f3f70a6b544cb31c9e90488ea7e61e1e50d72fe83ec34e8b2833698f7201"
+ url: "https://pub.dev"
source: hosted
version: "2.1.0"
fake_async:
dependency: transitive
description:
name: fake_async
- url: "https://pub.dartlang.org"
+ sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
+ url: "https://pub.dev"
source: hosted
- version: "1.3.0"
+ version: "1.3.1"
file:
dependency: transitive
description:
name: file
- url: "https://pub.dartlang.org"
+ sha256: b69516f2c26a5bcac4eee2e32512e1a5205ab312b3536c1c1227b2b942b5f9ad
+ url: "https://pub.dev"
source: hosted
version: "6.1.2"
fixnum:
dependency: transitive
description:
name: fixnum
- url: "https://pub.dartlang.org"
+ sha256: "6a2ef17156f4dc49684f9d99aaf4a93aba8ac49f5eac861755f5730ddf6e2e4e"
+ url: "https://pub.dev"
source: hosted
version: "1.0.0"
flutter:
@@ -150,7 +170,8 @@ packages:
dependency: "direct main"
description:
name: flutter_inappwebview
- url: "https://pub.dartlang.org"
+ sha256: f73505c792cf083d5566e1a94002311be497d984b5607f25be36d685cf6361cf
+ url: "https://pub.dev"
source: hosted
version: "5.7.2+3"
flutter_test:
@@ -167,112 +188,128 @@ packages:
dependency: "direct main"
description:
name: fluttertoast
- url: "https://pub.dartlang.org"
+ sha256: b3ae793108ad2a7e8f2fea91ca5bb2ba7ef03621c4d9ed7a92fe3391da64c000
+ url: "https://pub.dev"
source: hosted
version: "8.0.8"
glob:
dependency: transitive
description:
name: glob
- url: "https://pub.dartlang.org"
+ sha256: dda85ce2aefce16f7e75586acbcb1e8320bf176f69fd94082e31945d6de67f3e
+ url: "https://pub.dev"
source: hosted
version: "2.0.1"
http:
dependency: "direct main"
description:
name: http
- url: "https://pub.dartlang.org"
+ sha256: b6f1f143a71e1fe1b34670f1acd6f13960ade2557c96b87e127e0cf661969791
+ url: "https://pub.dev"
source: hosted
version: "0.13.3"
http_parser:
dependency: transitive
description:
name: http_parser
- url: "https://pub.dartlang.org"
+ sha256: e362d639ba3bc07d5a71faebb98cde68c05bfbcfbbb444b60b6f60bb67719185
+ url: "https://pub.dev"
source: hosted
version: "4.0.0"
js:
dependency: transitive
description:
name: js
- url: "https://pub.dartlang.org"
+ sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
+ url: "https://pub.dev"
source: hosted
- version: "0.6.4"
+ version: "0.6.5"
logging:
dependency: transitive
description:
name: logging
- url: "https://pub.dartlang.org"
+ sha256: "0520a4826042a8a5d09ddd4755623a50d37ee536d79a70452aff8c8ad7bb6c27"
+ url: "https://pub.dev"
source: hosted
version: "1.0.1"
matcher:
dependency: transitive
description:
name: matcher
- url: "https://pub.dartlang.org"
+ sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72"
+ url: "https://pub.dev"
source: hosted
- version: "0.12.11"
+ version: "0.12.13"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
- url: "https://pub.dartlang.org"
+ sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
+ url: "https://pub.dev"
source: hosted
- version: "0.1.4"
+ version: "0.2.0"
meta:
dependency: transitive
description:
name: meta
- url: "https://pub.dartlang.org"
+ sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42"
+ url: "https://pub.dev"
source: hosted
- version: "1.7.0"
+ version: "1.8.0"
mockito:
dependency: "direct dev"
description:
name: mockito
- url: "https://pub.dartlang.org"
+ sha256: "6668f23c57bbf3857437c1683e8e0bef7e1077537593293e1fc8d1099fcc1981"
+ url: "https://pub.dev"
source: hosted
version: "5.0.15"
modal_bottom_sheet:
dependency: "direct main"
description:
name: modal_bottom_sheet
- url: "https://pub.dartlang.org"
+ sha256: fc7c6b5848b837122dc1db913545ef673d74222090cad63a2840507e3d483235
+ url: "https://pub.dev"
source: hosted
version: "2.1.0"
package_config:
dependency: transitive
description:
name: package_config
- url: "https://pub.dartlang.org"
+ sha256: "20e7154d701fedaeb219dad732815ecb66677667871127998a9a6581c2aba4ba"
+ url: "https://pub.dev"
source: hosted
version: "2.0.0"
path:
dependency: transitive
description:
name: path
- url: "https://pub.dartlang.org"
+ sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b
+ url: "https://pub.dev"
source: hosted
- version: "1.8.1"
+ version: "1.8.2"
pedantic:
dependency: transitive
description:
name: pedantic
- url: "https://pub.dartlang.org"
+ sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602"
+ url: "https://pub.dev"
source: hosted
version: "1.11.1"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
- url: "https://pub.dartlang.org"
+ sha256: "075f927ebbab4262ace8d0b283929ac5410c0ac4e7fc123c76429564facfb757"
+ url: "https://pub.dev"
source: hosted
version: "2.1.2"
pub_semver:
dependency: transitive
description:
name: pub_semver
- url: "https://pub.dartlang.org"
+ sha256: "59ed538734419e81f7fc18c98249ae72c3c7188bdd9dceff2840585227f79843"
+ url: "https://pub.dev"
source: hosted
version: "2.0.0"
sky_engine:
@@ -284,107 +321,122 @@ packages:
dependency: transitive
description:
name: source_gen
- url: "https://pub.dartlang.org"
+ sha256: ffb7124eb6752de71e87a122cc50a8a191044add69fd990d76958bc38ee552fd
+ url: "https://pub.dev"
source: hosted
version: "1.0.3"
source_span:
dependency: transitive
description:
name: source_span
- url: "https://pub.dartlang.org"
+ sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
+ url: "https://pub.dev"
source: hosted
- version: "1.8.2"
+ version: "1.9.1"
stack_trace:
dependency: transitive
description:
name: stack_trace
- url: "https://pub.dartlang.org"
+ sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
+ url: "https://pub.dev"
source: hosted
- version: "1.10.0"
+ version: "1.11.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
- url: "https://pub.dartlang.org"
+ sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.1"
string_scanner:
dependency: transitive
description:
name: string_scanner
- url: "https://pub.dartlang.org"
+ sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+ url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.2.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
- url: "https://pub.dartlang.org"
+ sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
+ url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
- url: "https://pub.dartlang.org"
+ sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206
+ url: "https://pub.dev"
source: hosted
- version: "0.4.9"
+ version: "0.4.16"
typed_data:
dependency: transitive
description:
name: typed_data
- url: "https://pub.dartlang.org"
+ sha256: "53bdf7e979cfbf3e28987552fd72f637e63f3c8724c9e56d9246942dc2fa36ee"
+ url: "https://pub.dev"
source: hosted
version: "1.3.0"
vector_math:
dependency: transitive
description:
name: vector_math
- url: "https://pub.dartlang.org"
+ sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.2"
+ version: "2.1.4"
watcher:
dependency: transitive
description:
name: watcher
- url: "https://pub.dartlang.org"
+ sha256: "68173f2fa67d241323a4123be7ed4e43424c54befa5505d71c8ad4b7baf8f71d"
+ url: "https://pub.dev"
source: hosted
version: "1.0.0"
webview_flutter:
dependency: "direct main"
description:
name: webview_flutter
- url: "https://pub.dartlang.org"
+ sha256: "392c1d83b70fe2495de3ea2c84531268d5b8de2de3f01086a53334d8b6030a88"
+ url: "https://pub.dev"
source: hosted
version: "3.0.4"
webview_flutter_android:
dependency: transitive
description:
name: webview_flutter_android
- url: "https://pub.dartlang.org"
+ sha256: "71003f78c3c1be4a652ce91c64846a2de3c097a182133a7f003807f2d4d31f47"
+ url: "https://pub.dev"
source: hosted
version: "2.8.14"
webview_flutter_platform_interface:
dependency: transitive
description:
name: webview_flutter_platform_interface
- url: "https://pub.dartlang.org"
+ sha256: "60828a1ae6a1ac779895768b5567aea1157e1b0b58660ce67c6da30ae56694ec"
+ url: "https://pub.dev"
source: hosted
version: "1.9.1"
webview_flutter_wkwebview:
dependency: transitive
description:
name: webview_flutter_wkwebview
- url: "https://pub.dartlang.org"
+ sha256: "5285e2a22199aaddf67b01114893c47a718dd2d989d78453dc0174d7386f88f6"
+ url: "https://pub.dev"
source: hosted
version: "2.8.1"
yaml:
dependency: transitive
description:
name: yaml
- url: "https://pub.dartlang.org"
+ sha256: "3cee79b1715110341012d27756d9bae38e650588acd38d3f3c610822e1337ace"
+ url: "https://pub.dev"
source: hosted
version: "3.1.0"
sdks:
- dart: ">=2.17.0 <3.0.0"
+ dart: ">=2.18.0 <3.0.0"
flutter: ">=3.0.0"
From 24ef32819ceab1c114d9ada1e296cdf3e647d9fb Mon Sep 17 00:00:00 2001
From: Jeremiah Oluwaseun Erinola
<53568423+jeremiahseun@users.noreply.github.com>
Date: Wed, 19 Apr 2023 12:20:54 +0100
Subject: [PATCH 2/6] Change the Payment Option to a List
- I changed the way we input the payment option. As it is inputted into a list, it converts to a String as before. It is just easier for devs.
- I added assertions to cross-check that both paymentOptions and paymentOptionsList are not non-null.
---
example/lib/main.dart | 15 +++-
lib/core/flutterwave.dart | 26 +++++--
lib/models/subaccount.dart | 82 ++++++++++++++++----
lib/utils/enums/payment_option.dart | 16 ++++
lib/utils/enums/transaction_charge_type.dart | 7 +-
lib/view/standard_widget.dart | 22 +++---
lib/view/view_utils.dart | 5 --
7 files changed, 135 insertions(+), 38 deletions(-)
create mode 100644 lib/utils/enums/payment_option.dart
diff --git a/example/lib/main.dart b/example/lib/main.dart
index 8a946c7..9f104dc 100644
--- a/example/lib/main.dart
+++ b/example/lib/main.dart
@@ -1,5 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutterwave_standard/flutterwave.dart';
+import 'package:flutterwave_standard/models/subaccount.dart';
+import 'package:flutterwave_standard/utils/enums/payment_option.dart';
+import 'package:flutterwave_standard/utils/enums/transaction_charge_type.dart';
import 'package:uuid/uuid.dart';
void main() {
@@ -182,10 +185,20 @@ class _MyHomePageState extends State
-