Re-redemption
If the Merchant’s back end receives a redemption code for a subscription that’s already been activated (that is, the redemption code has already been consumed), the Merchant should stop the activation flow and produce an error. An example of how this could occur: a user already activated their subscription but accidentally clicks the redemption link again.Redemption After Cancellation
In this scenario, a user has already canceled a subscription in the digital store, but clicks the original redemption link again. The Merchant must be able to detect such attempt and reject the activation request. Otherwise, the user will get the Merchant’s service for free because the Partner subscription status in MarketONE remains canceled and there will be no further changes to the Aggregator (Service Provider).Double Subscription
In this scenario, a user already has an active subscription and subscribes to the same Merchant service again. A new subscription callback comes to the Merchant with a newpartnerSubscriptionID and redemption code. However, during the activation, when the Merchant finds out the same user identity already has an activated subscription from MarketONE, the Merchant must send an error to the user and ask them to cancel the duplicate subscription from the Aggregator’s (Service Provider’s) digital store.
PartnerSubscriptionID Doesn’t Exist
In aDeleteSubscription callback, if the Merchant can’t find the referenced partnerSubscriptionId on the Merchant side, there is a severe out-of-sync issue. The Merchant must produce an error.
Cancellation in a Different Context
If the user subscribes to the Merchant service from Aggregator’s (Service Provider’s) digital store, the cancellation must be done from Aggregator’s digital store as well. The Merchant must be able to differentiate which subscriptions are from the Aggregator’s store and which subscriptions are directly from the Merchant’s website or app. If a user tries to cancel directly with the Merchant for the subscription they subscribed through the Aggregator, for example, the Merchant must block such an attempt. Likewise, if the user subscribes directly through the Merchant’s website or app, the user can’t cancel through Aggregator’s (Service Provider’s) digital store. However this should have been blocked by MarketONE already since there will be no correlatedpartnerSubscriptionId in MarketONE to cancel.
Parent topic:Design Guidelines for the Platform-Managed Flow
