Order validation for package¶
Target Audience: Administrators
Release version: 4.4.0
This section describes how you can set up order validation for a specific package in the PAP. By default, all order validations listed below are disabled in Payway.
Table of Criterion¶
|No younger than||Users that are younger than the set value will not be able to purchase the package|
|No older than||Users that are older than the set value will not be able to purchase the package|
Users that are logged out or that do not have the required/appropriate information set will always be able to purchase a package.
When configuring an order validation in the PAP, you can also set a fallback package. This is an optional property, and if set, this package will be offered to the user instead of the underlying one, if they do not meet one or more of the set requirements.
Automatic validation post-purchase¶
Once a purchase on a product with age validation enabled has been made, we will start performing daily checks towards all users with said product. If the user would still be allowed to purchase the product at hand, nothing happens.
If we, however, see that the user is no longer eligible for purchase, we will either cancel the subscription, or transition the user to a specified transition package.
Subscriptions that have been bought using the
free payment option will be deactivated within a few minutes, while all other subscriptions will be deactivated at period end.
The customer will 14 days prior to any action be notified via their registered email.
To turn this off, the order validation for a specified product needs to be turned off.
Introduced in Payway 4.6.6, you can now select which behaviour the validator should use when modifying the subscription of a customer.
Selecting the immediate behaviour for a order validation configuration, means the end date of the customer subscription will be moved to the customer's birth date.
This means that the day the customer no longer meets the criteria (for example, he or she becomes too old), we will either cancel the subscription, or transition the subscription to use another package. The customer will as such not have access to a restricted product longer than they should, but it does include the risk they paid for a "new" period yesterday, only to have the subscription modified today.
Selecting the end-of-period behaviour for a order validation configuration, means the end date of the customer subscription will remain unmodified, and simply follow the length of the payment period.
This means that the day the customer no longer meets the criteria (for example, he or she becomes too old), we will prepare a transition or cancel the subscription, but the customer will still have access until the end of the current period, which could be a matter of days, weeks, months or even years.
Both behaviours have their own pros- and cons, and the decision should be based on a case-to-case basis. Remember configurations can exist for campaigns and packages separately!
Introduced in Payway 4.5.3, another optional property has been added. Setting a transition package will allow you to automatically transition the user to a different package when the criterion that has been set up are no longer met (for example, when the customer exceeds a certain age). After a package has been set and the order validation has been saved, transition periods must be set up, since Payway needs to know which period we should transition the customer on to.
For each payment option on the source package (the package the customer transitions from), you can select any payment period (of the same payment option) on the target package (the package the customer transitions to).
Each payment option on the source package needs to have a mapped period for the transition package property. Failing to do so will not result in a transition once it is time to do so, but rather a deactivation performed at period end of the subscription.
Transition package limitations¶
- Periods that are single/limited are not supported.
- Payment options that are not Tulo-provisioned are not supported.