added stripe
This commit is contained in:
parent
25bec328fa
commit
c5456d442f
@ -13,6 +13,7 @@ import 'package:flutter/services.dart';
|
|||||||
import 'package:refilc_mobile_ui/screens/error_screen.dart';
|
import 'package:refilc_mobile_ui/screens/error_screen.dart';
|
||||||
import 'package:refilc_mobile_ui/screens/error_report_screen.dart';
|
import 'package:refilc_mobile_ui/screens/error_report_screen.dart';
|
||||||
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||||
|
import 'package:flutter_stripe/flutter_stripe.dart' as stripe;
|
||||||
// import 'package:firebase_core/firebase_core.dart';
|
// import 'package:firebase_core/firebase_core.dart';
|
||||||
|
|
||||||
// import 'firebase_options.dart';
|
// import 'firebase_options.dart';
|
||||||
@ -32,6 +33,10 @@ void main() async {
|
|||||||
|
|
||||||
BackgroundFetch.registerHeadlessTask(backgroundHeadlessTask);
|
BackgroundFetch.registerHeadlessTask(backgroundHeadlessTask);
|
||||||
|
|
||||||
|
// initialize stripe key
|
||||||
|
stripe.Stripe.publishableKey =
|
||||||
|
'pk_live_51OWSV2HW2TAy5tA6EELuXtpG6ombCCrOFbvz2fDwZlqLT42Ql64CfxptWem8NjN1dhnE6jaI77TRsVZbF8gfd29Q00OGMQRGqm';
|
||||||
|
|
||||||
// Run App
|
// Run App
|
||||||
runApp(App(
|
runApp(App(
|
||||||
database: startup.database,
|
database: startup.database,
|
||||||
|
@ -77,6 +77,7 @@ dependencies:
|
|||||||
extension_google_sign_in_as_googleapis_auth: ^2.0.12
|
extension_google_sign_in_as_googleapis_auth: ^2.0.12
|
||||||
maps_launcher: ^2.2.0
|
maps_launcher: ^2.2.0
|
||||||
google_fonts: ^6.1.0
|
google_fonts: ^6.1.0
|
||||||
|
flutter_stripe: ^10.0.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_lints: ^3.0.1
|
flutter_lints: ^3.0.1
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import 'package:flutter_stripe/flutter_stripe.dart' as stripe;
|
||||||
import 'package:refilc/theme/colors/colors.dart';
|
import 'package:refilc/theme/colors/colors.dart';
|
||||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||||
import 'package:refilc_plus/ui/mobile/premium/activation_view/activation_view.dart';
|
import 'package:refilc_plus/ui/mobile/premium/activation_view/activation_view.dart';
|
||||||
@ -20,25 +21,29 @@ class GithubLoginButton extends StatelessWidget {
|
|||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16.0)),
|
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16.0)),
|
||||||
child: InkWell(
|
child: InkWell(
|
||||||
borderRadius: BorderRadius.circular(14.0),
|
borderRadius: BorderRadius.circular(14.0),
|
||||||
onTap: () {
|
onTap: () async {
|
||||||
if (premium.hasPremium) {
|
// if (premium.hasPremium) {
|
||||||
premium.auth.refreshAuth(removePremium: true);
|
// premium.auth.refreshAuth(removePremium: true);
|
||||||
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
||||||
content: Text(
|
// content: Text(
|
||||||
"reFilc+ támogatás deaktiválva!",
|
// "reFilc+ támogatás deaktiválva!",
|
||||||
style: TextStyle(
|
// style: TextStyle(
|
||||||
color: AppColors.of(context).text,
|
// color: AppColors.of(context).text,
|
||||||
fontWeight: FontWeight.bold,
|
// fontWeight: FontWeight.bold,
|
||||||
fontSize: 18.0),
|
// fontSize: 18.0),
|
||||||
),
|
// ),
|
||||||
backgroundColor: Theme.of(context).scaffoldBackgroundColor,
|
// backgroundColor: Theme.of(context).scaffoldBackgroundColor,
|
||||||
));
|
// ));
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
Navigator.of(context).push(MaterialPageRoute(builder: (context) {
|
// Navigator.of(context).push(MaterialPageRoute(builder: (context) {
|
||||||
return const PremiumActivationView();
|
// return const PremiumActivationView();
|
||||||
}));
|
// }));
|
||||||
|
bool initFinished = await initPaymentSheet(context);
|
||||||
|
if (initFinished) {
|
||||||
|
await stripe.Stripe.instance.presentPaymentSheet();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 12.0),
|
padding: const EdgeInsets.symmetric(vertical: 12.0),
|
||||||
@ -110,4 +115,46 @@ class GithubLoginButton extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<bool> initPaymentSheet(BuildContext context) async {
|
||||||
|
try {
|
||||||
|
// 1. create payment intent on the server
|
||||||
|
final data = await _createPaymentSheet();
|
||||||
|
|
||||||
|
// 2. initialize the payment sheet
|
||||||
|
await stripe.Stripe.instance.initPaymentSheet(
|
||||||
|
paymentSheetParameters: stripe.SetupPaymentSheetParameters(
|
||||||
|
// Set to true for custom flow
|
||||||
|
customFlow: false,
|
||||||
|
// Main params
|
||||||
|
merchantDisplayName: 'reFilc',
|
||||||
|
paymentIntentClientSecret: data['paymentIntent'],
|
||||||
|
// Customer keys
|
||||||
|
customerEphemeralKeySecret: data['ephemeralKey'],
|
||||||
|
customerId: data['customer'],
|
||||||
|
// Extra options
|
||||||
|
applePay: const stripe.PaymentSheetApplePay(
|
||||||
|
merchantCountryCode: 'HU',
|
||||||
|
),
|
||||||
|
googlePay: const stripe.PaymentSheetGooglePay(
|
||||||
|
merchantCountryCode: 'HU',
|
||||||
|
testEnv: true,
|
||||||
|
),
|
||||||
|
style: ThemeMode.system,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
return true;
|
||||||
|
} catch (e) {
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(content: Text('Error: $e')),
|
||||||
|
);
|
||||||
|
rethrow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<Map<String, String>> _createPaymentSheet() async {
|
||||||
|
Map<String, String> asdasd = {};
|
||||||
|
|
||||||
|
return asdasd;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -64,6 +64,7 @@ dependencies:
|
|||||||
uuid: ^4.3.3
|
uuid: ^4.3.3
|
||||||
maps_launcher: ^2.2.0
|
maps_launcher: ^2.2.0
|
||||||
google_fonts: ^6.1.0
|
google_fonts: ^6.1.0
|
||||||
|
flutter_stripe: ^10.0.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_lints: ^3.0.1
|
flutter_lints: ^3.0.1
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 960ab223654209f75b5c412a8f153e69968f7192
|
Subproject commit c22b3e0de6042e09ef1d3693ef7b02fd73e778c3
|
Loading…
x
Reference in New Issue
Block a user