Skip to main content
See the following sections for more information on how errors are handed in various scenarios.

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 new partnerSubscriptionID 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 a DeleteSubscription 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 correlated partnerSubscriptionId in MarketONE to cancel. Parent topic:Design Guidelines for the Platform-Managed Flow