[Stripe] Show payment details even after stripe subscription has expired

This commit is contained in:
Neeraj Gupta 2021-09-27 11:00:51 +05:30
parent 7b1a2252bf
commit 0c2bc37d6a
No known key found for this signature in database
GPG key ID: 3C5A1684DC1729E1

View file

@ -44,7 +44,7 @@ class _StripeSubscriptionPageState extends State<StripeSubscriptionPage> {
FreePlan _freePlan; FreePlan _freePlan;
List<BillingPlan> _plans = []; List<BillingPlan> _plans = [];
bool _hasLoadedData = false; bool _hasLoadedData = false;
bool _isActiveStripeSubscriber; bool _isStripeSubscriber = false;
bool _showYearlyPlan = false; bool _showYearlyPlan = false;
@override @override
@ -59,9 +59,7 @@ class _StripeSubscriptionPageState extends State<StripeSubscriptionPage> {
_currentSubscription = subscription; _currentSubscription = subscription;
_showYearlyPlan = _currentSubscription.isYearlyPlan(); _showYearlyPlan = _currentSubscription.isYearlyPlan();
_hasActiveSubscription = _currentSubscription.isValid(); _hasActiveSubscription = _currentSubscription.isValid();
_isActiveStripeSubscriber = _isStripeSubscriber = _currentSubscription.paymentProvider == kStripe;
_currentSubscription.paymentProvider == kStripe &&
_currentSubscription.isValid();
_usageFuture = _billingService.fetchUsage(); _usageFuture = _billingService.fetchUsage();
return _filterStripeForUI().then((value) { return _filterStripeForUI().then((value) {
_hasLoadedData = true; _hasLoadedData = true;
@ -158,8 +156,7 @@ class _StripeSubscriptionPageState extends State<StripeSubscriptionPage> {
widgets.add(_stripeRenewOrCancelButton()); widgets.add(_stripeRenewOrCancelButton());
} }
if (_hasActiveSubscription && if (_currentSubscription.productID != kFreeProductID) {
_currentSubscription.productID != kFreeProductID) {
widgets.addAll([ widgets.addAll([
Align( Align(
alignment: Alignment.center, alignment: Alignment.center,
@ -189,11 +186,11 @@ class _StripeSubscriptionPageState extends State<StripeSubscriptionPage> {
children: [ children: [
RichText( RichText(
text: TextSpan( text: TextSpan(
text: !_isActiveStripeSubscriber text: !_isStripeSubscriber
? "visit ${_currentSubscription.paymentProvider} to manage your subscription" ? "visit ${_currentSubscription.paymentProvider} to manage your subscription"
: "payment details", : "payment details",
style: TextStyle( style: TextStyle(
color: _isActiveStripeSubscriber color: _isStripeSubscriber
? Colors.blue ? Colors.blue
: Colors.white, : Colors.white,
fontFamily: 'Ubuntu', fontFamily: 'Ubuntu',
@ -322,7 +319,7 @@ class _StripeSubscriptionPageState extends State<StripeSubscriptionPage> {
} }
} }
String stripPurChaseAction = 'buy'; String stripPurChaseAction = 'buy';
if (_isActiveStripeSubscriber) { if (_isStripeSubscriber && _hasActiveSubscription) {
// confirm if user wants to change plan or not // confirm if user wants to change plan or not
var result = await showChoiceDialog( var result = await showChoiceDialog(
context, context,