mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-19 14:08:03 +01:00
Fix the play mapping to stripe statuses
CANCELLED in play terminiology is the same as an active subscription with cancelAtPeriodEnd set. So it should map to the ACTIVE stripe status. EXPIRED is the equivalent of a stripe CANCELLED subscription.
This commit is contained in:
committed by
ravi-signal
parent
702b125a48
commit
c97c00bf5f
@@ -242,11 +242,14 @@ public class GooglePlayBillingManager implements SubscriptionPaymentProcessor {
|
||||
final SubscriptionStatus status = switch (SubscriptionState
|
||||
.fromString(subscription.getSubscriptionState())
|
||||
.orElse(SubscriptionState.UNSPECIFIED)) {
|
||||
case ACTIVE -> SubscriptionStatus.ACTIVE;
|
||||
// In play terminology CANCELLED is the same as an active subscription with cancelAtPeriodEnd set in Stripe. So
|
||||
// it should map to the ACTIVE stripe status.
|
||||
case ACTIVE, CANCELED -> SubscriptionStatus.ACTIVE;
|
||||
case PENDING -> SubscriptionStatus.INCOMPLETE;
|
||||
case EXPIRED, ON_HOLD, PAUSED -> SubscriptionStatus.PAST_DUE;
|
||||
case ON_HOLD, PAUSED -> SubscriptionStatus.PAST_DUE;
|
||||
case IN_GRACE_PERIOD -> SubscriptionStatus.UNPAID;
|
||||
case CANCELED, PENDING_PURCHASE_CANCELED -> SubscriptionStatus.CANCELED;
|
||||
// EXPIRED is the equivalent of a Stripe CANCELLED subscription
|
||||
case EXPIRED, PENDING_PURCHASE_CANCELED -> SubscriptionStatus.CANCELED;
|
||||
case UNSPECIFIED -> SubscriptionStatus.UNKNOWN;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user