Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
Please note that all the 3.17.0.X hotfixes are, by default, included in the minor version currently in development, which is 3.17.1, and all subsequent releases.
If you want the fix to be applied, please raise a Salesforce case.
When users shared their subscription with someone and the recipient tried to accept the invite, they encountered an error. This issue has now been resolved.
When CSRs were sending invites using the 'Invite without registration' button, the request was previously failing, and this issue also has been fixed now.
Whenever the user edited the account details, especially the phone number, on the Subscriber/Update page of the SubCon Site, an error message from the Circulation system was displayed saying, “New start failed: Could not update occupant.” This issue was occurring for clients outside the US & has been resolved. After the fix, the user can update account details without encountering an error message.
While attempting to subscribe through the Subscription Panel, if the user entered a password that did not meet Auth0's rules (e.g., a password with fewer than 8 characters), the error messages from Auth0 were not displayed, preventing the user from proceeding with the subscription. This issue has now been resolved.
Following the fix, users will receive appropriate error messages whenever an error occurs during the subscription process.
When the user tried to select the ‘Update profile’ menu after logging in to the SubCon Site, the system threw an error message: ‘Invalid input’, unless the page was refreshed. This issue has now been resolved. After the fix, the user can select the ‘Update profile’ menu and successfully update their profile data without any error messages.
The Title property of the 'ApplePay Braintree V3’ component has been changed from 'html type' to ‘text type'.
This fix is also merged to 3.16.3.10.
SubCon Admin, SubCon Site, Subscription Panel, API, & CMS
Updating an existing Sales Team with a large data set (such as adding a significant number of offer groups and/or team members) was causing time-out errors. To address this issue, the Sales Teams update functionality has been restructured for performance enhancement.
There are no functional changes. After the refactoring, the performance has significantly improved. It is now possible to successfully update large numbers of offer groups or sales team members within existing Sales Teams without encountering time-out errors.
This fix is also merged to 3.16.3.13, 3.17.1 & 3.17.2.
For MG2 Auth clients, when a user attempted to register on the site by providing an email ID and password without entering a display name, the display name was not auto-generated for the newly registered user. This issue has been resolved. After the fix, even if the display name is not provided by the user during registration, it is now auto-generated in the backend.
Previously, when a user tried to edit their Display Name or email ID from the My Profile page the system displayed error messages. These issues have been resolved. After the fix, users can successfully edit the Display Name or email ID from the My Profile page without encountering any error messages.
Implementation Notes:
A new MG2 Control Api setting key SubCon.IgnoreProvider has been introduced. When the value of SubCon.IgnoreProvider
is set to true
(1), the API does not interact with the Auth system, meaning the identity providers are ignored. When the key value is set to false
(0), the API request interacts with the Auth system, which could be MG2 Auth or Auth0, depending on the configuration.
When the user tried to edit the Billing or Delivery address, the system displayed an error message saying, “Address Second Pass,” and the user was restricted from changing the address. This issue was specific to CircPro clients and has now been resolved.
The following issues on the Subscriber Update page have been resolved:
The user was unable to update the email ID due to an error message displayed by the system. This issue occurred when the user tried to update the email ID to one that already existed. This problem was caused by an internal validation that restricted the usage of the same email ID in two accounts. After the fix, the user is now able to update an Email ID that is already available in the Subscriber table with a different subscription.
There was another issue specifically observed for users who did not have an email ID saved in NCS Circ. When these users tried to update their details from the Subscriber page, the SUBMIT button was greyed out, preventing them from completing the update. This issue has also been resolved. After the fix, the email field is now optional on the Subscriber Update page. Users can update the subscriber details even if the email field is left blank.
When a user tried to update their phone number by entering a new number after clearing the existing one, the update was successful. However, it was observed that when the user attempted to change the digits of the existing number after the parentheses displayed in the field (area code enclosed in parentheses), the system displayed an error message, preventing the update. This issue has now been resolved.
After editing profile information on the My Profile page, users encountered an error message while clicking the SUBMIT button, and the update failed. This issue has been resolved. Following the fix, when a user edits the First Name and/or Last Name, the update is now successful without any errors.
Implementation Notes:
Set the value of MG2Control key SubCon.IgnoreProvider
True or False (0 or 1). The default value of the key is True.
This issue was specific to CircPro clients. When a user attempted to subscribe with EZPay, the subscription was unsuccessful if the circulation system was CircPro. This was due to a mismatch between the Pac term values set up in the SolCon offer and the Pac terms in the circulation system. This issue has been resolved.
This issue was specific to CircPro clients using the payment vendor Authorize.net. When users attempted to restart subscriptions from the Subscription Panel, it failed. This issue has been resolved. After the fix, the CircPro clients with Authorize.net payment vendor can successfully restart a subscription from the Subscription Panel.
When a user with a previously stopped subscription purchased a new subscription and tried to log in to the self-service portal, they encountered an error message stating 'Max Linked Subscribers.' As a result, the user was unable to verify their account and log in to the site. This issue has now been resolved.
The encoding of special characters has been removed due to issues arising when the rate code length exceeded 20 characters in the circulation system after encoding.
This fix is also merged to 3.16.3.13.
API, Self-Service, SolCon
Recently, major browsers have introduced additional security measures and constraints related to third-party cookies, as well as cross-domain data transfer and communication. The latest release of Chrome no longer supports third-party cookies. These were impacting the functioning of the Landing application and user experience negatively. Despite the implementation of workarounds, users were encountering issues in the sign-in flow at times.
Therefore, starting with this release, the sign-in logic for the Landing application has been revised without significantly affecting the existing functionality and behavior. The previous dependency on local storage has been replaced, and a Redis caching approach is now implemented for the users to sign in on the Landing for accessing consumer applications (SubCon Admin, SolCon & CMS).
Following the new implementation, users can access any consumer application only through the Landing application.
If a user has opened different consumer applications on different tabs in a browser, logging out from one application will force the user to log out from the other opened applications as well. The user will regain access to the application only by signing in through the landing application.
Page refresh will work as before and have no impact following the redesign.
Multi-Factor Authentication (MFA) with Okta will also work as intended if the feature is turned ON for the specific client.
There is no dependency on third-party cookies related to the Landing application, and the Landing works perfectly fine on Safari, Firefox, Chrome, and Edge browsers.
Consumer applications are no longer dependent on Local storage to fetch data.
The CMS Idle Time functionality, which notifies the user if they have been inactive on a CMS page for an extended duration and provides the option to either continue or exit from the page, is working as before.
For a seamless user experience and as a best practice, please do not disable cookies in your browser.
This fix is also merged into 3.16.1.10, 3.16.2.8, 3.16.3.13 & 3.17.0.3 releases.
Following an urgent update regarding the P12 merchant file for Cybersource keys, Subscribe will now send Password, Filename, and Merchant ID to ensure successful payment transactions with the Cybersource payment gateway. Previously, only the Merchant ID was included in the Cybersource request.
Note that the Merchant ID and Filename values remain the same in the Cybersource request.
This fix is also merged into the 3.16.3.14 release.
/DigitalAccess
endpointThe /DigitalAccess
(POST) endpoint was deprecated in Subscribe version 3.17 as part of a major API refactoring. However, to ease the migration, this endpoint has been made available again.
When a user linked an SS account with an existing subscription, the success notification displayed HTML tags along with the message text. This issue has been resolved. After the fix, notification messages are displayed correctly with the intended styling (e.g., bold text) and without any visible HTML tags.
Implementation Notes:
The existing property “EnableHtml” in Subcon.config should be set to true → "EnableHtml": true (for converting HTML tags).
If a potential subscriber switched the payment method while making the payment, the tax was getting skipped. The issue has been fixed now. After the fix, while purchasing a subscription, the Tax is included along with the subscription cost irrespective of the Payment method selected.
This intermittent issue was specific to Apple's V1 in-app purchase. When users purchased subscriptions through the Apple app via in-app purchase, the corresponding transaction was not reflected in the Subscribe database. Subsequently, the user was unable to access the website. This issue has been resolved. After the fix, the Apple in-app purchases are updated in the Subscribe database correctly and the users can access the websites too.
This fix is also merged into the 3.16.3.13 release.
Subscribers for specific clients using dedicated Auth connection per Publication were getting a 'Max Linked Subscribers' error when the same user had subscriptions for more than one publication. The issue has been fixed now.
When the user selected a Reward from the Rewards page, instead of navigating the user to the Membership Rewards page where the user can enter the details to claim the reward, the loader kept on spinning on the Rewards page. This issue has been resolved. After the fix, when the user selects a Reward from the Rewards page, the user is navigated to the Membership Rewards page successfully, and can enter the user details and submit it for claiming the reward.
When a subscriber entered a donation amount during auto-renew sign-up, it was not getting submitted and subscribers were not charged. The issue has been fixed. In addition, the donation is now displayed as part of the one-time payment being made other than the amount for auto-renew sign-up.
Even though the User Registration template in the Engage included First Name and Last Name fields, the user name details entered during user registration were only captured by the Auth0 and were not reflected in SubCon Admin for the corresponding user after a successful registration. This issue has now been resolved.
When a user attempted to purchase a subscription using ApplePay via Braintree, the transaction failed, and an error message was displayed. This issue has now been resolved. After the fix, users can successfully complete their subscription transactions through the Subscription Panel using ApplePay via Braintree, without encountering any error messages.
This fix is also merged into the 3.16.3.12 release.
In certain workflows Subscribe uses GET /Users?Email endpoint. It was breaking for email IDs with special characters such as the "+" sign thereby affecting the workflows like Gift subscriptions, Invitations, etc. This issue has been resolved.
Whenever a user clicked on the “Forget Password” link in the Digital tab for an MG2 Auth user, though a success message was displayed, the corresponding email was not actually received by the registered user. This issue has been resolved.
The GET method implemented for the DigitalAccess endpoint did not insert data into the Access Log. This issue has been resolved.
After the fix, if the GET method is implemented for the DigitalAccess endpoint, user data is inserted successfully into Access logs. Additionally, in the POST API, the parameter accessLevelCode
is included in the response to provide entitlement information.
The issue that prevented users from canceling subscriptions due to an error message has now been resolved.
API, Self Service, Subscription Panel, CMS, SubCon Admin, SolCon
This page containes the description of the hotfixes related to 3.16.1 version
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
Please note that all the 3.16.1.X hotfixes are by default included in both the next minor and major versions, which are 3.16.2 and above and 3.17.0, respectively.
If you want the fix to be applied please input a Salesforce case.
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Subscription search against company name is now available in One CSR Portal. The Company field is enough to perform the search. Search is done based on 'contains'
To enable the Company name field please set the SubscriberSearchCompanyNameOption
MG2 control setting for a certain client to 1. By default the field is hidden (value = 0).
Both Payment & Customer details are now included in the Payment Token for a new start in Matrix circ system. This fixes the 3.16.1 issue of Customer details being omitted. Matrix version required is 30.00.034.ITSP5.
Unwanted registrations can be deleted by CSR in one go. During the bulk import of registrations from CSV file, the registrations that do not exist in the newly uploaded file will be removed from the database. Please note that The 'Import from CSV' button is only available for Subscription Kind 'Lite'.
Users receiving invitations to corporate subscriptions can now create registrations in Auth0. The button from the invitation will redirect them to the Auth0 modal window showing the Signup tab. When the user enters the relevant credentials, the confirmation is received through email and also displayed in Account Management. To turn this on please set Auth0.App.CanRegister
mg2control setting to False
.
API, One CSR Portal
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Whenever a subscription/subscriber related API call is made to NCS Circ, the special characters from the following parameters will be discarded before submitting the request with an exception mentioned against each:
First Name: ' - & / .
Last Name: ' - & / .
Cardholder Name: ' - & / # .
House number: / -
Unit number: No Special Chars
Email: @. + - _ ,
When testing email please keep in mind that there is also standard API validation in place:
only one special character is allowed per email
special character cannot be the last one , there should be at least one regular character after the special character
Transfer Links endpoint was enhanced to update the email both in Subscribe database and in NCS Circ
When a user clicks the Login/Register (or any text defined in CMS) button at the Activate page, they are now redirected to the Sign Up tab instead of the Login tab
The logic for the Activate page has been reworked to redirect users referring to the publication code: the Site Code in URL is changed in accordance with the subscription selected. To set this up please go to Support Viewer → APISetting, then updated the Site codes for the SubCon.AllowedPaperCodesByClient
API setting
Subscription search via Phone number in One CSR Portal logic was optimised by adding appropriate Indexes in the database table so that it is now able to handle large datasets of up to 7.5M records
The visibility control for AuthPanel buttons SignIn, Register, Custom has been reworked. It can now be managed individually for these buttons via SS Config (HideSigInBox, HideRegisterBox, HideCustomBox, respectively). However, the other properties, like text can be managed from CMS
One CSR Portal, Self-Service, Database
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Fix the login/signup via social media option in Subscription Panel.
The following properties configuration is required in CMS: Subscription Panel --> Presentations --> Page V3 Landing Page --> Step V3 User Information --> User Information --> Switch on 'Google show: ', Facebook show:' and 'Apple show:' properties
The realm Auth0 integration is now configurable via Subscription Panel configuration file to be able to work with SSOR.
To configure the flow to work with SSOR please go to Config --> Systems --> Auth0 within SP and set the 'realm' key value to 'AutomaticMigrationSSOR’. The default 'realm' key value is 'Username-Password-Authentication'.
To prevent potential login failures with subscribers with multiple subscriptions caused by SSOR / Auth0 migration the User Provider configuration setting was created in MG2Control must be set appropriately (e.g. SSOR, Firefly, Gigya, Auth0, etc.)
Logged-in user state not carrying over to MyAccount was fixed by modifying the session recovery logic in SSOR.
VWO script changes
For a certain client the hardcoded VWO smartcode on the checkout pages was outdated. This script has been updated with the details shared by the client.
Delayed Login in Self-Service for Publications using SSOR Authentication
Added on October 16th, 2023.
The issue of publications using SSOR authentication taking too long to load SubCon Sites has been resolved. This delay was primarily because of an additional API call triggered by an internal cookie with an empty value. With the issue resolved, it is now possible to log in to the My Account pages of publications using SSOR authentication without any delays.
This fix is also merged to 3.16.2.5 & 3.16.3.4.
Self-Service, Subscription Panel
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Braintree is sunsetting their API on python platform. Hence, as per Braintree's recommendation, the backend Braintree SDK has been updated to version 4.18.1.
Areas covered: API
The fix was also merged to 2.39.0.1 and 3.16.0.8
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Due to the cross-site validation, Auth0 was deleting the cookie when visiting Self-Service after .com and vice versa. This was fixed by ensuring that the cookie is deleted only when the user actually clicks the Logout button.
Areas covered: Self-Service
The fix was also merged to 3.16.0.9
The issue of registered users getting logged out from the main news site after visiting their My Account page and the issue of users getting logged out from the My Account page after visiting the main news site have been resolved now.
The fix was also merged to 3.16.0.9.
For clients using SSOR authentication, the issue of a logged-in user experiencing a prolonged loading time and the failure to open the dashboard or verified account page on the My Account page has been resolved, and the user can now access the page without the need for a refresh.
The fix was also merged to 3.16.2.3 & 3.16.3
For NCS Clients, the issue of a user on vacation who has paused his subscription with a specific restart date not being able to raise a complaint has been resolved.
Note: Please ensure that the Business Rule within NCS application is set to allow a user to submit a complaint while on vacation.
The fix was also merged to 3.16.2.3.
When attempting to update the payment method using the Google Pay option and saving the offer group, the system was throwing an error message stating “Subscribe with Google SKU codes can be specified only if Subscribe with Google Payment Method selected" for clients on version 3.16.1.X. This issue has been resolved now.
The timeout error occurring in SolCon when selecting specific team members has been resolved.
The fix was also merged to 3.16.2.3.
The error message "Error400:" that was displayed while selecting DefaultOfferGroupId from the 'Available Offer Groups' in the CMS module's Presentation Properties V3 due to the presence of an excessive number of offers on SolCon has now been resolved.
The fix was also merged to 3.16.2.3.
When a user was trying to buy a subscription after getting registered via a third-party authentication system (e.g., a user on a newspaper site clicks on a link ePaper-->Auth0-->Subscription Panel), even after the successful authentication by Auth0, the registration was not created in the Subscribe database. This issue has been resolved now.
The fix was also merged to 3.16.0.12 and 3.16.2.2.
Changes have been made to the Subscription Panel confirmation page such that:
When creating a subscription for a new user, the user will be directed to the website after the subscription has been successfully purchased.
Once an existing user's subscription has been successfully purchased, they must authenticate with Auth0 before being taken to the website.
Auth0 should be set up for the user.
In config.System "AuthCookieDomain" key is mandatory.
The fix was also merged to 3.16.2.3.
Below Special Characters are now allowed in the fields listed below in the Subscription Panel. Users can now enter:
' , - & / .
in the First and Last name fields.
All special characters are allowed in the Email field.
' - & / # .
in the Card Holder Name field.
# - . / \
in the Address Line 1 field.
. - #
in the Address Line 2 field.
When purchasing a subscription, CreateSubscriber failed with the error message “Child Event: CREATESUBSCRIBER failed. Error: FirstName field contained invalid characters that were removed. (19) LastName field contained invalid characters that were removed. (19)" when special character “,
" was used in the cardholder's name field (First Name and Last Name) on the payment page. This issue has now been resolved.
The issue has occurred since the comma (,
) was not one of the earlier permitted special characters ('- & /.
) for the name fields. The name fields now allow the usage of special characters: (' , - & / .
).
When creating a subscription, AddSubscription failed with the error message "The entered payment information was not accepted" when special characters (&/.,'
) were used in the Cardholder's name field (First Name and Last Name) on the payment page when using Cybersource gateway. This issue has now been resolved.
The fix was also merged to 3.16.2.3.
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Paypal via Braintree Renewals have been getting declined in circulation. It was identified that the PaypalBAID parameter while purchasing the subscription on EZPay was not being sent accurately to Circ. The issue has been fixed by passing the appropriate parameter from the payment vendor to the circulation system.
Areas covered: Self-Service
This fix was also merged to 3.16.0.10 and 3.16.2.1
Client specific custom configuration for social login has been added to the Subscription Panel config files so that subscribers can authenticate through Auth0 to the client's site using their social media login connections (Facebook, Google, and Apple) based on the respective client's custom configurations. Clients that have not opted for this method of authentication will be able to utilize the default method for subscribers to login to their sites.
Areas covered: Subscription Panel
This fix was also merged to 3.16.2.4
The CMS Content module has been updated to support Transport Layer Security (TLS) version 1.2. The TLS version can now also be configured from the web.config file, and image uploads can now communicate with the AWS S3 bucket using the TLS 1.2 security protocol.
This update has been made as Amazon will no longer support TLS 1.1 for its S3 bucket.
The Hotfix 3.16.1.7 documentation was updated on June 12th, 2023.
Note: If the TLS version is not configured in the web.config file, CMS now uses the TLS 1.2 security protocol by default.
This fix was also merged to 2.39.1, 2.39.1.0, 3.15.3.1, 3.15.2.1, 3.16.0.13, 3.16.2.4, and 3.16.3.
The error “Sorry, the page you requested was not found. See current offers.“ that was displayed when using the input parameter "ofrgp_id" to purchase a subscription in the Subscription Panel has now been resolved. There was an issue with the SolCon GetOffers logic, which has been reworked.
This fix was also merged to 3.16.2.4
The user was not able to add a Division to a published offer in SolCon. An error message was displayed during this update. This issue has been resolved.
This fix was also merged to 3.16.2.4
Previously, in SubCon Site (Self-Service), the GET /Complaints/{subscriptionId}/Problems
endpoint was failing because the complaint problem codes retrieved from CircPro were not available in Subsvc, which resulted in an error. This issue has now been resolved.
This fix was also merged to 3.16.2.4
The issue of an increased number of 500 and 404 errors found on clients' servers has been successfully resolved. This was an Authentication system-specific issue. For SSOR clients, even if the user was logged out while navigating to the SubCon site, the logout call was triggered and returned a 500 error. For MG2 Auth clients, the wrong credentials during login were triggering the logout action. After the fix, for SSOR clients, the logout call will be executed with a status 200 and for MG2 Auth clients, there will not be any logout call while entering the bad login credentials.
This fix is also merged to 3.16.2.5 & 3.16.3.0.
In the seamless flow, if the Independent Address component for the payment page has been enabled, users could purchase or subscribe to a subscription with a single click after entering their credit card information. The issue occurs when the credit card details have been validated, the Submit button disappears, and the user is taken directly to the payment options, even if the fields, First and Last names, Phone, and Zip Code, have not been filled. This resulted in the AddSubscription call being triggered with incomplete information, and since the Submit iframe button is from a third-party payment site, it does not validate whether the aforementioned fields have been filled, resulting in no error warnings being displayed.
Changes have been made to allow the submission of incomplete fields if the credit card has already been validated in the seamless flow by introducing a delay time after each keystroke while filling the fields under the independent address component.
A key, "SeamlessInputDelayTime", must be added to the SP Config file with any numerical value. The value indicates the delay time in milliseconds, with the default value set at 1500 milliseconds (1.5 seconds).
For example, after entering the first name, it will wait 1.5 seconds and then call AddSubscription if no additional keystrokes have been detected. When the user starts entering the following fields, such as Last name, phone number, and zip code, the timer is reset after each keystroke, and the AddSubscription call is triggered only after a 1.5-second delay.
This fix is also merged to 3.16.0.14, 3.16.3.1, 3.15.2.4, 3.15.3.5, 3.16.2.5
This release is in its beta version now.
Recently, major browsers have introduced additional security measures and constraints related to third-party cookies, as well as cross-domain data transfer and communication. The latest release of Chrome no longer supports third-party cookies. These were impacting the functioning of the Landing application and user experience negatively. Despite the implementation of workarounds, users were encountering issues in the sign-in flow at times.
Therefore, the sign-in logic for the Landing application has been revised without significantly affecting the existing functionality and behavior. The previous dependency on local storage has been replaced, and a Redis caching approach is now implemented for the users to sign in on the Landing application for accessing consumer applications (SubCon Admin, SolCon & CMS).
Following the new implementation, users can access any consumer application only through the Landing application.
If a user has opened different consumer applications on different tabs in a browser, logging out from one application will force the user to log out from the other opened applications as well. The user will regain access to the application only by signing in through the Landing application.
Page refresh will work as before and have no impact following the redesign.
Multi-Factor Authentication (MFA) with Okta will also work as intended if the feature is turned ON for the specific client.
There is no dependency on third-party cookies related to the Landing application, and the landing works perfectly fine on Safari, Firefox, Chrome, and Edge browsers.
Consumer applications are no longer dependent on Local storage to fetch data.
The CMS Idle Time functionality, which notifies the user if they have been inactive on a CMS page for an extended duration and provides the option to either continue or exit from the page, is working as before.
For a seamless user experience and as a best practice, please do not disable cookies in your browser.
This fix is also merged to 3.16.0.15, 3.16.2.8, 3.16.3.13 & 3.17.0.3 releases.
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
This release is currently in its Beta version.
ENGAGE
2.8.7.2
NCS Circ
2025-0.0
Subscribe Extracts
Australian Clients - Extract Version 6 Other Clients - Extract Version 5
Sync Jobs
3.17.2
Matrix Circ
38.00.034.ITSP9
Circ Pro
2023-2.0
DSI (Saxo Circ)
NOT SUPPORTED
Naviga Pay
2.2
The minor release 3.17.2 introduces the Variable Pricing feature to improve the subscription experience in Subscribe for NCS Circ client users. With this feature enabled, a surcharge can be applied when end users select a credit card as their payment method. Unlike processing fees or activation fees, this surcharge will not appear as a separate line item; instead, it will be included in the total amount displayed to the user. For payments made via Bank Draft or Bank Transfer, users will see a lower total amount for the same offer, as these methods exclude the surcharge. Further, as opposed to the Processing Fee which is applied on the final amount, the Variable Pricing levies surcharge only on the base amount, grace amount & tax amount. Hence, the payments like Donations & Tip are excluded from the surcharge calculation. Additionally, in the case of Variable Pricing, the surcharge is fetched via NCS Circ in real-time & clients do not need to set up the calculations in Subscribe.
For more details about the Variable Pricing payment feature, please refer to the Variable Pricing documentation: Subscribe Features - Payment features (NCS Circ). For details about the Credit card surcharge feature within NCS Circ, please refer to NCS documentation: Credit Card Surcharge - Circulation Feature-Specific User Guide.
Additionally, this release provides support for split transactions through Fluid Pay (formerly Impress Pay) via Naviga Pay, allowing to send the surcharge amount explicitly to payment vendor.
The Variable Pricing feature is not available for payments initiated from SubCon Admin.
Currently, the surcharge is not considered for PayPal payment method.
Variable Pricing is not supported for Day Pass subscriptions.
The 'Processing Fee' and 'Variable Pricing' features cannot be used simultaneously. If both features are enabled for a client, the Processing Fee feature takes priority.
Integration with Fluid Pay (Formerly Impress Pay)
Unlike Processing Fee, Variable Pricing feature requires a split transaction process, both in Subscription Panel and Self Serivce, if the payment vendor is Fluid Pay via Naviga Pay.
Variable Pricing is a feature that allows clients to apply a surcharge (processing fee) for credit card payments without explicitly displaying it. If the payment method involves a credit card, including but not limited to options such as Google Pay, or Apple Pay, the surcharge will be applied. However, if the payment method is a bank account (ACH) or PayPal, no surcharge will be applied.
When Variable Pricing is enabled (through the CMS component and the MG2 control keys), and the user selects Credit Card as the payment option, the subscription cost displayed will include the surcharge amount. This surcharge amount will not appear as a separate line item in the list of payment details (such as processing fees, activation fees, etc.).
Note: The surcharge amount is fetched from NCS Circ in real time during the workflow.
A new property ‘Cash Discounting Enable’ has been added to the PaymentMethodsV3 component in CMS Presentation. This property can be toggled ON or OFF. (Select an appropriate Presentation > Page V3 -> Step V3 -> Payment Methods V3)
If the Payment Method V3 component is not included in the CMS Presentation, the Variable Pricing feature will not retrieve the total amount with a surcharge from NCS Circ.
A new MG2 Control API Setting key DTI.CashDiscounting has been introduced to control the Variable Pricing feature in consumer applications such as Subscription Panel & Self Service. When this feature is enabled, the API considers the CCSurcharge returned by NCS API to be applied in the end user payment.
Cash Discounting Key: When DTI.CashDiscounting is set to 1 (enabled):
If the PaymentType is Bank Transfer, Cash, PayPal, or Electronic Cheque (ACH payment), no surcharge is added to the TotalAmount.
If the PaymentType is Credit Card or other online options (e.g., Google Pay, or ApplePay or any other non ACH payments except PayPal), a surcharge is added to the TotalAmount.
Error Handling: If no Rate amount is found in NCS Circ for the selected offer, an error message “No RateTerms found” will be displayed.
Implementation Notes:
To enable Variable Pricing feature,
Toggle ON the CMS property ‘Cash Discounting Enable’ in the presentation
Set the value of MG2Control API key DTI.CashDiscounting to 1
Set the value MG2Control API key Billing.CreditCard.ProcessingFee.Enable to 0
For an end-to-end flow of Cash Discounting, respective Business Rules must be set up in NCS Circ.
Variable Pricing in Self-Service is similar to Processing Fee but with key differences in the calculation of amount to be paid and in its display to subscribers.
When this feature is enabled, if the payment is through Credit card, then a credit card processing fee (surcharge) will be deducted from the subscribers only on the base amount of the subscription, due amount, if any, and taxes, but it will not include Donation and Tip amounts. The surcharge will not be explicitly displayed to the subscriber, and it will be embedded in the Total amount. The surcharge is not applicable to ACH payments such as Bank Draft or transfer (that do not involve a credit card).
When users select ACH mode of payment, they see a lower price applicable to the transaction while making a One-time payment, Autopay signup, or Restart where the ACH payment has a lesser amount compared to the respective Credit Card payment option as below:
Rate Display: When Variable Pricing is enabled, a new "ACH Amount" column appears in the Rate Term grid, displaying discounted rates for ACH payments in all payment pages.
Payment Options:
Credit Card Payment: The CC surcharge (processing fee) is received from NCS, added to the total amount and is displayed, which is then sent to NCS in the API request and further processed by NCS. The CC Surcharge is also applicable to grace amounts in restart flows (if there is a negative previous balance).
ACH Payment: The surcharge is excluded in the total, and the API request is processed without the surcharge.
When Variable Pricing is not enabled, in a regular flow (one-time payment, Autopay signup, or Restart), if a negative balance is returned from NCS, it is added to the current transaction. However, when Variable Pricing is enabled, the negative balance is considered only in the Restart flow for a stopped subscription. In this case, a grace amount (negative balance) surcharge is applied when the payment is made using a credit card.
Self-Service has three payment flows:
One-time payment
Autopay Signup
Restart
The endpoint that returns the Billing options to display them in Self-service for all these payment flows is the endpoint Billing/AutoBill/{subscriptionId} of Billing API.
A new key “SurchargeType“ has been added to this endpoint that acts as a flag or an identifier to differentiate between the Processing fee flow and Variable pricing flow. The SurchargeType will have the value “PF” for Processing Fee flow and “CD” for Variable Pricing flow.
A new parameter “AmountExcludingSurcharge“ has been added in the BillingOptions that holds the value of the Amount excluding surcharge.
If the SurchargeType is "PF", then the flow is Processing fee flow and the AmountExcludingSurcharge will return the value 0 from NCS Circ.
In the Billing API (Billing/AutoBill/{SubscriptionId}), a new parameter, CCSurcharge, has been added to the BillingOptions object in the API response.
Regardless of the values in the API setting keys for CashDiscount or ProcessingFee (enabled or disabled), the CCSurcharge parameter will always be included in the Billing API response.
The value of GraceCCSurcharge has been added to the request parameter CreditCardCircChargeAmount in Billing option endpoint.
A new object “GraceOwedInfo” has been added in the responses from the below DTI Micro API endpoints.
“DTI/Subscription/{SubscriptionInfo}” (GETRATES event)
“DTI/Payments/CircAPI”
The new object "GraceOwedInfo" contains parameters such as GraceAmount, GraceTax,GraceTotal, CCSurcharge, etc. and these are available in the Restart flow of stopped subscriptions with a negative balance.
If the stopped subscription has a zero balance, then the “GraceOwedInfo” object will contain null values in the response. For active or in-grace subscriptions, NCS does not send Grace details, so GraceOwedInfo section will not be present in the response.
In case of Restart for PAYMENTCC event (Payment/Circ endpoint) the request parameter CreditCardCircChargeAmount will consist of CCSurcharge value and GraceCCSurcharge value.
In case of Autopay signup or One-time payment, for PAYMENTCC event (Payment/Circ endpoint) the request parameter CreditCardCircChargeAmount will consist of the CCSurcharge value.
Implementation Notes:
Enable the ACH amount on respective CMS content pages:
Payment Options: PaymentOptionsHeader.ACHAmount
Autopay Signup: AutoPaySignUpHeader.ACHAmount
Subscription Restart: PaymentOptionsHeader.ACHAmount
MG2 Control API keys:
Set the value of DTI.CashDiscounting to 1
Set the value of Billing.CreditCard.ProcessingFee.Enable to 0
When the Variable pricing feature is enabled, if the payment vendor is Fluid Pay (formerly Impress Pay) via NavigaPay, the API sends split payment transaction details (SplitAmount and AdjustmentAmount) in the request of AUTHCC event along with other parameters.
SplitAmount → Tip+Donation, if any
AdjustmentAmount →
CCSurcharge (if payment is through Credit card)
CCSurcharge+GraceCCSurcharge (if payment is through Credit card for Restart with a negative balance (debt))
Whenever Credit card surcharge is applied on the entire Total Amount (base amount + due amount if any + Donation + Tip), the usual practice is that the API sends the full value to payment gateways. However, if Variable Pricing is enabled, then the CCSurcharge is applied only on the Base amount and pending amount if any, and a split transaction along with transaction amount is sent to the payment gateway Fluid Pay via Naviga Pay. Here, the split amount represents the portion of the payment not subject to surcharge.
When SplitAmount and AdjustmentAmount are submitted to NavigaPay Fluid Pay API, the response will return SplitTransactionId, AdjustmentAmount and SplitAmount.
If SplitAmount is 0 or null in the request, then SplitTransactionId will be absent in the API response.
A new field, SplitAmount, has been added to the API request body. This field is passed along with requests for AUTHCC and CCFUNDCAPTURE events to manage split payments under different conditions:
Case 1: Fluid Pay Vendor Setup
When Fluid Pay is the payment vendor, both SplitAmount and AdjustmentAmount (representing CCSurcharge when Variable Pricing is enabled) are included in the request.
Upon successful submission of SplitAmount, a SplitTransactionId is returned in the event response.
Case 2: Other Vendors Setup
For other vendors, neither SplitAmount nor AdjustmentAmount affects the functionality of AUTHCC (Authorization) or CCFUNDCAPTURE (Capture) events, if these fields are omitted.
Note: Currently, Tip and Donation amounts are not applicable in new start flows. Thus, no specific split amount will be present (value passed will be 0), though SplitAmount and AdjustmentAmount parameters are included in the request body.
When Variable pricing is enabled, once any payment request is submitted, Naviga Pay now returns two transaction IDs: one for the transaction amount (amount excluding the split amount → CCSurcharge+Amount on which CC Surcharge was applied) and the other for split amount. Two separate CCFUNDCAPTURE events will also be generated.
If the payment involves only a Donation amount while user opting for Autopay or if the user paying only a Tip amount (transaction amount is zero in these cases), then a single CCFUNDCAPTURE event will be triggered after the AUTHCC event.
When Variable Pricing is enabled for other payment vendors except Fluid Pay, the transaction amount sent to Naviga Pay for processing includes CCSurcharge + Amount on which surcharge applied + Split Amount. A single CCFUNDCAPTURE event will be generated in this case.
When the Processing fee feature was enabled, the Donation amount was not considered in calculating the processing fee for the payment done with credit card during Auto pay signup. This issue has been resolved.
This page has high-level Release notes for the minor 3.17.1 release.
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
This release is currently in its Beta version.
ENGAGE
2.8.7.2
NCS Circ
2020-6.3
Subscribe Extracts
Australian Clients - Extract Version 6 Other Clients - Extract Version 5
Sync Jobs
3.17.1
Matrix Circ
38.00.034.ITSP9
Circ Pro
2023-2.0
DSI (Saxo Circ)
NOT SUPPORTED
Naviga Pay
2.2
In the 3.17.1 minor release, a new Country-Only-Start flow has been introduced specifically for NCS Circ clients. To support ApplePay MPAN transactions via Payway, a new Billing Agreement section has been added to the SolCon application. Subscribe has integrated with two payment vendors, Eigen and FluidPay via NavigaPay in this release. This release also introduces ZIP code validation for digital offers on Landing Tiles.
There are a variety of enhancements to the Self-Service (SubCon Site), One-CSR Portal, Solicitor Concierge (SolCon), CMS Content, and Subscription Panel modules, along with the a few enhancements in some APIs in this release.
Additionally, this release addresses important bug fixes across various modules of the application.
A new enhancement ‘Country Only Starts’ will be available for NCS Circ Digital Subscriptions. With this enhancement, NCS Circ client subscribers can now subscribe to digital subscriptions by simply providing their name, an email ID, and selecting a country name from the drop-down, without needing to provide a zip code or any other address details in the Subscription Panel.
To accommodate the Country only starts, Country and State-specific properties have been added to the IndependentAddressV3 component of CMS. Refer to the table below:
State.OptionalNextToPlaceholder
String
State.OptionalNextToTitle
String
State.Placeholder
String
State.Show
Bool
State.Title
String
State.Validation.Required.Apply
Bool
State.Validation.Required.Message
String
Country.OptionalNextToPlaceholder
String
Country.OptionalNextToTitle
String
Country.Placeholder
String
Country.Show
Bool
Country.Title
String
Country.ValidateOnFocusLost
String
Country.Validation.Required.Apply
Bool
Country.Validation.Required.Message
String
The Purchase API has been modified to support Country Only Starts from SP for NCS Circ Digital Subscriptions. NCS Circ accepts any country (country code) as part of the address.
With this new enhancement, NCS Circ now supports subscriptions that include only country information in their addresses. Consequently, sync processes have been modified to handle these addresses appropriately, ensuring no changes or overrides occur in the address information for subscriptions with ‘Country Only Starts’.
Country code in NCS Circ must match the respective Country code in Subscribe. If there is any difference in the setup, the sync process will not work correctly.
Prerequisites:
Circ System & Minimum Supported Version: NCS Circ, 2020-2.3
Implementation Notes:
To enable the Country Only Starts,
* The isInternational
field must be turned ON in the CMS Presentation.
(CMS > Subscription Panel > Presentations > Select a Presentation > Presentation Properties V3 > isInternational
field)
* The Country
field should be turned ON from the CMS.
(CMS > Subscription Panel > Presentations > Select a Presentation > Page V3 > Step V3> Independent Address V3 or Billing Information V3 > Country
field)
The MG2 Control App setting key RealTimeUpdateOccupantFlow
should be turned ON to reflect addresses in SubCon Admin in real-time.
Note:
The Country-Only flow is available for NCS Circ clients that are using Payway and Cybersource payment vendors.
On the NCS Circ side, the value of the Digital Address property "Country" should be set to "Required."
When providing a Country Only Start, the Zip Code field must not be included in the CMS presentation. If the Zip Code field is present in the CMS presentation, even with the isInternational
flag turned ON, the zip code flow will take priority.
With the integration of ApplePay MPAN, the Billing Agreement screen within the Apple payment flow now requires additional details, such as the auto-renewal amount. This enhancement is essential in scenarios where the renewal amount differs from the initial payment made by the subscriber (e.g., an introductory rate of $0.99 for the first 3 months, followed by $14.99 per month thereafter).
To support this, a new sub-section titled "ApplePay Billing Agreement" has been introduced under the SolCon Price Setup. Within this section, a new field called "Auto-renew Price" has been added. This field allows users to specify the auto-renewal price for subscriptions. By default, this field will be blank.
The auto-renewal price defined in this field will be included in the Offer API response across all relevant endpoints. This ensures that accurate pricing information is consistently communicated to the consumer application, which then relays this information to Apple during the billing process. This enhancement guarantees that the correct auto-renewal price is presented to subscribers, maintaining transparency and preventing discrepancies in billing.
An informatory note is also displayed below the Auto-renew Price field - “This amount reflects in ApplePay Billing Agreement screen. The auto-renew term & length will be displayed from Coding section.”
ApplePay MPAN transactions are available only through Payway as of now.
To ensure correct configuration, warning messages have been implemented under the following conditions:
ApplePay Auto-renew Price Not Set:
When ApplePay is selected as a payment method and EZPay is set to "EZPay required" or "EZPay optional," but the ApplePay Auto-renew price is not set, a warning message will appear on saving/updating the offer:
"ApplePay Auto-renew Price under Price section is not set. The renewal price will not reflect in ApplePay Billing Agreement."
ApplePay Auto-renew Price Set Without Proper Configuration: When the ApplePay Auto-renew price is set, but ApplePay is not selected as a payment method, EZPay is set to "No EZPay”, a warning message will appear on saving/updating the offer:
"You have set the value for ApplePay Auto-renew price, but it will not reflect anywhere if ApplePay is not selected as a Payment Method and EZPay is set to No EZPay."
ApplePay Auto-renew Price Missing:
If the EZPay is already set to required/optional and the Payment Method is selected as ApplePay, or if the Payment Method is already ApplePay and EZPay is set to either "EZPay required" or "EZPay optional", a warning message will appear even before saving/updating the offer:
"Please set the ApplePay Auto-renew price in all the price plans."
The price plan counts will be highlighted in Amber wherever the ApplePay Auto-Renew Price is null or set to 0, ensuring that users are aware of incomplete configurations. This enhancement ensures that all ApplePay configurations are properly set, preventing potential issues in the payment flow and improving user experience.
An MG2 Control setting EnableApplePayBillingAgreement has been introduced to control the display of the ApplePay Billing section in SolCon. This section will be available in SolCon only if the key ‘EnableApplePayBillingAgreement’ has a value of 1. When the setting key value is 0, the ApplePay Billing Agreement section will not be visible in the SolCon. When the section is not visible, the related warning messages will also not be displayed while creating an offer group, while updating an offer group, or while updating an offer group, and saving it as new.
Implementation Settings:
A new AppSetting key is added: EnableApplePayBillingAgreement (AppSetting - Client Components - SolconAdmin). The key should be configured at the Client Group level.
The ApplePay recurring payment is implemented in SP. For an ApplePay MPAN transaction, if the offer has a recurring amount that differs from the initial amount, the recurring amount and the renewal term will be displayed in the Billing Agreement in SP. If the renewal term is in weeks, it will be converted to days and will be displayed in the Billing Agreement since Apple doesn’t support weeks.
The Marketing text configured in the offer will be displayed in the Billing Agreement regardless whether it is enabled in the Presentation or not.
The EZPay checkbox (if visible on UI), will be disabled once ApplePay payment is completed.
The other payment options and ApplePay payment button are also disabled once ApplePay payment is completed.
If appleRenewPrice is zero in SolCon, the Price will be the same as the Total Price including taxes, price of base product and price of activation (if applicable) in the billing agreement section of ApplePay popup.
Billing agreement section will not be visible in the ApplePay popup, if the EZPay is not applicable for the offer or if the user has not checked Ezpay checkbox if EZPay is optional in the offer.
Implementation Notes:
The Config file should contain a BillingAgreement key. Ex- config.ThirdPartySystems.ApplePay.Constants.BillingAgreement = "You are purchasing a news subscription".
The Config file should contain a PaymentDescription key.
Ex- config.ThirdPartySystems.ApplePay.Constants.PaymentDescription = "Payment for news subscription".
Ezpay V3 component should be set in CMS presentation.
"isEzPay Validation Validation Apply" property should be turned ON in Ezpay V3 component.
The following Ezpay component properties should contain the appropriate text messages: a. EZPayTextWhenCheckboxAbsent b. EZPayTextWhenCheckboxPresent c. EZPayNotAvailableText d. isEzPay Validation Validation Message
For ApplePay MPAN transactions, the PaymentSource sent to NCS Circ will be "ApplePayMPAN”. Consequently, the sync processes can process the new payment source ApplePayMPAN.
Prerequisites:
Circ system & Minimum Supported Version:
NCS Circ, 2020-6.3
NCS Extract Version 4+
The Promotion Digital V3 component has been modified to include zip code-related properties, allowing users to input a zip code value at the first step of the offer or promotion tile(s). Changes will be reflected in the Subscription Panel, depending on the configurations that have been defined in these properties.
The user can configure the properties by going to: CMS > Subscription Panel > Presentation (Choose a valid presentation) > PageV3 > Landing Tiles > Promotion Digital V3
The entered Zip Code will be validated on the Subscription Panel's landing page, depending on the configurable flag "ValidateDigitalOfferZipcode."
When the value has been set to true, the zip code entered by the end user will be validated from the list of available areas for digital offers that are displayed on the landing page for digital tiles.
The zip code will not be validated if the configurable flag has been set to false.
Implementation Notes:
The user can configure the properties by going to: CMS > Subscription Panel > Presentation (Choose a valid presentation) > PageV3 > Landing Tiles > Promotion Digital V3
"ValidateDigitalOfferZipcode" should be added in the SP Config file of the client newspaper/publication.
In config.System, set the ValidateDigitalOfferZipcode to true or false.
If ValidateDigitalOfferZipcode has not been included in the SP Config file, the value of the flag will be automatically considered false.
Subscribe has successfully integrated the Eigen Payment gateway via NavigaPay for payments through the Self-Service portal and Subscription Panel ensuring proper styles and a fully functional end-to-end payment flow. Post the integration, when a user initiates a payment request from the Self-Service portal or Subscription Panel, an iFrame gets rendered on the SS or SP page that captures payment details and users can submit their payments successfully.
A new component NavigaPayEigenV3 is now available within the Component Manager and Presentation sections in CMS along with its associated properties.
The properties of this component are as follows:
Summary.Name
Summary Name
String
Summary.CardNumber
Summary CardNumber
String
Summary.ExpirationDate
Summary ExpirationDate
String
Title
Tile
String
Alt
Alt
String
Image
Image
String
Due to vendor limitations, the Eigen server can only support two CSS files out of which one file is used by SP and the other by Self-Service. Since each consumer application can only have one CSS file, all themes (Default, Simple, Seamless) will share the same CSS within the iFrame.
Some amendments have been done to accommodate the End payment session endpoint not to fire the Get profile request for NavigaPay-Eigen integration with Subscribe.
A Timeout feature has been introduced in the Self-Service and Subscription Panel Payment pages. If the Eigen iFrame remains idle for 5 minutes, the system detects the inactivity and triggers an idle timeout. A clear and informative timeout error message will also be displayed to the user explaining that the user has been timed out due to inactivity. The message will also request the user to retry. Upon displaying the timeout error message, the iFrame reloads automatically with blank input fields so that the user can re-enter the payment details.
Some amendments have been done to accommodate the End payment session endpoint not to fire the Get profile request for NavigaPay-Eigen integration with Subscribe.
Prerequisites:
Circ System & Minimum Supported Version: NCS Circ, 2020-6.3
Implementation Notes:
For Eigen integration, the key NavigaPay.Integration should have value “Eigen".
The MG2 Control keys SubscriptionPanel.NavigaPay.SiteCode and SubscriptionPanel.NavigaPay.SiteKey must be defined.
Select an appropriate presentation -> Page V3 ->Step V3 -> Payment Methods V3 -> NavigaPay Eigen V3
Starting with this release, FluidPay has been integrated with Subscription Panel and Self-Service portal applications via Naviga Pay.
It is now possible for users to complete payment-related transactions such as One-time payment, Auto renew sign up, etc. using FluidPay as the payment provider from Self-Service portal. On every payment-related page, the Self-Service portal displays the FluidPay iFrame through which payment details are captured and passed to the circulation system and then processed accordingly.
A new component, NavigaPay ImpressPay V3, has been added to the CMS to be used as one of the payment methods in the Subscription Panel.
The user can configure the properties by going to:
CMS > Subscription Panel > Presentation (Choose a valid presentation) > PageV3 > stepV3 > PaymentMethod V3 > NavigaPay ImpressPay V3
The Purchase API has now been updated to include a new parameter, "ExternalCustomerId", that captures the GroupID value received from NavigaPay's EndPaymentSession (getNavigaPayImpressPayData) endpoint when processing a payment using FluidPay payment vendor.
Implementation Notes:
The MG2 control App setting keys such as SubConSite.NavigaPay.SiteCode and SubConSite.NavigaPay.SiteKey must be configured.
The MG2 Control API keys SubscriptionPanel.NavigaPay.SiteCode and SubscriptionPanel.NavigaPay.SiteKey must be defined.
The users can now tip the carrier with the help of CSRs for the subscriptions paid by invoice (that are not on EZPay) without any additional payment, whenever necessary. An ‘Add tip’ button will be available on the Payment/Billing tab near the ‘Make a payment' button. The 'Recurring Tip’ checkbox will not be visible on UI in this case.
Note:
Until a tip amount is entered, the 'Pay with' buttons will remain disabled. Clicking on the 'Cancel' button closes the form with no further action.
A limit of 'only one payment transaction within 24 hours' is applied. If another transaction is initiated within 24 hours of a previous payment, a warning message will be displayed, and the 'Add tip' button will be disabled, restricting the user from proceeding further.
Implementation Notes:
The MG2 Control App setting key ‘StartCallPaymentBillingTabAddTipButton’ controls the visibility of the ‘Add tip’ button. The Add tip button will be visible on SubCon Admin when the key value is set to 1 in Support Viewer.
The column names of the Offer Grid in the New Start/Upgrade flows have been standardized from this release to correctly reflect the values that are being populated in the offer grid columns from SolCon. There is no change in the values being populated in the columns; the only modification is in the column header names. The Offer Grid will now have the following columns for New start and Upgrade workflows.
Offer ID will populate offer IDs from SolCon (No change in this column name)
Offer Name will populate corresponding offer names from SolCon (The previous name Internal Name has been renamed)
Offer Highlight column will have the Marketing Text > Confirmation Name from SolCon (The previous column name was Confirmation Name)
EZPAY column will populate corresponding EZPay Options from SolCon for each offer
Note: The Quantity column will no longer be available on the Offer screen as it always shows a static value of '1'.
Implementation Notes:
The value (0 or 1) of the Support viewer Key "RealTimeNewStartFlow" will have no impact on the Offer Grid column for the New Start or Upgrade Offer screen.
A new editable field Number of Registrations has been added in the Account information tab for Standard Subscriptions. Through this field, it is now possible to configure the number of maximum subscription registrations that can be associated to a subscription. However, the value in the Subscription.MaxLinks Support Viewer key cannot be overwritten from UI.
The value being entered or edited in the Number of Registrations field should always be less than the Support Viewer key setting value.
If the CSR/Admin user enters a value in the Number of Registrations field that is less than the value set in the SV key, a success message will be displayed. However, if a value larger than the one set in the Support Viewer key Subscription.MaxLinks is entered, the user will receive a notification message.
Implementation Notes:
The value of the 'Number of Registrations' field should not exceed the limit set for the Support Viewer key Subscription.MaxLinks.
For a better user experience, the position of Product + Price block has been swapped with the Divisions block on the Offer Groups and Offers pages while creating a new offer or editing an existing offer.
The Division selection happens first and then the Products are filtered based on the selection. Hence it is more appropriate to give the option to select the Division first. However, there is no change in the existing functionality or behavior.
A validation check has been introduced to ensure the new value for Registration Count will not be less than the number of existing links (between actual links and invitations), as well as to prevent the user from changing the value to 0.
When entering a number that exceeds the maximum value defined in the MG2 Control setting "Subscriptions.MaxLinks," the error message will now display "Registration count cannot be greater than {{Subscription.MaxLinks}}".
In addition, when entering a number less than the total number of Pending invitations and Active Registrations, the error message will now display "Registration count cannot be less than <Active+Pending>".
When making a subscription/subscriber-related API call to NCS Circ, special characters in the following parameters will be removed before sending the request, with the exceptions listed below:
1
First Name
' - & / .
2
Last Name
' - & / .
3
@. + - _ ,
4
Cardholder Name
' - & / # .
5
House number
/ -
6
Unit number
No Special Chars.
7
ProductID
_ - $ + ( ) & ^ . / ,
8
SourceCode
_ - $ + ( ) & ^ . / ,
9
SubSourceCode
_ - $ + ( ) & ^ . / ,
10
ReasonCode
_ - $ + ( ) & ^ . / ,
11
DeliveryMethod
*
12
DeliverySchedule
_ - $ + ( ) & ^ . / ,
13
MerchandiseCode
_ - $ + ( ) & ^ . / ,
14
BillingMethod
_ - $ + ( ) & ^ . / ,
15
RateCode
_ - $ + ( ) & ^ . / ,
16
ARTerm (Auto Renew Term)
_ - $ + ( ) & ^ . / ,
17
BillPeriod
_ - $ + ( ) & ^ . / ,
18
SSOEmail
@ . + - _ ,
19
Remarks
_ - $ + ( ) & ^ . / , @
20
TokenID
_ , -
21
UniqueCustomerID
_ , -
22
PaymentSource
_ - $ + ( ) & ^ . / ,
23
PymtPaymentSource
_ - $ + ( ) & ^ . / ,
24
CreditCardNumber
*
25
CreditCardExpire
/
26
CardHolderName
' - & / # .
27
BankHolderName
' - & / # .
28
PayPalBAID
-
29
PayPalEmail
@ . + - _
30
PayPalHolderName
' - & / # .
31
Term
_ - $ + ( ) & ^ . / ,
32
PaymentTokenID
_ , -
33
PaymentUniqueCustomerID
_ , -
34
PaymentCreditCardNumber
*
35
PaymentCreditCardExpire
/
36
PaymentCardHolderName
' - & / # .
37
PymtPayPalEmail
@ . + - _
38
PymtPayPalHolderName
' - & / # .
39
EbillEmail
@ . + - _
40
PayAdjustmentCode
_ - $ + ( ) & ^ . / ,
41
AdjustmentCode
_ - $ + ( ) & ^ . / ,
42
TrialTerm
_ - $ + ( ) & ^ . / ,
Prerequisites:
Circ System & Minimum Supported Version: NCS Circ, 2020-6.0
Previously, the UsersOrchestrator APIs would return a generic error message "Invalid InputModel" if an invalid value was entered into any of the input parameters. Changes have now been made by implementing detailed error reporting, such that invalid input errors now include the name of the parameter containing the invalid value: "Invalid InputModel - {Message}".
The list of countries displayed in SP was not governed by the Matrix Country-Only rule. If the Country-Only rule was not enabled for a country in Matrix but that country was included in the list shown in SP, the subscription would result in an error during processing on the Matrix side, while no error would occur on the SP side during the purchase process.
Changes have been made so that the GET /Countries
endpoint now retrieves the list of countries applicable under the Country-Only rule in real-time and displays it in the Country drop-down menu in the Subscription Panel, instead of displaying all countries in the Subscribe database.
Prerequisites:
Circ System & Minimum Supported Version: Matrix, M 38.00.034.ITSP9
The input parameter, NumberLastFourDigits, of the Purchase API will now be sending the last four digits of the credit card instead of the first four digits of the card to the AddSubscription endpoint.
When the circulation system is CircPro, the AddSubscription event now concatenates the original token with the last four digits of the credit card number, separated by a pipe (|) and the text 'LAST4='.
Changes have been made to the Payments API to enhance the process for EZPay sign-ups, subscription restarts, one-time payments, and credit card information updates. The process event types—16 (EZPAY), 24 (CHGCC), and 27 (RESTART)—will now include the last four digits of the credit card in the CardToken parameter when sending to CircPro, formatted as '<token>|LAST4=<last four digits>'.
For one-time payments, event type 970 (ToOneTimePayment), the last four digits will be removed, and only the original token will be sent to CircPro.
Prerequisites:
Circ System & Minimum Supported Version: CircPro, 2021-3.0
While making a payment from the Subscription Panel if the payment vendor is Cybersource, the last four digits of the Credit card number will be sent to the Purchase API endpoint. The subscription workflow will not have any impact. The subscription will then be processed at the Circ side.
A new plugin setting has been added and initialized along with DL and FP plugin on the Checkout page (Subscription Panel). The new plugin settings will accommodate the changes related to the new Engage G3I plugin. The name of the new plugin settings is configurable from SP Config. SP config has an on/off for each plugin that controls the availability of each plugin for a specific client.
Implementation Notes:
The following keys are used to utilize the G3I plugin under the NewMG2Insights key along with ‘MG2Insights’ in config.MG2Loader: Name: "DLNew", Enabled: true, Version: <specify the version> ContainerId: <specify the Container ID> for ex: "GTM-5ZBPF7G"
When a customer follows the Stop Saver flow and chooses to cancel, a success message was not appearing after completing the cancellation. This issue has been resolved. After the fix, when a subscription is successfully canceled from the Stop Saver page, the success message is now displayed, and the user is subsequently redirected to the Dashboard page.
While making a credit card payment in SS, Cybersource clients were not receiving an error message if the expiration year entered was in two digits. Although most payment vendors accept the last two digits for the expiration year, Cybersource requires four digits. When users entered only two digits in the expiration year field, the payment process was unsuccessful, and they did not receive a clear error message indicating the issue.
This issue has been resolved by adding a placeholder (description) for the expiration year field. The new placeholder is configurable from the CMS and clearly indicates that the expiration year must be entered as four digits.
Implementation Notes:
Two new CMS segments, Placeholder.ExpirationMonth
and Placeholder.ExpirationYear
, have been introduced. These segments can be added to any payment page to correctly indicate the expiration month and year format to the user.
When a user already enrolled in an EZPay subscription tried to access the EZPay sign-up page, the system was allowing it, which was not the expected behavior. This issue has been resolved. After the fix, if a user already on EZPay tries to access the EZPay sign-up page, the system will display a message informing them that they cannot access the sign-up page. If they wish to proceed, they will need to cancel their existing EZPay program.
When the user clicks on the 'Vacation Holds' button on the Dashboard page, they are navigated to the temporarystop page. The text 'SUBMIT PAUSE REQUEST' was previously displayed outside the button border on the temporarystop page. This issue has now been resolved.
While updating the payment method or signing up for Auto pay, the expiration details of the end user’s credit card was not getting captured by the Circulation system. This issue was specifically observed with the CircPro circulation system and has been resolved.
When Subscribe applications (SubCon Admin, CMS or SolCon) were opened in multiple tabs on a Safari browser, logging out from one application in a tab didn't log out the user from other applications opened in different tabs, until the respective pages were refreshed. This issue has now been resolved.
CMS > Slideshow > Add > Enter the details > Submit
When creating a new slideshow that was scheduled to appear at a specific date range, the issue with the end date being displayed as "Invalid Date" after submitting has now been resolved.
CMS > Notifications New > (Navigate to the desired notification) > Edit (update the message field) > Save > Remove Override
When removing an override of a notification after modifying the notification message, the incorrect success message "Message successfully deleted" was displayed instead of the correct message "Override successfully removed". This issue has now been resolved.
When overriding the Benefits order, the system was displaying an incorrect error message, such as 'Benefit order successfully deleted,' instead of the expected message, 'Override successfully removed.' This issue has been resolved. After the fix, whenever a user overrides any Benefit order (CMS > Benefits > Select a Benefit > Display Order > Remove override), the system performs the override and displays the correct message: 'Override successfully removed.'
The issue of Expiration Date appearing null for subscriptions purchased through Google has been resolved.
There was a mismatch between the subscription status (Subscriber status) displayed in SubCon Admin and the status shown in the NCS Circulation system for a subscription purchased through the Subscription Panel. This issue has been resolved.
After the fix in this release, the NCS Circ subscription status will be synced with the Subscribe database, ensuring that the Subscriber status displayed in SubCon Admin matches with the status displayed in the NCS Circ system. Note that this change has no impact on the Self Service.
Note:
The syncing of NCS Circ subscription status with the Subscribe database will be as outlined in the table below for subscriptions that are not Lite, In-App, or PaidPass.
ACTIVE
ACTIVE
IN GRACE PERIOD
IN GRACE
TEMP STOP
PAUSED
VAC–ONLINE
PAUSED
ON VAC PACK
PAUSED
PERM STOPPED
STOPPED
EXPIRE STOPPED
STOPPED
NOT STARTED
FUTURE
Once CSR portal has appended a new parameter, ‘operation=CreateProfileRedirect’ while making call to the iframe URL of NavigaPay. This is a refactor without impacting the application workflow. The iFrame URL is received as a response from the microAPI with parameters sitecode & sitekey. This is a refactor and no changes to the end-user.
Note: Since SubCon Admin is not using ApplePay, the value of the operation parameter remains static as ‘CreateProfileRedirect’ for SubCon Admin.
Self-Service portal has been upgraded to Angular version 15.2.10. The necessary changes to ensure proper builds have been implemented. It has been ensured that all packages (dependencies) are upgraded in parallel.
Starting from this release, ThemeC and Theme D have been deprecated. This change is completely transparent to the users.
After a comprehensive review and analysis, a list of all Circ-specific modules were listed and Circ-specific components have been eliminated. Alongside the front-end analysis, the SS backend was also examined to identify potential enhancements. A common workflow for each feature has been established. A Circ-system can override the common workflow, only if necessary, by following specific additional steps.
The following modules were simplified through this approach:
Address
Billing
Transactions
Invitation
Subscription Cancel
Subscription Link
Subscription Update
Temporary Stop
However, this refinement has no visual implications.
The appearance of Self-Service webpages has been based on one of two structure styles: Type A or Type B. While these structures were mostly identical, with only slight differences, an initiative has been undertaken to unify these structure styles for the following pages:
Note: Moving forward, a common design (structure) will be uniformly applied to the below mentioned pages, ensuring a cohesive and streamlined visual experience.
4.1 Access Page
The styles of Type A and Type B were very similar for the Access page, with the exception of the AccessAskQuestionBoxText CMS content, which was present in Type A but not in Type B.
Nevertheless, there is a generic HelpText content already available to serve the same purpose. Hence, moving forward, the Access page will adopt a generic Structure, and the AccessAskQuestionBoxText has been removed from this generic structure.
4.2 Activate Page
Type A and Type B structures of Activate page were nearly identical. Moving forward, Type B will serve as the generic structure for Activate page.
4.3 eBill Sign up Page
Type A and Type B styles were very similar for the eBill Sign Up page. The only difference was that the Type A eBill Sign up page displayed the subscription’s full name and current date, while Type B did not.
The eBill Sign up page will adopt Type B as the generic structure and regardless of the configured Theme for the Tenant (Theme A or Theme B), the page will display elements in accordance with Type B.
4.4 eBill Manage Page
Type A and Type B styles were nearly identical for the eBill Manage page. To streamline and simplify, starting from this release, the eBill Manage page will adhere to Type B as the generic structure regardless of the theme configured for the page.
4.5 Feedback Page
While there were some differences between Type A and Type B for the Feedback page, starting from this release, Type B will serve as the generic structure for the Feedback page. The MailingAddressLabelText and MailingAddressText CMS contents, exclusive to Type A, have been removed from the generic structure.
4.6 MyProfile Page
Both Type A and Type B displayed the same sections on the My Profile page. While Type A used accordions, Type B employed Boxes to showcase these sections. Starting from this release, the My Profile page will adopt the Box approach from Type B for section display regardless of the theme configured for the page. Organized in columns and configurable for hiding, each box provides enhanced flexibility.
Note:
On the My Profile page, the Login Information, Change Password and Profile Information boxes will be organized in columns:
If 2 boxes are to be displayed, they will appear side by side as displayed below.
If 3 boxes are to be displayed, the first two boxes will appear side by side, while the third one will be positioned below the first as displayed below.
4.7 Subscription share Page
Type A and Type B were almost identical, with the only difference being the absence of a page description in Type A. Type B will serve as the standard structure for the Subscription Share page regardless of the theme configured for the page.
4.8 Unsubscribe Page
Type A and Type B were nearly identical. Therefore, Type B will be used as the generic structure for the Unsubscribe page regardless of the theme configured for the page.
4.9 Verify Account Page
Both Type A and Type B had almost the same content and styling. The only difference was that Type B had “Left Panel” and “Right Panel” above the form, while Type A had only the “Right Panel.” Their styles also varied slightly, but the form itself was identical for both. Therefore, Type A will be used for the VerifyAccount page as the generic structure regardless of the theme configured for the page.
Some enhancements are in place in the Navigation Service to perform a "Site code change" without performing a redirect on the Activate page of SS. This development has no impact for end users, it's just to maintain the concept of Single Page Application.
Instead of a Browser page refresh, the user would now see a controlled redirect handled by the Application on the Activate page.
With this release, the option to download the Self Service as a desktop application has been deprecated. This decision was made due to the lack of client utilization of this feature and the considerable workload it imposed on the implementation team during the onboarding of new clients.
Implementation Notes:
The Manifest.json file has been removed from every client.
The references to Manifest.json (in the web.config file) has been removed from every client.
The new “title” property has been populated in every client’s Subcon.Config with the value that the manifest.json used to have as “name”.
Note: For future clients, it is recommended to consider this approach to avoid the creation of new Manifest.json files for the client.
The Activate page will now use Forms components. The duplicate code in the Activate page has also been removed. The logic behind the calculation of the User Access level has also been centralized and is implemented as a single invisible step between the Verify and Upgrade steps.
Implementation Notes:
New property introduced in Subcon.Configuration: "VerifyAccountForm". It is exactly the same as of the VerifyAccount module, but it was moved to this property to be reused in Activate module.
The code for calculating dates in input date picker will be the only one effective on SS pages from this release. All the other code that calculates the first date has been removed from SS pages. The input date picker will be used in the Restart page as well from this release. The duplicated code regarding date calculation in the Restart page has also been removed.
The changes are transparent to the user.
When an end user logs in to the Self-Service with valid credentials, a cookie namely X-AuthToken gets generated. The name of this authentication cookie was too generic. Hence, starting from this release, the X-AuthToken authentication cookie has been renamed to “nav-ss-authorization”, which is something more specific to Naviga Self Service. From this release, after performing an authenticated login, nav-ss-authorization cookie will be generated.
This change is completely transparent for end users.
Self-Service will no longer decrypt the igmRegID cookie value for MG2 Auth clients. The cookie value will be used as is in the GET /Users endpoint call (UsersOrchestrator API) to fetch user details for session recovery in the event of a page refresh.
This change has no impact on end users. A logged-in MG2 Auth end user will remain logged in on SS even when the SS page is reloaded.
Internal Enhancement: Steps Lists, Code clean up
As part of the 3.17.1 Refactor, a code cleanup has been made in the Purchase API to minimize complexity related to handling the list of steps in each integration during a Newstarts flow due to the number of classes involved in the process.
A new component, NavigaPay ApplePay Payway V3, has been added to the CMS to be used as one of the payment methods in the Subscription Panel.
Implementation Notes:
The user can configure the properties by going to:
CMS > Subscription Panel > Presentation (Choose a valid presentation) > PageV3 > stepV3 > PaymentMethod V3 > NavigaPay ApplePay Payway V3
This page containes the description of the hotfixes related to 3.16.0 version
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
Please note that all the 3.16.0.X hotfixes are by default included in both the minor and major versions being in development, which are 3.16.1 and above and 3.17.0, respectively
If you want the fix to be applied please input a Salesforce case
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
In the scope of 3.16.0 we added three cancellation options for Account management: Cancel immediately, Cancel next billing cycle and Cancel at a future date. However, we realised that there was no way to manage these options' visibility, and also they were sending the wrong StopType. Those two issues were fixed in scope of this hotfix.
The ability to manage the visibility of the cancellation option through Account Management settings was added. The following settings can be set to either true or false:
DisplayImmediateOption
DisplayNextCycleOption
DisplayScheduleDateOption
To manage CancellationTypeId for each option in addition to already existing SubCon.Cancel.DefaultStopType
API setting in MG2 control the three new API settings were created:
SubCon.Cancel.NextBillingCycleStopType
SubCon.Cancel.ImmediateStopType
SubCon.Cancel.ScheduleDateStopType
The setting value should be sent to the following:
for the cancellation on the next billing cycle = 1
for the immediate cancellation = 2 4
for the cancellation at a scheduled date = 3 2
Areas Covered: Subcon Site (Account management), API
For the fix to work correctly please apply the 3.16.0.6 hotfix that contains mandatory scripts
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Starting from 3.16 onwards Purchase API must be for all the new starts. There are two endpoints /Purchases
(to receive Standard, Comps, PaidPass, Gifts, etc for all Circs) and /Purchases/InApp
(to receive InApp and SwG).
/Purchases/InApp
is prepared to redirect to Subscriptions API or Pu
rchase API based on an MG2 Control setting. This works for consumer apps but it is going to be a problem for all the clients using InApp today since they were not notified they need to switch the endpoint. Since we want to have backward compatibility with our external InApp consumers, re-add the POST /Subscription
endpoint with a condition that it can be used only for InApp new starts.
In the scope of this hotfix, we also fixed the issue with the Payway form not being loaded in the Edge browser in Account Management.
Areas Covered: API, Account Management
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
This hotfix is dedicated to CircPro-related issues. The following issues are covered:
wrong redelivery issue dropdown options when submitting a complaint in Account Management
unit designator not being sent in CircPro for a new start
scheduled vacation not being synced during overnight database sync
new start with ApplePay or Google Pay passing zero amount to circ
displaying negative balance in Account Management while it's actually positive
Areas Covered: Account Management, API
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
For Auth0 we had a problem with ProcessLogin failing because the Auth Endpoint was using the User ID instead of Internal_id for Advance Tennant. The issue was fixed in scope of this hotfix. Now for Advance Auth endpoint uses Internal_id.
Areas Covered: API
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Some ApplePay starts with Payway were failing due to ApplePay Payload not having the ECI Indicator. The issue was fixed in scope of the current hotfix, new MG2Control's Setting (API Setting) was added:
Key -> Edgil.SecureElectronicCommerceTransactionECI
NULL NULL NULL Value -> 5
The changes had to be merged to several branches as several clients in production were affected. Please see the list of the branches below:
PurchaseAPI: 3.15.0.5, 3.15.1.6, 3.15.2.3, 3.15.3.1, 3.16.0.5
EdgilPaywayAPI: 3.15.0.2, 3.15.1.2, 3.15.2.2, 3.15.3.1, 3.16.0.5
Also included minor fixes for GooglePay:
The old GooglePay watermark image is now replaced with the new watermark in the checkout flow
Fixed the error of GooglePay icon still being visible in checkout flow even if unchecked in Solicitor Concierge
Areas Covered: API, Subscription Panel
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
This fix contains the scripts that populate CancellationTypes
and NewspaperCancellationTypes
in subsvc database as part of the dacpack. These scripts are required for the cancellation options for Account Management to work correctly
The fix also includes some optimisation of the subsvc database used by One CSR Portal:
ApiGetUserEmailPreference
and ApiUpdateRegistration
stored procedure optimised.
The new index in the Registration
table is created; EmailAddressId
column is included in the existing index of the EmailAddress
table.
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Previously, a bug was introduced that caused the user to have to click twice instead of a single click to purchase the subscription after entering billing details when the seamless presentation was configured with the Independent Address
component. The issue was fixed in the scope of this hotfix.
Areas covered: Subscription Panel, CMS Admin
This fix was also merged to 3.15.3.4 and 3.15.2.3.
Updated on June 26th, 2023
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Braintree is sunsetting their API on python platform. Hence, as per Braintree's recommendation, the backend Braintree SDK has been updated to version 4.18.1.
Areas covered: API
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Due to the cross-site validation, Auth0 was deleting the cookie when visiting Self-Service after .com and vice versa. This was fixed by ensuring that the cookie is deleted only when the user actually clicks the Logout button.
Areas covered: Self-Service
This fix was also merged to 3.16.1.5
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Paypal via Braintree Renewals have been getting declined in circulation. It was identified that the PaypalBAID parameter while purchasing the subscription on EZPay was not being sent accurately to Circ. The issue has been fixed by passing the appropriate parameter from the payment vendor to the circulation system.
Areas covered: Self-Service
This fix was also merged to 3.16.1.6 and 3.16.2.1
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
The following issues were fixed:
Not being able to access downgrade page or logout when 3rd party cookies are blocked
Not being able to logout when 3rd party cookies are blocked
Logout after browsing to Newsletter page
Auth0's Integration was fixed and defensive code was added to APP_INITIALIZER flow. Inconsistent logic from auth0.service.ts was removed
This document is currently in progress
Areas covered: Self-Service
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
When a subscribed user logs out from the Subscription panel and then tries to buy a new Subscription with his existing account, the user was not recognized as an existing user by SP. This was because the Customer Registration ID of the user was not available and hence the user was treated as a new user.
To overcome this issue, it is ensured that even if the user logs out, the system will make sure to fetch the Customer Registration ID that recognizes the user.
When a user was trying to buy a subscription after getting registered via a third-party authentication system (e.g., a user on newspaper site clicks on a link ePaper-->Auth0-->Subscription Panel), even after the successful authentication by Auth0, the registration was not created in the Subscribe database. This issue has been resolved now.
The fix was also merged to 3.16.1.5 and 3.16.2.2.
The CMS Content module has been updated to support Transport Layer Security (TLS) version 1.2. The TLS version can now also be configured from the web.config file, and image uploads can now communicate with the AWS S3 bucket using the TLS 1.2 security protocol.
This update has been made as Amazon will no longer support TLS 1.1 for its S3 bucket.
The Hotfix 3.16.0.13 documentation was updated on June 12th, 2023.
Note: If the TLS version is not configured in the web.config file, CMS now uses the TLS 1.2 security protocol by default.
This fix was also merged to 2.39.1, 2.39.1.0, 3.15.3.1, 3.15.2.1, 3.16.1.7, 3.16.2.4, and 3.16.3.
The issue with the 'Mark as processed' button in SubCon Admin has been resolved.
This fix is also merged to 3.16.1.8, 3.16.2.5 & 3.16.3
In the seamless flow, if the Independent Address component for the payment page has been enabled, users could purchase or subscribe to a subscription with a single click after entering their credit card information. The issue occurs when the credit card details have been validated, the Submit button disappears, and the user is taken directly to the payment options, even if the fields, First and Last names, Phone, and Zip Code, have not been filled. This resulted in the AddSubscription call being triggered with incomplete information, and since the Submit iframe button is from a third-party payment site, it does not validate whether the aforementioned fields have been filled, resulting in no error warnings being displayed.
Changes have been made to allow the submission of incomplete fields if the credit card has already been validated in the seamless flow by introducing a delay time after each keystroke while filling the fields under the independent address component.
A key, "SeamlessInputDelayTime", must be added to the SP Config file with any numerical value. The value indicates the delay time in milliseconds, with the default value set at 1500 milliseconds (1.5 seconds).
For example, after entering the first name, it will wait 1.5 seconds and then call AddSubscription if no additional keystrokes have been detected. When the user starts entering the following fields, such as Last name, phone number, and zip code, the timer is reset after each keystroke, and the AddSubscription call is triggered only after a 1.5-second delay.
This fix was also merged to 3.16.1.9, 3.16.3.1, 3.15.2.4, 3.15.3.5, 3.16.2.5
This release is in its beta version now.
Recently, major browsers have introduced additional security measures and constraints related to third-party cookies, as well as cross-domain data transfer and communication. The latest release of Chrome no longer supports third-party cookies. These were impacting the functioning of the Landing application and user experience negatively. Despite the implementation of workarounds, users were encountering issues in the sign-in flow at times.
Therefore, the sign-in logic for the Landing application has been revised without significantly affecting the existing functionality and behavior. The previous dependency on local storage has been replaced, and a Redis caching approach is now implemented for the users to sign in on the Landing for accessing consumer applications (SubCon Admin, SolCon & CMS).
Following the new implementation, users can access any consumer application only through the Landing application.
If a user has opened different consumer applications on different tabs in a browser, logging out from one application will force the user to log out from the other opened applications as well. The user will regain access to the application only by signing in through the Landing application.
Page refresh will work as before and have no impact following the redesign.
Multi-Factor Authentication (MFA) with Okta will also work as intended if the feature is turned ON for the specific client.
There is no dependency on third-party cookies related to the Landing application, and the landing works perfectly fine on Safari, Firefox, Chrome, and Edge browsers.
Consumer applications are no longer dependent on Local storage to fetch data.
The CMS Idle Time functionality, which notifies the user if they have been inactive on a CMS page for an extended duration and provides the option to either continue or exit from the page, is working as before.
For a seamless user experience and as a best practice, please do not disable cookies in your browser.
This fix is also merged into 3.16.1.10, 3.16.2.8, 3.16.3.13 & 3.17.0.3 releases.
This page containes the description of the hotfixes related to 3.16.2 version
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
Please note that all the 3.16.2.X hotfixes are by default included in both the next minor and major versions, which are 3.16.3 and above and 3.17.0, respectively.
If you want the fix to be applied, please input a Salesforce case.
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Within Lite Subscriptions, the functionality to edit and update Expiration date from One CSR Portal UI was not working completely. The expiration date was being updated in one of the two dependent tables in the database and subscription status also remained Expired even if updated expiration date was set to a Future Date. This issue has been fixed by introducing new endpoints within One CSR Portal application.
When a user clicks on ‘Start call’ push button, the first tab displayed contains the selected account information. For Lite subscriptions, this tab name is renamed as ‘Lite Account Information’ to give it more clarity from this release.
A new field Currency is introduced in Lite Account Information tab under Account Details section. By default, the field displays the value of the currency entered by the user/CSR while creating the Subscription through the Subscription Panel Presentations. The field is editable and provides the following options in a drop-down to choose from: 1) Euro 2) US Dollar 3) Swiss Franc and 4) Pound Sterling
The above UI changes and the corresponding functionality works in tandem with the following updates in the API side.
A new endpoint is created api/startCall/Currencies/{CountryCode}
to get the currencies list
The /Billing/Currencies
endpoint from SubscriptionsAPI is called to verify the validity of the currency being sent. Only valid currencies can be sent
To the Update Subscription API
endpoint, the Currency parameter is added
In Subscribe, there are corporate accounts where each account having almost 2000 users registered under it. With the new enhancement, it is possible to search for a specific user within a corporate account.
Within the Digital Tab of Start Call push button, a new section ‘Search Registrations’ is added now. It has three search fields: Login name, First name and Last name along with Clear and Search buttons.
A new column Full name is also added in the result grid which shows the combined value of First name & Last name that brings more clarity.
The CSR can now filter the data of registrations grid by entering the login name (usually email id), by combination of First Name & Last Name, or all of them. The search results will be based on partial or exact match of the names given in the search fields.
When the Search button is clicked without any data being entered in the search fields, the grid displays all data related to active registrations under the subscription, without applying any filters.
The Subscription Search is enhanced to be able to search with just one search field compared to the prior three search fields. With this new development, it is possible to search for user account(s) by giving either First name and/or Last name in the respective search fields.
This enhancement is enabled by an MG2Control App setting (Client Components Permission) with the key ‘SubscriptionSearchBasedOnFirstAndLastName’. If this key value is set to 1(true), then ‘Search only by First name or only by Last name’ is permitted. Or else, the current behavior follows (i.e, the user should enter value in First name, Last name and Newspaper). By default, the key value is set to 0 (false).
While the key value is 1, if the user attempts to search with fields such as House number, Street or Zip/Postal code that do not work independently, then the following error message will be displayed:
“Either First Name or Last Name or Account number or Phone number or Email or Company name or three other fields are required.”
Configuration Notes:
Created new App setting key (Support Viewer > Management > App Settings > Setting type - Client Components Permission, App type - SubCon Admin, Key - SubscriptionSearchBasedOnFirstAndLastName)
When key value is set to 1, it is possible to search with First name and/or Last name. However, a search with only House number, Street or Zipcode will trigger an error message.
By default, the key is set to 0.
Certain clients can have a large number of users and hence it might get difficult to search registrations only by Login Name i.e. Email Id. Hence this new development.
The User Accounts → Search Module is enhanced with additional search criteria for First Name and Last Name. With this new feature, users can now search for user accounts either by giving First name and/or Last name in the respective fields. The search results will be based on partial or exact match of name given in the search fields with the only requirement being that the initial characters of the search text must match exactly. For instance, a search using the text "HE" will return a match for "HELLO", but not for "LLO".
A new column ‘Full Name’ is added in the search results grid to provide users with more accurate search outcomes.
In addition, the "Show only registrations" checkbox is removed from the user interface. The checkbox was previously checked and disabled in all cases, rendering it redundant. However, this change does not affect the backend logic.
The above enhancement is made possible with the following API changes in the backend.
The SearchUserByEmail
endpoint is renamed to SearchUser.
The APIs are modified to include FirstName and LastName as parameters.
Certain clients have corporate accounts in which each account can have a large number of registrations under it. The registrations data can be used by the client for their external activities and campaigns but currently the system does not capture enough information to fulfill this purpose. From this release, the Subscribe system is enabled to capture extra information for each user Registration. However, this is an optional function and can be switched on/off with a MG2Control App setting, RegistrationAdditionalData.
When the MG2Control RegistrationAdditionalData is set to true, the following happens:
When a user clicks Invite / Invite Without Registration, additional fields for Company Name, Position (Job Title), Phone, Address, City, Postal Code, Country are displayed. Data entry to these fields are optional.
Data entry to these fields are free text except for the Country field, which will be a dropdown. The Country drop-down has the same options as that are available under Lite Account Information tab.
When the MG2Control RegistrationAdditionalData is set to false then the additional fields are hidden.
Once the additional user registration data is captured in the system, it will be available under the Profile settings of User accounts (User accounts > Search > Registration > Profile settings). The additional user data fetched from the database will be editable with a Submit button. This functionality also depends on the value of the MG2Control App setting key, RegistrationAdditionalData.
Configuration Notes: The additional fields will be available under Profile settings only if the key value of RegistrationAdditionalData is set to 1 in MG2Control > App settings.
From this release, a CSV template file is available for download with extra fields such as Company Name, Position, Phone, Address, City, Postal Code, and Country, along with existing fields. A push button Download CSV Template will be displayed side by side with the Import from CSV button. The headers in the downloaded template are in sequence with the expected import order. This helps the end user to identify the sequence of columns to be maintained while importing the CSV for registration invites.
Clicking Import from CSV captures additional data columns and stores them in the Registration table without impacting existing import behavior. Country field values are validated from Subscribe Country Setup. Error messages are displayed if columns are missing or out of sequence.
Configuration Notes: The Download CSV Template button is displayed only if the MG2Control App setting key ImportRegistrationButton value is 1. The value of RegistrationAdditionalData MG2 Control App setting determines if extra fields are to be included in the template or not. If the value is 1, the template file will have all the extra fields and if the value is 0, the template will have only the default fields (Email, First name, Last name and User Type). When this setting is 1, the additional fields are also saved in the Invitation table at the time the Registration invitation is sent.
In the Bulk Invitations Import window, when importing the uploaded file, all existing entries were deleted and replaced with the records in the file. It was difficult to handle the requirement to add a couple of entries to an existing list of over 500 entries. Enhancements have been made to add records to the existing list rather than totally replace the entries.
The Bulk Invitations Import window now includes the option "Choose an action." By default, the action has been set to "Append." An alert message— “This action will add the new records without deleting the existing ones." for the selected action will be shown at the bottom.
The "Upload" button that appeared after choosing a file has been replaced with an "Import" button. Only after a file has been chosen for upload will the "Import" button become enabled.
If a record in the uploaded file matches an existing registration (Pending or Active), the log file generates the message “Record already exists” against the record.
Note: Since records are now appended rather than overwritten, the import limit will be defined by pending invitations rather than the total registration limit.
On the Lite Account Information tab, a new section called "Billing Address" has been added. This section consists the subscriber's Address, City, State, Postal Code, and Country.
Note: The Country field, which was previously located under the Personal Details section, has now been moved under the Billing Address.
The information in this section is already filled in based on the information given when the subscription was created. The values can be modified by clicking the Edit button at the bottom of the section.
Note: All fields in this section are mandatory and cannot be left blank.
One CSR Portal now uses the POST /Invitations/{invitationId}/Resend
instead of PUT /Invitations/{invitationId}
to resend the invitation email.
The SubCon Site (Self-Service) now uses POST /Invitations/{invitationId}/Resend
instead of PUT /Invitations/{invitationId}
to resend the invitation email.
GET/User/{customerRegistractionId}/{type}, GET/User/{type}
, and GET/User
endpointsThe above endpoints now include a new output parameter called "metadata" that returns the additional registration details that are added when creating a new registration (see the point above). Note: The metadata can contain any information in JSON format and is not restricted to the registration's additional fields.
POST User (Create User)
and PUT User (Update User)
endpointsWhen a user is created using the POST /User
endpoint, metadata information can now be added and stored in the database under the Registrations table.
When using the PUT /User
endpoint to update the user details, the provided data will be used to update the user information in the Registrations table, including the metadata.
POST /Invitations
and POST /Invitations/{Id}
endpointsWhen creating an invitation using the POST /Invitations
endpoint, metadata information can now be added and stored in the database under the SubscriptionInvitations table.
Once the invitation has been accepted, the metadata details in the SubscriptionInvitations table will be copied to the Registrations table.
PUT /Invitations/{Id}
endpointThe PUT Invitations endpoint has been modified so that the API can only be used to change information about an invitation that is still pending registration.
The API modifies the information of an invitation in the SubscriptionInvitations table with the provided details, including the metadata.
POST /Invitations/{invitationId}/Resend
To resend the invitations email, a new endpoint POST /Invitations/{invitationId}/Resend
was developed.
GET /Invitations
and GET /Invitations/{Id}
endpointsThe above endpoints now include a new output parameter called "metadata" that returns the metadata details that are added when creating an invitation.
PUT /Subscriptions/{subscriptionId}/Address
endpointThe above endpoint has been updated so that the Billing and Delivery address details of offline subscribers who don't have a Circ system can now be modified.
Except for CircPro, the API modifies the address of the subscription in the repository (Subsvc) and the Lite Account Information tab with the provided details for all clients.
If the specified City and State do not match the provided Postal Code, the address will be standardized with Melissa, and the response will return the correct City and State based on the Postal Code. Melissa will fail address standardization if an invalid address is provided, resulting in an error in the response.
When the CSR sends an invite to an end user to register an account or when invites were sent via bulk upload, the first name and last name were entered alongside the email and guest/owner fields. However, after registration, the First Name and Last Name fields were not populated in the user's profile settings in One CSR Portal.
The root cause of this issue was that the first name and last name of an invited user were getting saved only on the Subscriptioninvitations Table and not in the Registration table. This data was not getting stored or introduced in any other scenario of the entire Invitations flow.
To rectify this, we have added an extra step. When a user accepts an invitation, the site calls /Invitations API as always, and the /Invitations API also pass first name and last name information to /Users API (endpoint PUT /User
). This results in an update of firstname and lastname in the Registration table (Subsvc DB of a specific client).
Thus, with this new release, the first name and last name fields are now correctly populated in the user's profile settings upon registration.
Paypal via Braintree Renewals have been getting declined in circulation. It was identified that the PaypalBAID parameter while purchasing the subscription on EzPay was not being sent accurately to Circ. The issue has been fixed by passing the appropriate parameter from payment vendor to circulation system.
This particular fix was also merged to 3.16.1.6 and 3.16.1.10
API, One CSR Portal, SubCon Site (Self-Service)
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
For CircPro clients, when a signed in subscriber selects an offer and do the bill payment, the tip amount entered in the corresponding field was getting added twice to the subscription amount resulting in a high cost of subscription. This issue has been fixed now.
The client specific GoogleTagManager (GTM) script has been included in the Subscription Panel configuration.
When a user was trying to buy a subscription after getting registered via a third party authentication system (e.g., a user on newspaper site clicks on a link ePaper-->Auth0-->Subscription Panel), even after the successful authentication by Auth0, the registration was not created in the Subscribe database. This issue has been resolved now.
The fix was also merged to 3.16.0.12 and 3.16.1.5.
Within the Seamless presentation flow of Subscription Panel, there was an issue while completing the purchase flow that did not let the user purchase a subscription. The issue has been identified and fixed now.
The issue of users getting error messages while clicking on the Resend Invite button under Pending Invites has been resolved.
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
A CSR can now create and directly activate users from the One CSR Portal. When a CSR activates an invited user, a registration will be created for the user with a system-generated password. Additionally, it is possible to notify the newly created user of their username and password via email.
If the CSR attempts to activate a user who already exists in the Subscribe database (typically a registered user with a different subscription), the system will deny the activation and display a notification message.
The display of the 'Activate' button and the drafting of the notification email can be configured in the Support Viewer using specific configuration settings (StartCallDigitalTabActivateUser, StartCallDigitalTabActivateUserEmailSend, StartCallDigitalTabActivateUserEmailTemplate).
This feature is currently available only for Auth0 clients. Note added on October 27th, 2023.
From this release, it is possible for the CSR to re-attempt and save the address in Lite Accounts even if the Melissa standardization of the entered address fails. The application will provide an option to update the unstandardized address only with the user’s consent. The user can consent in a pop-up asking “The address standardization failed. Do you want to retry and save the best available match?”. If the user confirms with a ‘Yes’, then the unstandardized address will be accepted and the success message “Address has been standardized to the best available match & updated“ will be displayed.
Note: The details are updated based on the address returned by Melissa. Hence if a CSR enters a partially incorrect address that Melissa would consider as Standardization failure but would also return a best available match, in this case, the best available match gets updated which could be partially different than what CSR had originally entered.
The UpdateSubscriptionAddress endpoint (PUT /Subscriptions/{subscriptionId}/Address
) has now been updated so that address standardization is performed at every call irrespective of the value of the ValidAddress element.
If standardization fails and the ValidAddress element value is true, the API will return an error.
The display of the pop-up depends on the value of the MG2 Control App setting key "StandardizationFailedPopup".
reCAPTCHA V2 has now been implemented on requested client sites, ensuring that when a user goes to the site's Newsletter Unsubscribe Links and clicks on any of the unsubscribe options (either "Unsubscribe from this newsletter" or "Unsubscribe from all newsletters"), they must pass captcha verification to complete the unsubscribe request.
The captcha is configurable at client/publication level. This feature can be turned on/off by including or excluding the appropriate code in the configuration file, config.System.
The GET /Subscriptions
endpoint has been updated so that when a client searches for a subscription based on a partial name of the company, all records containing the keyword are returned if the keyword is present in the CompanyName column.
The GET /User
endpoint has been updated such that the logic for searching for a user is now based on "Contains" rather than "Starts with". Searching for a user with a partial name under the FirstName, LastName, and Login Name fields will now return all records containing the keyword if the keyword is present in the relevant columns.
The grammatical error in the description of Pending invites grid has been corrected. The word being has been removed from the description of the Pending invites to make it accurate. Now the description for Pending invites grid is read as “These people have not accepted your invite”.
The timeout error occurring in SolCon when selecting specific team members has been resolved.
The fix was also merged to 3.16.1.5.
The error message "Error400:" that is displayed while selecting DefaultOfferGroupId from the 'Available Offer Groups' in the CMS module's Presentation Properties V3 due to the presence of an excessive number of offers on SolCon has now been resolved.
Changes have been made to the Subscription Panel confirmation page such that:
When creating a subscription for a new user, the user will be directed to the website after the subscription has been successfully purchased.
Once an existing user's subscription has been successfully purchased, they must authenticate with Auth0 before being taken to the website.
These changes do not impact clients using SSOR authentication.
Auth0 should be set up for the user.
In config.System "AuthCookieDomain" key is mandatory.
The fix was also merged to 3.16.1.5.
Users can now enter:
' , - & / .
in the First and Last name fields.
All special characters are allowed in the Email field.
' - & / # .
in the Card Holder Name field.
# - . / \
in the Address Line 1 field.
. - #
in the Address Line 2 field.
When purchasing a subscription, CreateSubscriber failed with the error message “Child Event: CREATESUBSCRIBER failed. Error: FirstName field contained invalid characters that were removed. (19) LastName field contained invalid characters that were removed. (19)" when special character “,
" was used in the cardholder's name field (First Name and Last Name) on the payment page. This issue has now been resolved.
The issue has occurred since the comma (,
) was not one of the earlier permitted special characters ('- & /.
) for the name fields. The name fields now allow the usage of special characters: (' , - & / .
).
When creating a subscription, AddSubscription failed with the error message "The entered payment information was not accepted" when special characters (&/.,'
) were used in the Cardholder's name field (First Name and Last Name) on the payment page when using Cybersource gateway. This issue has now been resolved.
The fix was also merged to 3.16.1.5.
For NCS Clients, the issue of the user on vacation, who has paused his subscription with a specific restart date, not being able to raise a complaint, has been resolved now.
Note: Please ensure that the Business Rule within the NCS application is set to allow a user to submit a complaint while on vacation.
The fix was also merged to 3.16.1.5.
For clients using SSOR authentication, the issue of a logged-in user experiencing a prolonged loading time and the failure to open the dashboard or verified account page on the My Account page has been resolved, and the user can now access the page without the need for a refresh.
The fix was also merged to 3.16.1.5.
The timeout error occurring in SolCon when selecting specific team members has been resolved.
The fix was also merged to 3.16.1.5.
The CMS Content module has been updated to support Transport Layer Security (TLS) version 1.2. The TLS version can now also be configured from the web.config file, and image uploads can now communicate with the AWS S3 bucket using the TLS 1.2 security protocol.
This update has been made as Amazon will no longer support TLS 1.1 for its S3 bucket.
Note: If the TLS version is not configured in the web.config file, CMS now uses the TLS 1.2 security protocol by default.
This fix was also merged to 2.39.1, 2.39.1.0, 3.15.3.1, 3.15.2.1, 3.16.0.13, 3.16.1.7, and 3.16.3.
Client specific custom configuration for social login has been added to the Subscription Panel config files so that subscribers can authenticate through Auth0 to the client's site using their social media login connections (Facebook, Google, and Apple) based on the respective client's custom configurations. Clients that have not opted for this method of authentication will be able to utilize the default method for subscribers to login to their sites.
Areas covered: Subscription Panel
This fix was also merged to 3.16.1.6
The error “Sorry, the page you requested was not found. See current offers.“ that was displayed when using the input parameter "ofrgp_id" to purchase a subscription in the Subscription Panel has now been resolved. There was an issue with the SolCon GetOffers logic, which has been reworked.
This fix was also merged to 3.16.1.7
The user was not able to add a Division to a published offer in SolCon. An error message was displayed during this update. This issue has been resolved.
This fix was also merged to 3.16.1.7
Previously, in SubCon Site (Self-Service), the GET /Complaints/{subscriptionId}/Problems
endpoint was failing because the complaint problem codes retrieved from CircPro were not available in Subsvc, which resulted in an error. This issue has now been resolved.
This fix was also merged to 3.16.1.7
The issue with the 'Mark as processed' button in SubCon Admin has been resolved.
This fix is also merged to 3.16.0.14, 3.16.1.8 & 3.16.3.0.
The issue of an increased number of 500 and 404 errors found on clients' servers has been successfully resolved. This was an Authentication system-specific issue. For SSOR clients, even if the user was logged out while navigating to the SubCon site, the logout call was triggered and returned a 500 error. For MG2 Auth clients, the wrong login credentials triggered the logout action. After the fix, for SSOR clients, the logout call will be executed with a status 200 and for MG2 Auth clients, there will not be any logout call while entering the bad login credentials.
This fix is also merged to 3.16.1.9 & 3.16.3.0.
The issue of publications using SSOR authentication taking too long to load SubCon Sites has been resolved. This delay was primarily because of an additional API call triggered by an internal cookie with an empty value. With the issue resolved, it is now possible to log in to the My Account pages of publications using SSOR authentication without any delays.
This fix is also merged to 3.16.1.3 & 3.16.3.4.
In the Self-Service Portal, when creating a start with an email address that included the special character "+" (e.g., user+1@domain.com), the new start failed to create with the error message "Child Event: ADDSUBSCRIPTION failed. Error: EbillEmail field contained invalid characters that were removed." Since the special characters in the Query String Parameter had been removed, the FindAddressOccupant method failed to find the occupants with the specified email address and returned the error "No occupant record found."
The special character ‘+’ has now been encoded in the Query String Parameter when communicating between EventsAPI and CircAPI in the FindAddressOccupant method, so that when entering an email address with the special character "+," new starts will now be created and errors will no longer be displayed.
This fix is also merged to 3.16.3.1.
In the seamless flow, if the Independent Address component for the payment page has been enabled, users can purchase or subscribe to a subscription with a single click after entering their credit card information. The issue occurs when the credit card details have been validated, the Submit button disappears, and the user is taken directly to the payment options, even if the fields, First and Last names, Phone, and Zip Code, have not been filled. This resulted in the AddSubscription call being triggered with incomplete information. Since the Submit iframe button is from a third-party payment site, it does not validate whether the aforementioned fields have been filled, resulting in no error warnings being displayed.
Changes have been made to allow the submission of incomplete fields if the credit card has already been validated in the seamless flow by introducing a delay time after each keystroke while filling the fields under the independent address component.
A key, "SeamlessInputDelayTime", must be added to the SP Config file with any numerical value. The value indicates the delay time in milliseconds, with the default value set at 1500 milliseconds (1.5 seconds).
For example, after entering the first name, it will wait 1.5 seconds and then call AddSubscription if no additional keystrokes have been detected. When the user starts entering the following fields, such as Last name, phone number, and zip code, the timer is reset after each keystroke, and the AddSubscription call is triggered only after a 1.5-second delay.
This fix is also merged to 3.16.0.14, 3.16.1.9, 3.16.3.1, 3.15.2.4, 3.15.3.5.
API, Self-Service, Subscription Panel, One CSR Portal
Recent versions of the Safari browser introduced a new feature called Intelligent Tracking Prevention (ITP). ITP is designed to prevent websites from tracking user activity across multiple websites. By default, ITP is active or enabled on the Safari browser. These advancements in user privacy controls of browser adversely impact the user experience by preventing access to third-party cookies. Following this update, the Mac users on Safari browser were experiencing issues while logging into the self-service portal. Auth0 integration was not working on Safari browsers when Intelligent Tracking Prevention was enabled.
To overcome this issue, starting from this release, the Self-Service portal has successfully upgraded the Auth0 SDK from 1.8.0 to 2.1.3. Changes have been made in SS to accommodate Auth0 2.1.3 SDK.
After the enhancement users now have a smooth login process ensuring a better user experience even if the Intelligent Tracking Prevention is enabled on their Safari browsers of Mac systems.
The issue with the Cybersource gateway rejecting payment authorization attempts due to ApplePay integration not sending CountryCode to CyberSource has now been resolved.
The issues with redeeming Coupon Codes (One-time and Multi-use) in the Subscription Panel have now been resolved.
This fix is also merged to 3.16.3.5.
Post client upgrade to version 3.16.2.4, the logged-in user from .com site was unable to navigate to the Myaccount page in Self-Service portal in the logged-in state. The user could only login at the self-service portal when the value of cookies/cache was cleared. This critical issue has been resolved now.
This fix is also merged to 3.16.3.6.
When a logged-in user navigated to the Myaccount page in the Self-Service portal, they were unable to see their own account information. Instead, the Myaccount page displayed information from the previous logged-out user. This issue has been resolved now.
This fix is also merged to 3.16.3.6.
The Terms & Conditions content added under Exceptions (SolCon > Offer Group > Terms & Conditions > Exception) for publications was not displayed correctly wherever the offer was displayed through consumer applications (Subscription Panel and SubCon Site). Instead of the Exception Terms & Conditions content, the original Terms & Conditions content appeared on the checkout page. This issue has been resolved now.
This fix is also merged to 3.16.3.5.
API, Subscription Panel, Self-Service, SolCon
The Identity provider Auth0 has introduced a new Universal login experience for its clients. Starting from this version, Subscribe clients will have access to this new Universal login experience through the Self-Service portal. However, there will be no visual changes for the user.
This enhancement is also merged to 3.16.3.9.
Application Covered:
SubCon Site
This release is in its beta version now.
Recently, major browsers have introduced additional security measures and constraints related to third-party cookies, as well as cross-domain data transfer and communication. The latest release of Chrome no longer supports third-party cookies. These were impacting the functioning of the Landing application and user experience negatively. Despite the implementation of workarounds, users were encountering issues in the sign-in flow at times.
Therefore, the sign-in logic for the Landing application has been revised without significantly affecting the existing functionality and behavior. The previous dependency on local storage has been replaced, and a Redis caching approach is now implemented for the users to sign in on the Landing application for accessing consumer applications (SubCon Admin, SolCon & CMS).
Following the new implementation, users can access any consumer application only through the Landing application.
If a user has opened different consumer applications on different tabs in a browser, logging out from one application will force the user to log out from the other opened applications as well. The user will regain access to the application only by signing in through the Landing application.
Page refresh will work as before and have no impact following the redesign.
Multi-Factor Authentication (MFA) with Okta will also work as intended if the feature is turned ON for the specific client.
There is no dependency on third-party cookies related to the Landing application, and the landing works perfectly fine on Safari, Firefox, Chrome, and Edge browsers.
Consumer applications are no longer dependent on Local storage to fetch data.
The CMS Idle Time functionality, which notifies the user if they have been inactive on a CMS page for an extended duration and provides the option to either continue or exit from the page, is working as before.
For a seamless user experience and as a best practice, please do not disable cookies in your browser.
This fix is also merged to 3.16.0.15, 3.16.1.10, 3.16.3.13 & 3.17.0.3 releases.
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
Please note that all 3.16.3.x hotfixes are by default included in the next higher release. However, if a Hotfix branch of 3.16.3 is released after the next higher version, the corresponding Hotfix will be merged into the latest sub-version of the higher release applicable at that time.
Please input a Salesforce case if you want the fix to be applied.
The UsersOrchestrator refactor changes have been implemented in this release to achieve performance benefits as early as possible.
The UsersOrchestratorAPI has been developed in order to replace the UserAPI, which will be used for handling workflow orchestration between integration services (such as MG2Auth, Auth0, Gigya, SSOR, and Firefly) and the Subscribe Registration API.
Changes have now been made to various internal services in order to prevent breaking changes so that consumer applications can be switched to utilize UsersOrchestrator without issues.
The following changes have been made to internal services:
For ProxyAPI, the strategy has been changed in order to map the old Query String parameters to the new UsersOrchestrator parameters.
Changes to the response model of UsersOrchestrator.
Changes to the SPROC (Stored Procedure) of Subsvc Api_GetSubscribeRegistrations.
Changes to the response model of SubscribeRegistrations.
The MG2 control flow setting, "Flow.Users.RedirectToOrchestrator," has to be set to 1 for the ProxyAPI redirection to the UsersOrchestratorAPI.
Note: Make sure that the MG2 control flow setting, "Flow.UserProvider,” has been set correctly.
In the Self-Service Portal, when creating a start with an email address that included the special character "+" (e.g., user+1@domain.com), the new start failed to create with the error message "Child Event: ADDSUBSCRIPTION failed. Error: EbillEmail field contained invalid characters that were removed." Since the special characters in the Query String Parameter had been removed, the FindAddressOccupant method failed to find the occupants with the specified email address and returned the error "No occupant record found."
The special character ‘+’ has now been encoded in the Query String Parameter when communicating between EventsAPI and CircAPI in the FindAddressOccupant method, so that when entering an email address with the special character "+," new starts will now be created and errors will no longer be displayed.
This fix is also merged to 3.16.2.5.
In the seamless flow, if the Independent Address component for the payment page has been enabled, users could purchase or subscribe to a subscription with a single click after entering their credit card information. The issue occurs when the credit card details have been validated, the Submit button disappears, and the user is taken directly to the payment options, even if the fields, First and Last names, Phone, and Zip Code, have not been filled. This resulted in the AddSubscription call being triggered with incomplete information, and since the Submit iframe button is from a third-party payment site, it does not validate whether the aforementioned fields have been filled, resulting in no error warnings being displayed.
Changes have been made to allow the submission of incomplete fields if the credit card has already been validated in the seamless flow by introducing a delay time after each keystroke while filling the fields under the independent address component.
A key, "SeamlessInputDelayTime", must be added to the SP Config file with any numerical value. The value indicates the delay time in milliseconds, with the default value set at 1500 milliseconds (1.5 seconds).
For example, after entering the first name, it will wait 1.5 seconds and then call AddSubscription if no additional keystrokes have been detected. When the user starts entering the following fields, such as Last name, phone number, and zip code, the timer is reset after each keystroke, and the AddSubscription call is triggered only after a 1.5-second delay.
This fix is also merged to 3.15.2.4, 3.15.3.5, 3.16.0.14, 3.16.1.9, 3.16.2.5.
The issue with the GET /User/Encrypted
endpoint not working has now been resolved.
API, Subscription Panel, Database
Previously, Subscribe used the Start Date as the earliest possible date (today) since the next available publish date within CircPro was not accessible. Changes have now been made to integrate the CircPro Law API, getNextPublishDate, with the Newstart flow to add a step to retrieve the Next Publish Date from CircPro before triggering the AddSubscription event. This date will be utilized as the StartDate (EffectiveDate parameter) in the AddSubscription event processing.
Note:
The date returned by the getNextPublishDate event will not be applicable for EZPay, and the StartDate will remain Today.
The MG2 Control Internal Setting, "CircPro.Law.EndpointAddress," has to be set to the correct URL.
Pre-Requisites:
Circ System & Minimum Supported Version: CircPro, 2023-2.0 (will be out in Jan 2024)
Previously, if a user entered only the Billing Address while creating a new subscription in the Subscription Panel, since the Delivery and Billing addresses were the same, the Purchase API incorrectly sent the Billing Address against the mailing address fields instead of the regular address fields in the updateDataWithMailingAddress endpoint in CircPro.
This issue has been resolved, and the address fields will now be sent to CircPro as mentioned below:
When creating a new start with only a single address (delivery or billing), the address entered will be sent to the regular address fields in the CircPro application.
And if creating a new start with different addresses in the delivery and billing address fields, the delivery address will be sent to the regular address fields and the billing address to the mailing address fields in CircPro.
While creating a user from the Landing application, client details were not getting saved. This issue was specifically observed when the Role type of the created user was Generic. This issue has been resolved now.
API, Landing application
All the user metadata stored in the client’s Auth0 dashboard was being wiped out when the user executed a change password via myaccount/myprofile page or a CSR changed a password via Subcon Admin. This issue has been resolved now.
The user was not able to change password successfully on myprofile page of Self-Service portal. The user was receiving an error message stating, ‘Could not update user’. This issue has been fixed.
Self-Service, One CSR Portal
A new generic Sales Platform called ‘ExternalSalesPlatform’ has been introduced in SolCon starting from this release to manage external integrations from clients. An Offer Group can be configured now with ExternalSalesPlatform as its Sales platform. Clients can further use these offers in their external integrations for the purchase subscription flow.
Note: Offers with ExternalSalesPlatform will be returned in get/Offers response to consumer applications when the source system does not match the Sales Platform in SolCon & OfferId or OfferGroup Id are not part of the API request.
The user was restricted from purchasing a subscription through an external system, encountering an error notification saying “The offer does not exist or it is not available." This issue was specifically observed in clients who were upgraded to version 3.16.3. Importantly, this error did not occur in prior versions and has been resolved now.
Following the fix, a user can now purchase offers through any external system if the corresponding offer is configured with the 'ExternalSalesPlatform' option in SolCon.
The ExternalSalesPlatform can be updated against required Offers via scripts. In this case, the TnC mapped to Subcon Admin Sales Platform will be updated against ExternalSalesPlatform. Clients also have an option to update the ExternalSalesPlatform manually from UI with desired TnC.
The issue of publications using SSOR authentication taking too long to load SubCon Sites has been resolved. This delay was primarily because of an additional API call triggered by an internal cookie with an empty value. With the issue resolved, it is now possible to log in to the My Account pages of publications using SSOR authentication without any delays.
This fix is also merged to 3.16.1.3 & 3.16.2.5.
Self-Service, SolCon
The user received an error message stating 'The entered payment information was not accepted' when attempting to complete a payment from the Subscription Panel. This issue has been resolved now. The root cause of the issue was missing billing information provided to the payment gateway. The issue was resolved once that information was provided.
A new Api setting key has been added, ‘CyberSource.DefaultCurrencyCode’ with USD as default value (Mediagroup Null, Clientcode Null, PaperCode Null). ->This setting will be used as a fallback if no CurrencyCode is being sent from the consumer application to the API.
The Api setting key ‘UpdateProfileForThridPartyPurchase’ should have the value 0. (For CyberSource integration there is no need to update the payment profile as part of the purchase flow. With this setting, profile update step can be skipped.)
The issues with redeeming Coupon Codes (One-time and Multi-use) in the Subscription Panel have now been resolved.
Implementation Notes:
The "Require Code for Access" checkbox should be unchecked in versions higher than 3.16.3.
This fix is also merged to 3.16.2.6 and 3.17.0.
The Terms & Conditions content added under Exception (SolCon > Offer Group > Terms & Conditions > Exception) for publications was not displayed correctly wherever the offer was displayed through consumer applications (Subscription Panel and SubCon Site). Instead of the Exception Terms & Conditions content, the original Terms & Conditions content appeared on the client pages. This issue has been resolved now.
This fix is also merged to 3.16.2.6.
Subscription Panel, SolCon
The Newstart InApp flow has been modified to allow new Subscriptions created on external consumer applications to send a StartDate in the past. Validation checks have been implemented so that the InApp newstart flow will accept past dates but not null values. Implementation Notes:
For each client, the MG2 Control flow setting, "Flow.Purchase.InApp.Redirect," must be set to "0" in order to process any InApp purchases.
Previously, when creating InApp purchases, only FirstName and LastName were included in the input model as part of the GoogleInfo object.
Since not all external consumer apps provide these two fields, changes have been made to include the Subscriber object in the input model, exactly as the regular Newstarts in Purchase API does.
The Subscriber object will include the following fields:
FirstName
LastName
Title
CompanyName
CompanyType
Country
Phone
For InApp subscriptions, the "AutoRenewing" property of the external market receipt (Google, AppleV1, or AppleV2) will now be used to populate the EZPayFlag column when creating a subscription record.
Note: Regardless of the EZPay value that is defined at the Offer level in SolCon, the EZPayFlag value for InApp will be completely based on the external market receipt.
A new endpoint, Subscriptions/{SubscriptionId}, has been introduced in this release to fetch subscription statuses. Previously, the status was retrieved through the microAPI endpoint -subscriptionLive/{SubscriptionId}, which could only return statuses for subscriptions in circulation systems and would return a blank status for inApp/SwG subscriptions without circulation system dependencies.
The new endpoint, Subscriptions/{SubscriptionId}, retrieves the status from the circulation system or, when applicable, from Subscribe DB. This ensures that, during a Subscription search Start call, the Subscription Status is consistently returned and displayed in SubCon Admin, even for subscriptions not part of any Circ System and only available in Subscribe DB.
The field 'Subscriber status value' in the Account information tab of SubCon Admin will now derive its value from the "Subscriptions/{SubscriptionId}" microAPI after clicking Start call on the Subscription search screen.
Creating new offers with the payment method 'Subscribe with Google,' (offers with a product do not present in the Subsvc Google tables) used to result in validation errors. To streamline the process and remove the overhead, the dependency on Subsvc tables during the creation or retrieval of Subscribe with Google (SwG) offers has been removed, as these tables are not utilized elsewhere in the current workflow.
Users can now create new SwG Offers without relying on SubCon Google tables (GooglePublication, GoogleProduct, and Product_GoogleProduct) in Subsvc. The SwG carousel shows these offers and end-users can successfully purchase the subscription.
Note: If an offer has been published and additional divisions have been added later, the SKU for the newly added divisions will not be saved. As a result, before publishing an offer, please make sure that all of the required divisions have been added.
Payway now supports secure tokenization of Merchant Tokens (MPAN—Merchant Pay Account Number) for Apple Pay transactions. Since Device Tokens (DPAN—Device Personal Account Number) are associated with the user's device, when the subscriber upgrades their Apple device, the DPAN changes, and the existing EZPAY tokens registered to the old device become invalid, resulting in the failure of renewals. MPANs offer a solution to the issue with the DPANs. Since tokens are associated with the merchant rather than the device, subscriber device upgrades do not affect the validity of the tokens, and renewals can be processed successfully.
Changes have now been made to the Subscription Panel so that when purchasing a subscription through ApplePay Payway, the request to ApplePay will now be submitted as Merchant Tokens (MPAN) instead of Device Tokens (DPAN).
The PurchaseAPI has been modified to support the usage of Apple Pay Merchant Tokens (MPAN) in addition to Device Tokens (DPAN).
Note: Currently, the MPAN identifier is not sent to circulation systems. The transaction will work as MPAN but won’t be identified as one. This feature will be made available in a future release.
Pre-requisites:
To utilize MPAN transactions with Apple Pay, make sure that the system meets the following requirements:
macOS: Version 13 or above is required.
iPadOS: Version 16 or above is required.
iOS: Version 16 or above is required.
Implementation Notes:
The following key can be configured if a client prefers for ApplePay to display a localized billing agreement and a description of the recurring payment on the payment page before the user approves the payment. If the value has not been defined for the key, it will consider the specified default value.
A new "Constants" key has been added under the "ApplePay" key in the SP config file for implementing the MPAN. config.ThirdPartySystems -> ApplePay -> Constants
Under this key, customers can set the values for the two string key objects based on their requirements. The keys are as follows:
PaymentDescription: 'String value' A description of the recurring payment that Apple Pay displays in the payment sheet. Default value: "Billing Message"
BillingAgreement: 'String value' A localized billing agreement that the payment sheet displays to the user before the user authorizes the payment. Default value: "Billing Agreement"
Recent versions of the Safari browser introduced a new feature called Intelligent Tracking Prevention (ITP). ITP is designed to prevent websites from tracking user activity across multiple websites. By default, ITP is active or enabled on the Safari browser. These advancements in user privacy controls of browser adversely impact the user experience by preventing access to third-party cookies. Following this update, the Mac users on Safari browser were experiencing issues while logging into the self-service portal. Auth0 integration was not working on Safari browsers when Intelligent Tracking Prevention was enabled.
To overcome this issue, starting from this release, the Self-Service portal has successfully upgraded the Auth0 SDK from 1.8.0 to 2.1.3. Changes have been made in SS to accommodate Auth0 2.1.3 SDK.
After the enhancement users now have a smooth login process ensuring a better user experience even if the Intelligent Tracking Prevention is enabled on their Safari browsers of Mac systems.
This fix is also merged to 3.16.2.6.
When searching for an account number in the SubCon Admin, the Subscriber Status was not displayed, and a Subscribe API error message "Get subscription's information failed" was returned. This occurred because the Get Subscription Live API received the expiration date information from the Circ system in the dd/mm/yyyy format, when the Subscribe expected the format to be mm/dd/yyyy.
This issue has been resolved, and the date format used while parsing the expiration date returned in the Get Subscription Live endpoint will now be determined by the value defined in the MG2 Control API Internal Setting InputMonolithDateFormat.
Note: For versions 3.17.0 and above, the date format will be taken from the MG2 Control API Internal Setting DTI.Monolith.InputDateFormat.
When the CSR user clicked on the Start call button, the Subscriber status brought by getsubscriptionbyid micro-API was In Grace Period instead of In Grace. When the same action was repeated once more after closing the screen, the response was updated correctly in the 'Subscriber status' field. This behavior has been corrected now. After the resolution, if a subscription is Active in Subsvc, but in Grace period in NCS circulation system, the micro-API now correctly returns "In Grace" instead of "In Grace Period" as Subscriber status.
When a subscription was purchased through SwG, the Start Date displayed in SubCon Admin (Subscription search > Start call > Account information tab > Subscription start date) did not match the Start Date in the database. This issue has now been resolved.
The issue with the scheduled tasks failing to run to either retry the notifications or change the subscription status, even though set up to run every day for InApp, has now been resolved.
Task Client and Hangfire server schedules, as well as process tasks, will now be filtered according to the queue name. In addition, automatic startup and processing of tasks have been implemented on the Hangfire server in the OnPremise API.
The issue with the Cybersource gateway rejecting payment authorization attempts due to ApplePay integration not sending CountryCode to CyberSource has now been resolved.
When creating a new start for an Australian address in the Self-Service Portal, the addSubscription failed with the error message "Child Event: PAYMENTNEWSTART failed." No value was given for the mandatory field, TranDate." This occurred because the date format sent to the Circ system was in American (mm/dd/yyyy) instead of Australian (dd/mm/yyyy).
This issue has been resolved, and the date format for the TranDate will now be determined by the value set in the MG2 Control API Internal Setting InputMonolithDateFormat for versions up to 3.16.3. For Australian addresses, the value of the InputMonolithDateFormat should be set to dd'/'MM'/'yyyy.
Note: For versions 3.17.0 and above, the date format for the TranDate will be taken from the MG2 Control API Internal Setting DTI.Monolith.InputDateFormat.
POST Payments/CircAPI
POST Billing/{subscriptionId}
POST DeliverySchedules
On the Autopay signup page, when attempting to sign up for the Autopay payment option, the ‘Complete EZ-Pay Sign Up+’ button remained disabled even after entering the credit card details. Consequently, users were unable to proceed with the Autopay sign-up process. Additionally, the Amount field displayed a message stating, “There are not autopay options”. This issue has now been resolved.
When a logged-in user navigated to the Myaccount page in the Self-Service portal, they were unable to see their own account information. Instead, the Myaccount page displayed information from the previous logged-out user. This issue has been resolved now.
This fix is also merged to 3.16.2.6.
Post client upgrade to version 3.16.2.4, the logged-in user from .com site was unable to navigate to the Myaccount page in Self-Service portal in the logged-in state. The user could only login at the self-service portal when the value of cookies/cache was cleared. This critical issue has been resolved now.
This fix is also merged to 3.16.2.6.
The user was displayed with error messages when trying to make payments with a credit card for Autopay manage after entering the payment info and clicking on the Save button. This issue has been resolved now. After the fix, the user is now able to complete payment flows successfully without encountering any error messages.
The user was receiving an error message stating “Address Second Pass” while changing the address from SubCon Site. This issue has been fixed now.
While updating the address from the SubCon Site, users were encountering an error message stating, “Failed to get external address id.” This issue has been resolved.
After the fix, the user now receives the validation message, “Address has been successfully changed”. The pending address moves are also displayed under Scheduled Moves section correctly.
Previously, certain predefined Rate codes in SolCon were not being stored or displayed in the corresponding field after selection from the drop-down. This issue caused the drop-down field to go blank, specifically for rate codes that contained special characters. Following the fix, users can now successfully select Rate codes and display them in the field, enabling their use in offers.
When editing an Offer group, if the new Terms & Conditions content was added under Exceptions (SolCon > Offer Group > Terms & Conditions > Exception) after unlinking the original Terms & Conditions, then the ‘Cancel’ and ‘Save As New’ buttons were not working. This issue has been resolved.
The issue of incorrect paper code being passed to the circulation system for a Publication has been resolved. This issue was particularly observed when there was a mismatch in the values of NS_Paper_Code and paper_code of a publication.
When trying to reprocess a SUBSCRIPTION_PURCHASED notification in the Self-Service Portal, the issue that caused the Webhook API (POST /Notifications/{id}/Retry) to fail has now been resolved.
The issue with the delayed synchronization of subscription status between SubCon Admin and Google Play Console has been resolved. Now, when a user refunds a Google subscription (via Google Play Console >> Order management), the Subscription_Revoked notification triggers in the SubCon DB on the same day, updating the subscription status to 'Stopped' in SubCon Admin immediately. The DateStop is correctly set to the refund date, ensuring accurate reflection of the refund status and stopped date in both SubCon Admin and Google.
API, Self-Service Portal, SubCon Admin, Subscription Panel, SolCon
The Identity provider Auth0 has introduced a new Universal login experience for its clients. Starting from this version, Subscribe supports both Classic and new Universal login of Auth0 through the Self-Service portal. However, there will be no visual changes for the user.
This enhancement is also merged to 3.16.2.7.
Previously, the recurring tip checkbox was unavailable on the 'Add a Tip' page (/autopay/addtip) of the Self-Service portal. This issue has been resolved. Following the fix, the checkbox will be visible below the payment field on the 'Add a Tip' page based on the internal configuration setting.
The user session in the Subscription Panel was getting lost for a specific client. The issue was identified as related to a third-party JS library integration and now it has been fixed. Note: This issue does not apply to all the clients but only to specific ones using the third-party JS Library.
Applications Covered:
SubCon Site, Subscription Panel
Starting from this release, the validation that prevents InGrace users with ExpireDate in the past from canceling their subscriptions has been removed. The subscribers will be able to cancel their subscriptions even if their subscriptions are in a grace period regardless of the expiration date being past/future. Cancelling a subscription will not have any dependency on the expiration date.
The Title property of the 'ApplePay Braintree V3’ component has been changed from 'HTML type' to ‘text type'.
This fix is also merged to the 3.17.0.1 release.
The Braintree-web library and other Braintree scripts have been upgraded from version 3.62.0 to the latest version, 3.100.0. There was a known issue in the Braintree SDK where the Cardholder Name field appeared as a numeric field on iPhones. This issue has been resolved in the newer versions of Braintree. The SDK upgrade has successfully addressed this issue in SubCon Site.
The 'Cancel subscription' button was disabled and unclickable for users on the Stopsaver page, preventing them from canceling their subscription and completing the flow. This issue has been resolved. Following the fix, the 'Cancel Subscription' button is now accessible on the Stopsaver page and it is functional.
After redeeming a gift, when an existing user clicked on the 'Sign in' button and entered the previously used credentials, they were prompted to verify the account in order to sign in to the SubCon Site. This issue has now been resolved.
Updated on 17 Sep 2024.
The encoding of special characters has been removed due to issues arising when the rate code length exceeds 20 characters in the circulation system after encoding.
The transaction failed when a user attempted to purchase a subscription using ApplePay via Braintree, and an error message was displayed. This issue has now been resolved. After the fix, users can successfully complete their subscription transactions through the Subscription Panel using ApplePay via Braintree, without encountering any error messages.
Application Covered:
API
Updating an existing Sales Team with a large data set (such as adding many offer groups and/or team members) was causing time-out errors. The Sales Teams update functionality has been refactored to address this issue for performance enhancement.
There are no functional changes. It is now possible to successfully update large numbers of offer groups or sales team members within existing Sales Teams without encountering time-out errors. After the refactoring, the performance has significantly improved while updating the sales team.
This fix is also merged into 3.17.0.2, 3.17.1 & 3.17.2 releases.
Recently, major browsers have introduced additional security measures and constraints related to third-party cookies, as well as cross-domain data transfer and communication. The latest release of Chrome no longer supports third-party cookies. These were impacting the functioning of the Landing application and user experience negatively. Despite the implementation of workarounds, users were encountering issues in the sign-in flow at times.
Therefore, starting with this release, the sign-in logic for the Landing application has been revised without significantly affecting the existing functionality and behavior. The previous dependency on local storage has been replaced, and a Redis caching approach is now implemented for the users to sign in on the Landing application for accessing consumer applications (SubCon Admin, SolCon & CMS).
Following the new implementation, users can access any consumer application only through the Landing application.
If a user has opened different consumer applications on different tabs in a browser, logging out from one application will force the user to log out from the other opened applications as well. The user will regain access to the application only by signing in through the Landing application.
Page refresh will work as before and have no impact following the redesign.
Multi-Factor Authentication (MFA) with Okta will also work as intended if the feature is turned ON for the specific client.
There is no dependency on third-party cookies related to the Landing application, and the landing works perfectly fine on Safari, Firefox, Chrome, and Edge browsers.
Consumer applications are no longer dependent on Local storage to fetch data.
The CMS Idle Time functionality, which notifies the user if they have been inactive on a CMS page for an extended duration and provides the option to either continue or exit from the page, is working as before.
For a seamless user experience and as a best practice, please do not disable cookies in your browser.
This fix is also merged to 3.16.0.15, 3.16.1.10, 3.16.2.8, & 3.17.0.3 releases.
This intermittent issue was specific to Apple's in-app purchase. When users purchased subscriptions through the Apple app (V1) via in-app purchase, the corresponding transaction was not reflected in the Subscribe database, and the user was unable to access the website. The issue occurred because Apple was intermittently sending receipt tokens larger than the int32
data type could handle. This has now been resolved. After the fix, Apple V1 in-app purchases are correctly updated in the Subscribe database, and users can access the website without issues.
The encoding of special characters has been removed due to issues arising when the rate code length exceeds 20 characters in the circulation system after encoding.
This fix is also merged into the release 3.17.0.2.
Applications Covered:
API, SolCon
Following an urgent update regarding the P12 merchant file for Cybersource keys, Subscribe will now send Password, Filename, and Merchant ID to ensure successful payment transactions with the Cybersource payment gateway. Previously, only the Merchant ID was included in the Cybersource request.
Note that the Merchant ID and Filename values remain the same in the Cybersource request.
Implementation Notes:
A new Api setting key CyberSource.Password has been introduced to get the Cybersource password from MG2 database.
This fix is also merged to 3.17.0.3 release.
When a user tried to pay the subscription amount via Apple Pay with American Express credit card, the transaction failed. This issue has been resolved. After the fix, user can successfully purchase a subscription with American Express credit card via Apple Pay.
This fix is also merged to 3.17.0.4 release.
Application Covered: API
Users who successfully purchased subscriptions via In-App Apple Pay and were created in Subscribe did not gain access to the website. This issue was due to the large download_id sent by Apple Pay, which led to incomplete user details being recorded in Subscribe and thus preventing website access.
This issue has been resolved. After the fix, the details of successful In-app Apple Pay subscriptions are now updated correctly in Subscribe, ensuring that subscribers gain valid access to websites as per their subscriptions.
This fix is also merged into the 3.17.0.4 and 3.17.1.1 releases.
Application Covered:
API
This page has high-level Release notes for the major 3.17.0 Release
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
IMPORTANT!!
If you are upgrading to Subscribe version 3.17.x and utilizing the Subscribe /Authenticate, /DigitalAccess or other endpoints in the Billing, Users, and Entitlements micro APIs, then there are breaking changes. For the full list of changes, please review the API Migration .
Clients are also requested to validate their OI & Discover loads to avoid any issues following schema changes in the database.
With the 3.17.0 version, Subscribe has been integrated with Naviga Pay, making it easier to add additional payment gateways in the future. In addition, when payment is made with a credit card, the surcharge amounts can now be included. The Active Subscription Check approach has now been enhanced by including more parameters under a new section, Search Criteria. For Matrix clients, Country-Only Starts are now supported, and it is also possible to Restart a subscription at a future date.
This release also comprises a variety of enhancements to the SubCon Site (Self-service), One-CSR Portal, Solicitor Concierge (SolCon), CMS Content, and Subscription Panel modules and introduces a set of new APIs.
Additionally, this release also contains important bug fixes in various modules of the application.
The release notes for the internal stakeholders can be found in (access required).
This release has an issue with the Tax amount in the Subscription Panel when a user switches from one payment method to the other, such as from Credit Card to Bank Draft. The fix is part of 3.17.0.3.
Note added on 13 Sep 2024.
This version does not support the DSI (Saxo) Circ System.
From this release, Subscribe has integrated with NavigaPay. NavigaPay is a payments orchestration software which provides a unified software layer (payment orchestration layer) that integrates and manages payments across multiple payment service providers. The Subscribe integration with NavigaPay allows for unified management across multiple payment service providers, ensuring reliability and convenience for Subscribe customers. With the introduction of this new feature, the additional development effort required whenever a new payment vendor has to be integrated with Subscribe will be very minimum.
In this release, Subscribe has successfully integrated with the payment vendor Payway (Edgil) through NavigaPay, where NavigaPay serves as a centralized API layer.
Payway (Edgil) is integrated for One-CSR Portal, Self-Service Portal and Subscription Panel.
Only Credit Card (CC) Integration is supported for Payway via NavigaPay. Currently, Bank Draft (ACH) is not supported via NavigaPay. However, the existing Bank Draft feature through flat files via Circulation systems will continue to work as is.
A user can initiate various payments (Restart, One-time payment, Auto-renew (EZpay), or Add Tip) using a Credit card through NavigaPay. Once the user clicks ‘Make a payment’ button, the payment page is loaded.
During the loading of the Payment page, the Subscribe API sends a request called StartPaymentSession to NavigaPay. The payload of this call varies depending on the consumer application. Usually the payload of this call from Self-Service Portal includes SubscriptionId, CustomerRegistrationId, PaymentType, etc. whereas the payload from One-CSR Portal includes SubscriberId, SubscriptionId, PaymentType, AccountNumber, etc.
NavigaPay sends IFrameUrl of the payment provider in response.
Self-Service Portal, One-CSR Portal or Subscription Panel (as applicable) then renders the secure URL received from the StartPaymentSession response within an iFrame of the payment provider. This page will be a hosted page.
The user enters their credit card details on the hosted page (including all sensitive information) and clicks the Submit or the equivalent button as the case may be.
The NavigaPay server then returns the details such as ProfileId (the token), GroupId, and PaymentType with other details to the consumer application (One-CSR Portal, Subscription Panel, or Self-Service Portal). The token received is the authenticated approval token from the payment provider that officially allows the payment transaction with the payment provider. This is called Tokenizing credit card.
Upon receiving the token, consumer application initiates the API request called EndPaymentSession. The payload of this call includes ProfileId, GroupId, PaymentType along with other consumer application-specific data.
A new endpoint, POST /Authorization
, has been developed for creating an authorization request based on the input parameters ProfileId
(User ID associated with the transaction), TransactionAmount
(amount of the transaction, which should be greater than zero), and PaymentType
(type of payment: Credit Card, Bank Account, etc.).
A new endpoint, POST /Capture
, has been developed to capture a payment transaction based on the input parameters TransactionID
(the transaction ID obtained in the authorization request) and the PaymentType
.
A new endpoint, POST /Sale
, has been developed for creating a sale transaction, which involves creating an authorization request and capturing the payment transaction based on the input parameters ProfileId
, TransactionAmount
, and PaymentType
.
A new endpoint, GET /Profile
, has been developed for retrieving a user's profile details as well as payment information based on the input parameters ProfileId
, GroupId
(Optional, Group ID of the User associated with the transaction), and PaymentType
.
A new endpoint, POST /Session/Start
, has been developed to initiate a new session based on the iFrame URL configuration.
A new endpoint, POST /Session/End
, has been developed to terminate a session following the verification of the provided input parameters ProfileId
, GroupId
, and PaymentType
.
The NavigaPay API has now been successfully integrated with all the payment gateway-related operations, such as Single payments, New starts, EZPay, Restarts, and Tip, allowing NavigaPay to be utilized as a payment gateway.
Authorization and sale transactions processed using NavigaPay will now send the value defined in the MG2 Control API Internal setting "NavigaPay.StatementDescriptor" in the StatementDescriptor field. A new MG2 control internal setting, NavigaPay.StatementDescriptor, has been introduced for setting the description of charges or payments that should be displayed on bank statements.
The users can configure the properties for SP Newstarts by going to:
CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > PaymentMethodsV3 > NavigaPay Payway V3
"The 'ErrorOnLoadMessage' property has been removed from the 'NavigaPay Payway V3' component. Although this property is available in the standard Payway integration, it was not included in the Payway NavigaPay component due to its lack of support by NavigaPay. that context. Consequently, the property has been removed from the 'NavigaPay Payway V3' component."
Implementation Notes:
Starting from this release, there is a requirement of the integration of credit card processing fee to the payment details, if the payment method selected is credit card. To suffice this, Payment page has been revamped to be a wizard presentation. The new payment wizard can submit all the payment variables in a single iFrame as required. The new payment wizard first collects all payment details and then completes the payment process in three different steps as follows:
Gathering information step
Showing payment details step
Final printable payment summary step.
Starting from this release, NCS clients will be able to charge a processing fee over the total amount if the customer makes payment through Credit Card. For other mode of payments, the processing fee is not applicable. The charging of processing fee can be set on or off using the MG2 Control Api setting key Billing.CreditCard.ProcessingFee.Enable.
In this release (Phase 1), if the MG2 control key is enabled, the credit card processing fee will be applicable as follows:
New starts via Subscription Panel
One-time payments
EZpay payments
Restarts via Self-Service Portal
Additionally, it will be possible to define the percentage of processing fee that can be applied on the overall amount using the MG2 control Api key Billing.CreditCard.ProcessingFee.Percentage when a user is transacting via Credit Card.
A tax on processing fee has also been introduced in this release and it will be configurable via MG2 Control Api key Billing.CreditCard.ProcessingFee.Tax.Enable. The percentage value of the tax will also be configurable via MG2 Control Api key Billing.CreditCard.ProcessingFee.Tax.Percentage.
The tax on Processing fee has been implemented from a future perspective. NCS does not support Tax on processing fee as of now.
If the processing fee is enabled via MG2Control for a client, it will be applicable to all offers of the client if the customer chooses to pay via Credit Card.
The processing fee will be calculated on the total amount a customer has to pay (rate + tax i.e. including taxing and any other applicable fee, tip, etc). On top of it, if tax on processing fee is also applicable, it should be calculated on the processing fee.
Credit card processing fee notifications to the user
When a customer selects credit card option for payment, they will be informed with a message on Self-Service Portal below the payment summary, about the processing fee being charged because of their selected payment method. Two CMS contents ProcessingFee.OneTime.Message and ProcessingFee.Recurring.Message have been introduced where the information messages can be configured for one time and recurring payments.
One-time payment in SS:
In the first step (gathering information step), select a payment option with Term and Amount. Choose the option of leaving a tip and making a donation, opt or not for EZpay, and also select the payment method from Credit card and Bank account options.
In the next step, all payment details will be displayed, including credit card processing fee (if applicable for the client). Payment method details (Credit card details or Account details) will also be collected.
In the final step, the wizard displays the printable payment summary. In One-time payment, the Processing fee notification to the user set up in ProcessingFee.OneTime.Message will be displayed only if Processing Fee > 0.
For Restart payment (on Restart page), the restart date is also collected in step1 along with other details (Payment option, Tip, Donation, & Payment method type). In this flow, step 2 (displaying payment details) can be skipped if the user has nothing to pay. In such cases, if the subscription has a credit balance, it will be deducted from Total resulting in TotalAmount to be paid as 0, indicating nothing to pay. In step 3, the user will be displayed a printable payment details summary including processing fee if the payment method is credit card.
During Restarts, the notification message set up in the ProcessingFee.OneTime.Message will be displayed only if Processing Fee > 0. The ProcessingFee.Recurring.Message will be displayed if the selected Payment Option forces EZPay Sign Up.
EZPay Sign Up:
For EZPay payment (on AutoPay SignUp page) the Processing fee will be calculated only if the subscription has an Outstanding Balance (the subscription has a debt to be paid) and the payment is done through credit card. The processing fee will be calculated over the outstanding balance. In Step 1, AutoPayOption, Tip, Donation, Terms and Conditions, and Payment method type will be collected from the user. The Processing fee and Processing fee tax (if applicable) will be calculated and displayed in Step 2. The final printable payment details including processing fee (if any) will be displayed in step3.
Note that if there is no outstanding balance, processing fee will not be considered for EZPay sign up workflow.
During EZPay sign up, the notification message set up in ProcessingFee.Recurring.Message will be displayed always. The ProcessingFee.OneTime.Message will be displayed only if Processing Fee > 0.
For Tips payment (on AddTip page) the Processing fee will be calculated over the Tip amount being paid (only for one-time Tip with Non-EZPay payment) through credit card. In step1, the Tip amount is collected along with the payment method type. If it is credit card, then in the second step, Processing fee and the tax (if any) will also be displayed along with the payment method details. If the payment is recurring (EZpay checkbox is checked), this second step will be skipped. then in the final step, all the payment summary will be displayed including processing fee. If the Tip payment is just one time, then the ProcessingFee.OneTime.Message will be visible only if Processing Fee > 0. If the Tip payment is recurring, then the ProcessingFee.Recurring.Message will be displayed.
During any payment flows, a user can navigate from one step to the next step by clicking the Next or Ok, and to the previous step by clicking Back buttons displayed in the wizard.
Implementation Notes:
New CMS contents Step.Next, Step.Back, ProcessingFeeAmount.LabelText, ProcessingFeeTaxAmount.LabelText, PaymentMethod.CreditCardText, PaymentMethod.BankAccountText, AddTip.TotalAmountText, SelectOptionStep.Title, SelectOptionStep.Description, PaymentInfoStep.Title, PaymentInfoStep.Description, ConfirmStep.Title, ConfirmStep.Description have been created.
New CMS contents ProcessingFee.Recurring.Message and ProcessingFee.OneTime.Message have been introduced for Payment, AutoPaySignUp, SubscriptionRestart and AddTip payement workflows.
Subcon.Configuration: "DisplayPayButton" property has been removed from Payment page. “RenewalOptionsSection” is also deprecated. Both were under the SubcriptionRestart module.
If the processing fee property has been enabled in CMS, SP will now pass on the processing fee amount received from the Subscriptions API, CalculateSubscriptionCost, along with the amount charged, to the Purchase microAPI applicable for the credit card payment method.
The Input Box properties, "Disclaimer.Message" and "Disclaimer.Show", have now been included in the User Information V3 and Payment Methods V3 components.
If the "Disclaimer.Show" property is enabled (set to ON) in CMS, the Disclaimer Message will be displayed on the applicable sections of the Subscription Panel page based on the value defined against the "Disclaimer.Message" property. If the property has been set to OFF, the disclaimer message will not be displayed.
In addition, the disclaimer message, if turned ON, will only be displayed on the payment method screen if the selected payment method is a Credit Card. This functionality is applicable for Seamless flow as well.
Two new properties, "CreditCard ProcessingFee Show" and "CreditCard ProcessingFee Title," have been added to the StickyNoteV3 and StepV3 components.
If the "CreditCard ProcessingFee Show" feature in CMS has been enabled (set to ON), the Processing Fee will be displayed on the Subscription Panel page when the payment method selected is credit card. The CreditCard ProcessingFee Title property allows users to change the title of the processing fee that appears on the Subscription Panel page. The processing fee will not be displayed if the property has been set to OFF.
In addition, if the ProcessingFee property has been set to ON, it will only be displayed on the payment page if the payment method selected is a Credit Card.
The processing fee for a payment will be calculated using the Billing API, CalculateProcessingFee, and the total payment amount, including the processing fees for the chosen offer and product, will be calculated using the Subscriptions API, CalculateSubscriptionCost.
Note:
If the user wants the processing fee, the "processingFee" property in CMS must be enabled in all StepV3 and StickyNoteV3 components.
If the processing fee is not required, the "processingFee" property should be disabled in CMS for all StepV3 and StickyNoteV3 components to ensure consistency across all of the steps.
In CMS, the Processing Fee property should be set to either ON or OFF.
The user can configure the properties by going to:
CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > Processing Fee property
CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > StickyNoteV3 > Processing Fee property
CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > UserInformationV3
CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > PaymentMethodsV3
The credit card processing fee/tax on processing fee can be explicitly displayed in email payment receipts to the customer.
To achieve this functionality, the fee has to be configured as a parameter (SurchargeAmount) in the Credit Card Payment event type email. (The SurchargeAmount is a column from the Event_log table.)
How to configure the Credit Card Payment event type email?
Navigate to One-CSR Portal > Event Management > Event types emails
Filter the search by the option Event type ID and enter ‘30’ in Contains field.
Click Search > Edit on the search result grid.
Click tab Customer emails. Select Templates > Credit Card Payment Receipt.
Click Edit and add the required details and Save.
When a payment is done via Credit Card with Processing Fee settings enabled and the receipt mail successfully configured, the processing fee amount will be reflected in the payment receipt email as shown below:
Note: For Subscription Panel New start, the SurchargeAmount (processing fee) will be captured with event_type_id 3. For transactions conducted through SubConSite, the event_type_id will be 30.
Clients have the option to enable the addition of a surcharge or additional fees when a subscriber pays with a credit card, based on the value defined in the MG2 control settings. The Billing API now includes a new endpoint, POST /Billing/CreditCards/ProcessingFee
, for calculating the processing fees that will be charged to the user based on the payment amount for a credit card transaction.
The Purchase API endpoint, POST /Purchases
, has been modified to add two new input parameters, ProcessingFeeAmount and ProcessingFeeTaxAmount, which allow the credit card surcharge amount to be passed on to the NCS Circ system.
The POST /Payment
, POST /Payment/Restart
, and POST /Payment/Tip
endpoints have been modified to add two new input parameters, ProcessingFeeAmount and ProcessingFeeTaxAmount, to send the surcharge amounts to the NCS Circ.
The surcharge amounts are only applicable for the Payment Type of Credit Card; providing any value for this for any other Payment Type will result in an error.
The POST /Subscriptions/Cost
endpoint has been modified as follows:
A new input parameter, PaymentTypeId, has been added to represent the Solcon Payment Type. (1 - CreditCard, 2 - BankAccount, 3 - Cash, 4 - Check, etc.)
If processing fees are applicable or have been enabled in the settings for a credit card payment method type, the output parameters ProcessingFeeAmount and ProcessingFeeTaxAmount will now be included in the response.
If an activation fee has been setup for an offer, the activation fee output parameter will always be included in the response, regardless of the PaymentTypeId in the request.
Implementation Notes:
Four new internal MG2 control settings for calculating processing fees have been introduced.
Billing.CreditCard.ProcessingFee.Enable - Enable (1) or disable (0) the addition of processing fees.
Billing.CreditCard.ProcessingFee.Percentage - The percentage of the transaction amount that will be applied as the processing fee. For example, the client should set the value to "10" for 10% and "10.5" for 10.5%.
Billing.CreditCard.ProcessingFee.Tax.Enable - Enable (1) or disable (0) whether tax should be applied.
Billing.CreditCard.ProcessingFee.Tax.Percentage - Tax percentage to be applied.
Pre-Requisites:
Circ System & Minimum Supported Version: NCS Circ, 2018
Previously, Subscribe allowed users to create a subscription by validating their addresses using three different options: either providing their delivery address, their billing address, or just entering their zip code. Recently, Subscribe has been updated to allow the creation of digital subscriptions for Matrix clients, with just the Country field as the minimum address requirement.
The Purchase API has been updated to enable Matrix clients to purchase subscriptions by only providing the Country as the address information. In the Matrix ADDADDRESS event, if just the Country has been entered as the address, the Address will have the House number as Null (0), the Country Code will remain as the provided Country Code, and the Street Name will be Country Name.
Note:
Country-only Starts flow for Matrix will also work on Seamless flow.
If a country-only address has been provided for a non-Matrix client, a validation error will be returned, but the flow will continue to be executed for Matrix clients.
Implementation Notes:
The user can configure the property by going to: CMS > Subscription Panel > Presentation > Choose a valid presentation
To display the Country drop-down in the country-only start flow for Matrix, set the ‘IsInternational’ property in the Presentation Properties V3 component to ON.
In Country only start flow for Matrix, properties related to Country should be ON in Billing component ('AddressLine Show', 'SecondAddressLine Show', 'Zipcode Show', 'State Show', 'PhoneNumber Show', etc. should be kept OFF).
In BillingInformationV3, the below properties should be enabled for country-only start flow for Matrix:
Country.OptionalNextToPlaceholder
Country.OptionalNextToTitle
Country.Placeholder
Country.Show
Country.Title
Country.ValidateOnFocusLost
Country.Validation.Required.Apply
Country.Validation.Required.Message
The following properties in IndependentAddressV3 should be enabled for country-only start flow for Matrix. If these properties do not exist, they must be added using the Management tool script; otherwise, they will break during the environment upgrade.
Country.Placeholder
Country.Show
Country.Title
Prerequisites:
The country-only rule must be set appropriately in the Matrix system for each country where country-only starts are allowed. Currently, the list of countries displayed in SP is not governed by the Matrix Country-Only rule. As a result of this limitation, if the country-only rule has not been enabled for any country in Matrix and the same country has been included in the list of countries displayed in SP, then the subscription will result in an error while it is being processed on the Matrix side, but no error occurs on the SP side during the purchase process.
Circ System & Minimum Supported Version: Matrix, 38.00.034.ITSP6
Starting from this release it is possible for Matrix clients to select a restart date in the future for restarting a subscription. Previously whenever an eligible user opts for restarting a stopped subscription, Subscribe MicroAPI used to default restarting date to the current date in the client’s time zone. However, with this new enhancement, it is now possible for a user to opt for a future date as well as the current date for restarting the subscription. The user will not be permitted to select a restart date lesser than the current date in this flow.
Note:
The Matrix system may fail to restart a subscription if a certain address is part of more than one delivery route.
When a Matrix user completes the payment for a stopped subscription that is intended to be restarted on a future date, the status of the subscription changes from ‘Stopped’ to ‘Active’ immediately. This was mainly due to differences in the behavior and functionality of One-CSR Portal compared to the processing system, Matrix. According to Matrix settings, even if the subscription status changes to 'Active' immediately, the subscription will ideally start for the user only on the selected date.
In Subscribe, whenever a new subscription is created, an Active Subscription Check is performed at the backend if at least oneD of the flags (No existing subscription, subscription stopped recently, No outstanding balance) is set under Subscription Validation section in SolCon. If any of the flag is set, then a new subscription can only be created if the Active Subscription Check is passed. When performing an active subscription check using the PurchaseAPI, the API currently depends on the SolCon Offer flags for Delivery Address and Billing Address (under Address Requirements). If at least one of those flags is turned on, then the API executes the full address Active Sub Check (PakHash, LastName, Phone and Product). Otherwise, it executes the Zip Only Active Sub Check (ZipCode, LastName, Phone, Email and Product).
This approach has now been updated from this release. A new section called Search criteria has been introduced in SolCon (Offer Groups > Additional Options) with some additional flag fields. New validation checks have been implemented in the existing Active sub check to not to depend on just two Address fields, but also include the flags (under Search Criteria) as stated below.
Last Name
Phone
Address
Zipcode
The users can select which flags are to be used for the Active sub check.
Note:
Since the product is always included in the search and cannot be excluded from the search criteria, it isn't displayed in the UI.
The 'Search Criteria' section will be displayed only if any of the checkboxes in the 'Subscription Validation' section are checked (one, or two in any combinations or all three))
If an Offer is not correctly set up in SolCon, the Purchase endpoint will now return a validation error. The following validation checks will be performed:
At least one of the Search Criteria flags must be enabled. If none of the search flags is enabled, then another validation message will be displayed “Please select at least one search parameter”.
Selecting Last Name alone or Zip Code alone is insufficient; any other flag also must also be enabled.
If the user selects either Last Name or Zip Code only, then a validation error message will be displayed, “Please select one more search parameter”.
Zip Code and Address cannot be enabled simultaneously.
If any single Address flag under Address requirements section is checked, then by default, the Address flag under Search Criteria will be enabled. If both Address flags are unchecked, then the Zip Code flag under Search Criteria will be enabled automatically making the Address flag disabled.
If any checkboxes were checked before they became disabled then they are considered as unchecked.
If the Phone is not available at a subscription level, we skip this check
If an existing Subscription with the same characteristics has been found in the database, the purchase endpoint will return a validation error and the purchase will not happen. For example, if the Offer has been set to check Last Name and Email and there already exists a Subscription for John Doe (email: john.doe@gmail.com), another Newstart with the same data will be rejected.
Implementation Notes:
After upgrading to V3.17.0, scripts must be executed to apply the standard Active Subscription Check logic to existing client offers. These scripts will update offers created before the upgrade to include the default search criteria. However, the search criterion "Phone" is exempted from these validations.
With this release, NCS subscribers with non-EZpay subscriptions can now pay a Tip to the publisher. If the subscription is non-EZPay, the checkbox “I want to leave a recurring tip” will be hidden from the user.
Initially, the Add Tip page was designed exclusively for EZPay subscriptions. However, starting from this release, non-EZPay subscriptions can also process a non-recurrent Tip.
Validation checks have been implemented in the Add Tip Availability API (GET /Billing/{subscriptionId}/AddTipAvailability
) to allow only EZPay subscribers to add a Recurrent Tip; however, no checks will be performed for One-time tips. One-time tips will not be acceptable for digital or stopped subscriptions, but will be allowed for Paused and In-Grace subscriptions. For subscriptions without EZPay, the recurring tip is not allowed.
With the introduction of an MG2 Control API setting key Restart.ApplyCreditBalance (with a default value 0), credit balance adjustments have become configurable for both Self-Service Portal and One-CSR Portal from this release. If the setting is turned on and the subscription has a credit balance (user owes money from the publisher), that balance will be displayed in UI and will be deducted from the TotalAmount to be paid. If the setting is turned off and the subscription has a Credit balance, that balance will NOT be displayed in the UI and the total amount remains the same without any deduction. If the subscription has no balance, or has negative balance (customer owes money to publisher), the debt will be paid in the Restart payment transaction.
While submitting payment request during Restart flow, a new API key Restart.ApplyCreditBalance will be considered in the TotalAmount calculation logic as follows:
If the setting is turned on and the subscription has a Credit balance (positive amount), that balance will be deducted from the TotalAmount.
If the setting is turned off, the Credit balance will not be considered in TotalAmount calculation.
Regardless of the value in the setting key Restart.ApplyCreditBalance, if the customer has a negative balance (i.e if they need to pay the company), the balance amount will be considered for TotalAmount calculation. The balance will be added to the TotalAmount to be paid.
If the total amount to restart a subscription (Restart+Tip+Donation) is less than or equal to available credit balance, then One-CSR Portal will allow a CSR/user to submit the restart request without payment.
In this special case, the payment iFrame will be hidden and other payment buttons such as Pay with credit card (or Bank Account) will be disabled. Only the action buttons Submit Restart and Cancel will be enabled. On clicking Submit Restart, the restart request will be submitted to microAPI and ultimately to the corresponding circulation system. On clicking Cancel, the current transaction will be cancelled as it is now. This special case works only if the MG2 setting Restart.ApplyCreditBalance is turned on.
If a subscription with a positive credit balance has been Permanently Stopped, the remaining balance will either be donated or refunded, and the subscriber has to pay the full amount when restarting the subscription.
This is applicable to NCS and Matrix clients as of now.
Implementation Notes:
New MG2 Control setting key Restart.ApplyCreditBalance has been introduced with default value 0 (FALSE).
A new menu option, Household Level (HHL), and a corresponding page, have been introduced in One-CSR Portal to facilitate the management of various Household levels for clients. With this enhancement, CSR Admin/users can now edit the description of a Household level, providing a meaningful explanation to each Household level.
This new page is accessible under the Client Management menu option in the sidebar. The enhancement aims to assist clients in understanding the meaning of each HHL through its Description. Moreover, users have the flexibility to edit the description for added clarity. The description feature has been incorporated in all instances where clients are prompted to select an HHL or where an HHL is displayed, enhancing its significance. Examples include the Subscription search screen, Entitlements screen, etc.
You can filter and search for existing Household levels using either the 'Description' or 'Household level' by selecting the appropriate option in the 'Filter by' drop-down. If you're filtering by 'Description,' enter any word in the 'Contains' field and click 'Search' to list all Household levels with that word in their description. If you're filtering by 'Household level,' enter a numeral in the 'Contains' field and click 'Search' to list all Household levels in the Search result grid that contain the entered numeral in their ID.
A ‘Show only active’ checkbox is also available to further refine the search results.
You can edit the Description of any Household level by clicking the 'Edit' button next to the Household level displayed in the search result grid. The maximum allowed character limit for a description is 50.
Household level description will be now available wherever Household level is displayed in the application.
For example, in One-CSR Portal: 1. Account information tab of the user (Subscription Information > Subscription search > Enter search criteria > Search > Start call) 2. Entitlement details screen (Client management > Entitlements > Entitlement details > Edit > Access section)
If a Household level has no description, the description field of the corresponding HH level will be blank.
In cases where the HH level description is displayed in a drop-down and the description is truncated, the full description will be available in a tooltip when you hover the mouse over it. Also, in a drop-down the description will now be available in the format “HHL ID - Description”.
With the new enhancement, the HHL description from One-CSR Portal will now be available at the following pages in SL:
Household levels page (Reference Tables > Household Level)
Edit Offer group page (Offer Groups > Select an offer > Coding)
Edit Offer page (Offer > Select an offer > Coding)
Changes made to a Household level in One-CSR Portal are immediately reflected in the database. However, these changes will appear in SolCon (in the above mentioned instances) only after the successful completion of the synchronization job. Thus, the HHLs in One-CSR Portal will be available in SL while creating offer groups too.
Implementation Notes:
New claim has been introduced, ‘SA_NewspaperManagement_HouseHoldLevel’ in mg2_control database.
A new row ‘Household level’ has been added to the table adm_main_menu_v2 table in Subsvc database.
The HouseHoldLevels table schema has been updated to include a new property, Description, for the household levels.
HHSubscriptionLevel is HouseHoldLevelId
The HouseHoldLevels table schema previously included HouseHoldLevelId
, HouseHoldLevel
, Active
, and Audit
fields. The HouseHoldLevelId
and HouseHoldLevel
have now been merged into a single column, and a new column, Description
, has been added, so that the HouseHoldLevels table schema now has HouseHoldLevelId
, Description
, Active
, and Audit
fields.
The Entitlements API endpoints GET /HouseHoldLevels/{houseHoldLevelId}
and GET /HouseHoldLevels
have now been modified to display the new property, Description, for the respective Household-Level Identifiers in the API response.
Implementation Notes:
The Description should be included while setting up the HouseHoldLevels.
Modified endpoints:
GET /HouseHoldLevels/{houseHoldLevelId}
GET /HouseHoldLevels
Prior to this release it was not possible to remove a Household level entry from the Access section of the Entitlement details page. Starting from this release a Delete button has been introduced against each Access level entry for all clients.
Clicking the Delete button will prompt a confirmation message with OK and Cancel options. If you select OK and then hit Save button at the bottom of the page, the deletion process will be completed. Selecting Cancel option will cancel the deletion process.
If you attempt to delete the last Access level record from the Access section, the system will display a warning message stating, ‘At least one record is required in Access levels’.
The DB changes to implement HHL management are as follows:
Changes in HouseHoldLevels
table: HouseHoldLevel
column is deprecated, Description
column added.
Change in Subscription
table: hhSubscriptionLevel
renamed to HouseHoldLevelId
A new endpoint eBill availability has been created that executes all the conditions to check whether a subscription is eligible for eBilling. A subscription will be eligible for eBilling if it is not stopped, and it is not on EZPay. As an output model, 2 flag values will be returned to indicate if the user can sign up (SignUpAllowed) or manage eBilling (ManageAllowed). In case the subscription is Stopped or if it is on EZPay, validation errors will be displayed to the user.
If a subscription is already on eBill, the flag value of SignUpAllowed will be false and ManageAllowed will be true. If the subscription is NOT on eBill, the flag value of SignUpAllowed will be true and ManageAllowed will be false.
Self-Service Portal will start using the eBill availability endpoint from this release to evaluate whether a subscription is eligible for eBilling and has enough rights to access the corresponding eBilling page (eBill Sign up page or eBill Manage page).
If a user tries to access the EBillManage page, and not subscribed to EBill (ManageAllowed flag value -> false), the user will be redirected to EBillSignUp page.
If an already subscribed user tries to EBillSignUp page (SignUpAllowed flag value ->false), the user will be redirected to EBillManage page.
If there is a validation error in the API and the error is displayed, then the user gets redirected to the Dashboard page.
Naviga Subscribe has successfully integrated with BPay, an Australian Payment Gateway starting from this release. The BPay generates a unique Customer Registration Number for its customers, and it will be displayed on Self-Service once customers link their account with their subscription.
A new API, BPay
, has been developed to handle the integration between the BPay and Subscribe.
The Post /Bills
endpoint creates a new Bill in BPay based on the below input parameters.
billerCode: The code of the biller issuer (the newspaper)
dueAmount: The amount of the bill
customerNumber: The identifier of the newspaper client. (Account number).
includesCheckDigit: If it is a customer number that has previously made a bill, set 'true'; otherwise, set 'false'.
dueDate: The bill's issuance date (dd/mm/yyyy)
generateQRCode: Optional; Set 'true' to add a base64 QR code that represents the bill in the response body.
qrCodeImageType: Optional; The variable that defines the QR code format, e.g., 0: PNG and 1: JPEG.
qrCodeIncludeAmount: Optional; Set 'true' to include the bill amount in the Base64 QR code generated.
The Post /CRNs
endpoint creates a new Customer Reference Number (CRN) in BPay based on the below input parameters.
BaseCustomerNumber: The identifier of the newspaper client. (Account number).
TransactionId: A unique identifier for the customer number for which the Check Digit is being calculated. This will be returned in the response and can be used to match up the response and request object elements. As a result, it must be unique for each customer number in this request. (For this reason, a random GUID represents the transaction ID.)
Implementation Notes:
MG2 Control internal settings "BPayUrl.Url", "BPay.ClientId", "BPay.ClientSecret", and "BPay.BillerCode" must be configured in Mg2Control DB for any client that uses BPay services.
After creating a new subscription, the Newstart flow now includes a step to generate a Customer Reference Number (CRN) in BPay for Australian clients.
A new MG2 control internal setting, Purchase.GenerateCRN, has been added to define whether the step required for generating a customer reference number (CRN) must be executed. In order to generate a CRN, the value should be set to (1) for the specific client.
The generated CRN will be stored in the Subscription table under the CustomerReferenceNumber column and in the Event Log table under the misc_code1 column.
Implementation Notes:
When the Newstart event is fired (event_type_code = 'STARTSTD'), the field "misc_code1" in Event_log table is populated with the new Customer reference number (CRN).
The setting Purchase.GenerateCRN must be configured as 1 for a specific client to generate a Customer Reference Number (CRN).
The Get Subscription by ID endpoint, GET /Subscriptions/{subscriptionId}
, has been updated to return an additional output parameter, CustomerReferenceNumber, in the Subscription object of the API response.
This functionality is only applicable to BPay.
The Customer Reference Number is now displayed on both One-CSR Portal UI and Self Service portal UI.
With the introduction of a new property in the Subscription object that provides the associated Customer Reference Number, it is now possible to display the Customer Reference Number within the Account Information tab of SA. Note: If the value in API response is blank, then the field will not be displayed. Also, the value is completely read-only.
Customer Reference Number will be displayed in the Subscription Information box in Update Subscriber page of SS. The field is available only for Australian clients as of now and is configurable from Subcon.Configuration.
Implementation Notes:
The MG2 Control Api setting keys BPayUrl.Url, BPay.ClientId, BPay.ClientSecret, and BPay.BillerCode must be configured in MG2 Control DB for any client that use BPay services.
When the Newstart event is fired (event_type_code = 'STARTSTD'), the field "misc_code1" in Event_log table is populated with the new Customer reference number (CRN).
The setting Purchase.GenerateCRN must be configured as 1 for a specific client to generate a Customer Reference Number (CRN).
New CMS content SubscriptionInfo.CustomerReferenceNumber and new Subcon.Config setting under SubscriberUpdate -> SubscriptionInformationSection: DisplayCustomerReferenceNumber.
The Customer reference number field will be visible only if there is a response for CustomerReferenceNumber in Start Call API (/api/startCall/Subscription/subscriptionId?paperCode=).
Auth0 Universal Login Page will now be able to receive a custom connection through Query string for using a different authentication source (by default Auth0 uses Auth0 DB). The connection parameter will be mapped to a MG2 Control Api setting Auth0.App.Connection with default value “Username-Password-Authentication“. Implementation Notes:
A new MG2 Control Api setting Auth0.App.Connection has been added with “Username-Password-Authentication“ as the default value.
For the client Winnipeg, the Api setting value will be ‘Naviga-SAML-POC’.
If the default value of Api setting is not changed, then there is no impact. If any other valid value is set, then Auth0 will use it to redirect to the right login page.
This has been done to handle client-specific flow.
Previously, when a user's entered email address in SP wasn't found in the client's database, the input fields to create a new user were displayed.
Changes have been implemented to prevent users from creating new users based on the value defined in the SP config file.
In the SP config.System, a new property called "RestrictCreateUser" has been added.
In CMS, a new property, "Email RestrictCreateUserMessage," has been added to the UserinformationV3 component.
Now, the CreateUser flow will work such that:
If the value of "Config.System.RestrictCreateUser" has been set to True and a message has been entered in the "Email RestrictCreateUserMessage" property under the User Information component in CMS:
If the entered email address already exists in the database, the user will be able to continue with their subscription.
If the entered email address does not exist in the database, the Continue button is disabled, and the message set in the "Email RestrictCreateUserMessage" property will be displayed on the screen.
If the value of "Config.System.RestrictCreateUser" has been set to False, the system will continue the existing flow and display the fields for creating a new user.
Implementation Notes:
Add and set the "RestrictCreateUser" property to "true" in SP config.System.
In CMS, add a message to the "Email RestrictCreateUserMessage" property of the UserInformation component.
The user can configure the properties by going to: CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > UserInformationV3
A new CMS Restriction called ‘Carrier Collect’ has been introduced in this release. This restriction can hide/unhide a SS link based on the subscription’s billing method. When a subscription’s billing method is set to Carrier Collect, and a Carrier Collect restriction is configured for the corresponding SS link in CMS, the link will not be visible in the Self-Service Portal page .
For example, if a subscription’s preferred billing method is Carrier Collect, there is no need to display a ‘Make a Payment’ link on the Self-Service portal. This specific SS link can be hidden from CMS by configuring the newly introduced CMS restriction on the ‘Make a Payment’ link.
Implementation Notes: CMS > Navigation > Links/(Choose a valid link)> Hide Link For >Add ‘Carrier Collect’
From this release, the FAQ page has been made available for all the clients. The contents of FAQ page can be configured from CMS as per your requirement.
Implementation Notes:
Any SS page can be displayed by following two configuration steps in CMS.
Prerequisite:
Navigate to SS and login to the dashboard page. From the URL displayed in the address bar, delete /dashboard and type in /faq to navigate to the newly created FAQ page. Copy the URL of the FAQ page.
Step 1: Generate a hyperlink to the new page from the CMS Links page.
Select the Newspaper on the top menu bar.
Navigate to CMS > Navigation > Links.
Paste the copied URL to the Href field.
Enter data in all the other mandatory fields.
Click Save button to generate the hyperlink.
Clear Cache: Manage Cache > Refresh CMS + Site.
Step 2: Configure the link on CMS Menu page.
Navigate to CMS > Navigation > Menu.
Select an option from the Menu drop-down under Link Assignment section. (Navbar, BillingMenu or SubscriptionMenu)
Drag and drop the FAQ link from the Available links section to the Menu Links section.
Click Save.
Note:
You can successfully configure a hyperlink only at three sections of an SS page.
As a menu option on Navbar
As a hyperlink in the SubscriptionMenu (Subscription Details section) of Dashboard page
As a hyperlink in the BillingMenu (Billing information section) of Dashboard page.
Starting with this release, the credit card icon will no longer appear within the iFrame on the Payment page when a credit card is selected. Previously, when users entered their credit card number in the iFrame, the corresponding credit card icon would be displayed. The display of the AMEX credit card icon was previously controlled by the MG2 Control setting 'AmericanCardsImages.' However, in this release, this property has been removed. As a result, during credit card payments, no credit card icon will be shown within the payment iFrame.
Implementation Notes:
"AmericanCardsImages" property is removed from CreditCardSection, inside BillingWidgetSection, for all clients.
The Braintree hosted field place holders (in payment iframes) can now be customized by CMS contents. Previously these iframe field placeholders were hardcoded.
Implementation Notes:
The following CMS contents are used in Braintree payment iFrame from this release:
Placeholder.CCName
Placeholder.CCNumber
Placeholder.ExpirationMonth
Placeholder.ExpirationYear
A new page, UPDATE SUBSCRIBER (Url: /subscriber/update) has been introduced in the Self-Service Portal, allowing only owners to edit their subscriber data. The new page includes an editable section, 'SUBSCRIBER INFORMATION,' which was previously part of the MyProfile page. The entire content on the page is CMS-driven. The page also has a read-only section where some subscription information is displayed which was previously a part of the MyProfile page.
Following this new development, MyProfile page no longer displays subscriber or subscription related information. The MyProfile page will only have registration fields (email, password and profile data sections).
This new page will be owned by Subscribers and hence it is restricted for guests and they will not have edit permissions on this page.
Implementation Notes:
New page and contents have been added to CMS (SubscriberUpdate). In Subcon.Config, SubscriberUpdate module has been added with SubscriberInformationSection and CurrentMembersSection. The CurrentMembersSection was removed from MyProfile page.
To display the hyperlink to this newly generated page on SS, follow the below two configuration steps in CMS.
Prerequisite:
Navigate to SS and login to the dashboard page. From the URL displayed in the address bar, delete /dashboard and type in /subscriber/update to navigate to the newly created Subscriber Update page. Copy the URL of the page.
Step 1: Generate a hyperlink to the new page from the CMS Links page. Copy paste the URL on the Href field, enter the mandatory data and Save. Manage the Cache.
Step 2: Configure the link on CMS Menu page. Select the location of the link from Menu drop-down. Drag and drop the generated link from the Available links section to the Menu links. Click Save.
The hyperlink to the Subscriber Update page will be visible at the configured location on the SS page where you have set it up.
Based on some recent developments, it is not necessary for NewspaperEntitlementSettings table to have a redirect URL anymore. In such cases, the EntitlementsAPI could return a blank ReturnURL in the Output model. If this occurs, the Access page will be restricted from redirecting. In this scenario, the user will be displayed with a proper error notification message informing about the missing configuration. This error notification message is configurable from CMS (Error Code: SS_Access_04).
Implementation Notes:
The newly introduced Error Code SS_Access_04 can be customized from CMS.
Navigate to: Admin > Notification New > Notification New Mngmnt > Manage Error Codes > Add New Error Code.
Enter Code (SA_Access_04), Description and Click Save.
The CMS restriction, previously known as ‘CorporateSubscription,' has been renamed to 'MultipleRegistrations’ from this release. This restriction has been mapped in SubConSite accordingly. When any SS link is configured with CMS restriction ‘MultipleRegistrations’ in Hide links, the corresponding link will not be displayed in the SS UI, if the Subscription.RegistrationCount is not null and Subscription.RegistrationCount > 0 for the selected subscription.
CMS > Navigation > Links (Choose a valid link)> Hide Link For > 'Multiple Registrations' restriction can be added
The CMS restriction 'Corporate Subscription' has been renamed 'Multiple Registrations' to better convey the purpose of the restriction. The restriction can be added in the "Hide Link For" field to prevent the link from being displayed if the registration count for the selected subscription is not null and is greater than 0.
Implementation Notes:
Open CMS, Select Navigation > Links section, then select a link from the drop-down menu. Multiple Registrations will be available in the Hide Link For.
The PDF icon on the /ebill/invoices page, used to download a user's OSG bill statement, was relatively smaller and had a very faint color. It has now been resized to a larger size to enhance visibility on the Invoice page.
Starting from this release, it is now possible for the clients who have their own IDP to seamlessly logout users from all the sites where they were logged in, if they are logged out from the Self-Service portal.
When a logged-in user on both the website and SubCon Site logs out from the website, the user should not be logged out from the SubCon Site. However, in some instances of Firefox, the user gets logged out from the SubCon Site if they log out from the website, which is not the expected behavior.
Implementation Notes:
A new MG2Control Api setting Auth0.App.LogOutFromIDP has been introduced with the default value 0 (false). The value of this setting should be 1 (true) only for clients those who have their own IDP.
Starting from this release, a digital subscriber entering StopSaver page will never see Temp Stop step. If something fails on Temp Stop step load routine for a digital subscriber, StopSaver workflow will just move to the next step to continue the workflow. The Temp Stop page will be bypassed. Before this enhancement, if the end user faced any issues in Temp Stop step, the whole page was failing out and was redirecting the user to the Dashboard page.
The Identity provider Auth0 has introduced a new Universal login experience for its clients. Starting from this version, Subscribe supports both Classic and new Universal login of Auth0 through the Self-Service portal. However, there will be no visual changes for the user.
When a user hits the ‘Login’ button, Self-Service portal will direct the user to Sign-in page. Similarly, clicking the 'Register' button will still direct the user to the Sign-up page, as before. For those interested in learning more about the advantages of this new login experience, you may find additional information here:
The One-CSR Portal application has started using new endpoints in Payments API from this release for various payment flows such as One-time flows, Restarts and EZPay sign-ups. The grid for Rate details at the time of payment in all the flows will be as follows and consistent across all circulations irrespective of the payment method chosen (Bank payment or through credit card):
Term (e.g. 1 Month)
Rate
Other Cost
Tax
Amount
One-time flows:
Starting from this release One-CSR Portal application of NCS, Matrix, and CircPro clients will start using the new endpoint POST /api/Payment
in the new Payment API for the successful completion of one-time payment flows. The Total amount calculation for one-time payment flow has been refactored, simplified, and centralized at Micro API level for all circulation systems. From this release, while submitting the payment request, Total amount will be (Amount + Tip + Donation + Activation fee (only for NCS)). This includes both credit card payment and payment through bank. However, payment through bank is not applicable for Matrix & CircPro circulation systems as of now.
Tip is applicable only for NCS and CircPro clients. The MG2 control app setting key StartCallPaymentBillingTabTip can hide and display the Tip amount field.
Donation is applicable only for NCS clients. The MG2 control app setting key StartCallPaymentBillingTabDonation can hide and display the Donation amount field.
The Activation fee is only applicable for NCS clients and is configurable using two MG2 control keys StartCallPaymentBillingTabActivationFeeACH and StartCallPaymentBillingTabActivationFeeCC for payment through bank and payment through credit card respectively.
The Amount displayed in the Subscription financial transactions grid after payment is the amount without including Activation fee.
Restart flow:
Starting from this release, One-CSR Portal application will start using the new endpoint POST api/RestartPayment
in the Payment API for restarting a stopped subscription. While submitting payment request during Restart flow, a new API key Restart.ApplyCreditBalance will be considered in the TotalAmount calculation logic as follows:
If the setting is turned on and the subscription has a Credit balance (positive amount), that balance will be deducted from the TotalAmount.
If the setting is turned off, the Credit balance will not be considered in TotalAmount calculation.
Regardless of the value in the setting key Restart.ApplyCreditBalance, if the customer has a negative balance (i.e if they need to pay the company), the balance amount will be considered for TotalAmount calculation. The balance will be added to the TotalAmount to be paid.
Activation Fee will not be part of the calculation of TotalAmount from SA.
This Restart payment flow is applicable to both NCS and Matrix clients. However, for Matrix clients, Subscribe only supports Credit Card payment.
EZPay Sign up:
Starting from this release, One-CSR Portal application will start using the new endpoint POST api/EzPaySignUp
in the Payment API for creating a new payment method for a Subscriber. Earlier, the microAPI used to handle both one-time payment & EZPay sign up in a single request. Starting from this release, One-CSR Portal will manage the requests and not the microAPI.
If the customer has negative balance (customer owes money to the publisher), then the One-CSR Portal will call One-Time Payment endpoint first and then the EZPay sign up endpoint. The EZPay sign up endpoint will be called only if the One-time Payment endpoint returns a success. In case it returns a failure, message from the API will be displayed. When both end points return a success, existing success message will be displayed to the user, if any. Otherwise, the error from microAPI will be displayed.
If the customer has positive balance, then the One-CSR Portal will directly call EZPay endpoint.
The transaction including One-time payment and EZPay Sign up will be a single submit like the existing functionality.
The Subscribe integration with payment vendors Stripe and PayWay do not support Diners Club credit card for any of the payment flows.
Implementation Notes:
The value of MG2 Control App keys StartCallPaymentBillingTabTip and StartCallPaymentBillingTabDonation determine the display of the Tip amount and Donation amount fields.
The MG2 Control API setting key Restart.ApplyCreditBalance handles the positive balance (whether the subscription's positive balance (credit) is deducted from the TotalAmount or not) in Restart flow. The client can be enabled and disabled from the Support Viewer.
Starting with this release, the Access section, providing information about Access levels and Household levels, will be placed at the top of the Settings section on the Entitlement details page within One-CSR Portal (Client Management > Entitlements > Entitlement details > Select any Newspaper > Search > Edit button on any Entitlement search result).
Apart from placement change on UI, there is no change in the functionality of these features.
The Settings section on the Entitlements page has been made non-mandatory from this release while adding a new Entitlement. After creating a new Entitlement (Client Management > Entitlements > Entitlements button > Search > Add new Entitlement), select the Entitlement details tab and click Search button to list the newly created Entitlement. Click the Add button along the new entitlement record in the Search result grid. The Entitlement details page of the selected entitlement will be displayed. On the Entitlement details page, Access section and Settings section are displayed. From this release, only Access section will be mandatory for saving the new entitlement with Access level and Household level details. Settings section has become non-mandatory.
The Subscription end date will be displayed for all subscriptions irrespective of the subscription status in the Account information tab of the One-CSR Portal from this release. Earlier this field and data was displayed only for stopped subscriptions.
It is now possible to search user registrations directly for a specific company using ‘Company name’ from this release. A new search field ‘Company name’ has been added in the search screen of User accounts in One-CSR Portal. (One-CSR Portal > User accounts > Search).
Based on the entered search criteria, the search results will be fetched from the database & displayed in the search result grid. The company name will be checked in the metadata property of registrations.
The display of the search field ‘Company name’ and the column ‘Company name’ is decided by the value of the existing MG2 Control key that is otherwise used to enable Company name search criteria on the Subscription search screen. If the key value is set to 1, the Company name search field and the Company name column in the search result grid will be displayed. If the key value is 0, the search field and the column will not be displayed in the search result grid.
The Company name field is not a mandatory search criterion. If data is entered in any of the other displayed search fields, the search results will be displayed based on the full/partial match of the search criteria considering all entered parameters.
Implementation Notes:
When the value of the key SubscriberSearchCompanyNameOption is set to 1, then the Company name search field and the corresponding column in the search result grid will be displayed, or else it will not be displayed.
The ‘Auto renew sign up’ checkbox option will no longer be available for one-time payment flows from this release. When a user clicks on the button ‘Make a payment’ button, the ‘Auto renew signup’ checkbox will not be displayed to the user anymore. The user will be able to enter the rest of the payment details and continue with the payment successfully.
If a CSR wants to sign up the subscriber for auto-renew, they can use the regular EZPAY Sign Up option instead of this checkbox that was previously available under one-time payments.
Until 3.16.3 version, when a CSR/user clicks the Search button on Users Search page (User accounts > Search) without entering any search parameter (Login name, First name, or Last name), system used to list all users from Subscribe database. However, with the recent API refactoring and in view of performance optimization, the Users Search page will now require at least one search parameter to perform the search function successfully. The search results will be based on the search criteria input.
If the Search button is clicked without any input parameter, an error message will be displayed - “Please enter a value in at least one of the input fields.”.
If there is no data to return as per the provided the search criteria, then an information message will be displayed to the user - “Sorry! No data found for the entered search criteria.”
From this release, while updating any registration, the CSR or One-CSR Portal user will be provided with a mandatory drop-down to select a Newspaper publication while updating the Profile settings of a user (User accounts > Search Grid > Registration button > Profile settings tab) regardless of subscription. The list in the new drop-down will be identical to what is already available in the Subscription Search screen.
Based on the user selection of Newspaper, the registration update request will be accepted and the Papercode of the selected Newspaper will be submitted to the User update endpoint. On clicking the Submit button, the user will be displayed with a notification message “Registration profile has been updated successfully”.
While updating the user profile, if the Newspaper is not selected in the drop-down, the user will be notified with an error message “Newspaper field is required”.
When a user attempts to create a new subscription from One-CSR Portal by selecting a publication for which they are not part of the Sales team in SolCon, they are prevented from proceeding. However, the application previously did not provide any information about the issue or how to proceed. Starting from this release, such users will receive a relevant message explaining the issue and providing guidance on how to resolve it.
When a Customer Service Representative (CSR) attempts to add an account and start a new call from One-CSR Portal, a generic message is currently displayed - 'Sorry, there are no offers available for the selected zip code.' This message is shown regardless of the actual issue with the zip code, which can be due to the following reasons:
No Active Offers
Missing Zip Code (Print Offers)
Past-dated Offer Validity in Offer Group → Additional Options → Validity.
To address this, starting from this release, a more informative message will be displayed to help the CSR understand the cause of the issue and avoid any confusion. The new message will be:
"Sorry, there are no offers available. Please ensure you have active offers set up in SolCon with appropriate Available Areas (if applicable) and the Offer Validity under Offer Groups → Additional Options is not past-dated."
To support different countries' addresses, the Postal/Zipcode field in the Subscription search within SubCon Admin now allows the entry of postal / zip codes in desired format. A new MG2Control key, "PostalCodeMask", has been introduced to define the format. By default, the Zipcode field accepts 5 numeric digits, and the subscription search works with these values. The Zipcode masking can be configured at the client level using the MG2Control key. Below are some examples of masking formats:
AA99
= 2 alphabets followed by 2 digits
AAAA
= 4 alphabets, no digits
9999
= 4 digits, no alphabets
*****
= any 5 characters
** ***
= any 2 characters, a space & then 3 characters
Note: If spaces are needed in the Postal Code like in the last example above, an additional masking in SA config must be requested to Naviga team for the search to work correctly.
Implementation Notes:
A new MG2 control key PostalCodeMask has been introduced to handle the postal code masking client-wise, with the default value of 5 numeric characters.
Implemented new API endpoints (GET /DirectIntegration/Rates & GET /DirectIntegration/Rates/{externalId}) to fetch live Rate codes and corresponding Rate code details from the microAPI endpoint DirectIntegration/RateCodes that can be used for both NCS and CircPro circulation systems.
For CircPro clients, when the Subrate value is selected, the remaining necessary fields in the Billing System Codes section for the Offer will be automatically filled with the relevant data. This data population is made possible with the help of the DirectIntegration API. The fields ‘Pay Types’ and ‘Delivery Type’ will be static drop-downs.
Implementation Notes:
To display the drop-down in SolCon, the MG2 Control App setting, SLOfferGroupsCoddingBillingCodesdropdown, should be set to 1.
From this release, while editing an Offer group for Complimentary subscriptions, Reason codes for an Offer group will not be based on the value of Rate codes. The values in the Reason Code drop-down will be fetched from NCS via API. The Rate Code field remains disabled.
Note: For other subscription kinds, the values in the Reason Code field are populated as per the selection in the Rate Code field.
The Allowed registrations field in SolCon Additional Options will now consider the value defined in Subscriptions.MaxLinks setting. Starting from this release, the user will not be able to enter a number greater in the field than the defined limit in the setting key.
If the user enters a value greater than the Subscription.MaxLinks setting, a message will be displayed: “Enter a value less than the maximum limit i.e. <Max>” where <Max> represents the defined value in the Subscription.MaxLinks setting.
Implementation Notes:
The MG2 Control key Subscription.MaxLinks defines the max value of possible Registrations clients can set against any Subscription.
The checkbox "Requires SheerID Validation" which was previously a part of Subscription Validation section has been moved to Subscription Kind section on UI. There is no change in business logic other than UI placement. Subscription Validation section was not a relevant section for the field ‘Requires SheerID Validation’ as the field is not linked to active sub-check in anyways. Hence, the field has been moved to "Subscription Kind" section. This is a configurable checkbox with the MG2 Control App settings key “OfferGroupAdditionalOptionSheerIdValidationFlag”.
Implementation Notes:
The checkbox ‘Requires SheerID Validation’ will be visible under Subscription kind section only if the value of MG2 Control App settings key value is 1.
The payment checkout page interface of the seamless flow has been updated to display all available payment methods as defined in the PaymentMethodSelector Style
property in the CMS such as radio button, drop-down, etc.
Implementation Notes:
The user can configure the PaymentMethodSelector Style
property by going to:
CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > PaymentMethodsV3
The CardHolderName (first and last names) has now been added as a hosted field (as part of the Braintree iframe) in the Subscription Panel user interface.
Note: The CardHolderName field will be displayed on the Subscription Panel page even if the CardHolderName show button has been turned off in the CMS presentation.
When purchasing a new subscription, a password validation error was displayed even when the same value was entered in both the Password and Confirm Password fields. In addition, the displayed password validation error had hard-to-read background and text colors.
Changes have been made to not display an error when correct values have been entered in the password fields, and if a validation error occurs, the message will be displayed in valid background and font colors.
The Subscription Confirmation page in the Subscription Panel has now been modified to display the latest Instagram logo.
Through the Subscription Panel, the CRID (Customer Registration ID) was available to event triggers only after the user completed the User Information step. This prevented GTM/Fingerprint trackers from registering the CRID/Auth0 ID if the GTM scripts had already executed, as the Auth0 ID depended on the completion of User Information step. To address this, a new event is now triggered from the SP side once the customer registration ID is set in the application. Starting from this release, SP exposes the CRID (Auth0 ID) in the set_customer_registration_id event specifically for GTM trackers. With this enhancement, when the email ID is available in the SP header component or as soon as a user enters their email in the Email field of the User Information component, the set_customer_registration_id event is triggered. This event includes the Auth0 ID, which can be captured by GTM scripts for further analytics processing.
In CMS, when adding or editing any Attribute, the Base64String option will no longer be available in the Attribute Type drop-down menu. In addition, the existing Attributes and CMS Settings in the database with the Base64String Type have been updated to the Character Type.
CMS > Notification New > Notifications New Management > Manage Error codes
When creating, modifying, or deleting an error code record, the Notifications New Management page now displays relevant messages.
When an error code is created, a success message stating "Error code successfully added" is displayed.
When an error code is modified, a success message stating "Error code successfully updated" is displayed.
When an error code is erased, a success message stating "Error code successfully deleted" is displayed.
In addition, when a user attempts to save an error code after making no change to it, a warning message stating "Warning! No changes detected" is displayed.
The VideoLink field on the Benefits page has been renamed to YouTube VideoLink. A validation check has been implemented so that users can now only save a YouTube link in the field when adding a Benefit.
Previously, the Entitlements API needed records to be available in the NewspaperEntitlementSettings table in order to calculate the URL that has to be provided in the DigitalAccess endpoint, which was used by the Self-Service Portal's Access page for the redirect. This has now caused an issue since the Access Page is no longer being used, and clients are being forced to set up dummy data in the NewspaperEntitlementSettings table in order for the API to function properly.
Changes have been made to remove the validation checks to force NewspaperEntitlementSettings for entitlements that are used externally and do not require a redirect url provided by the API.
When generating Entitlements using the Entitlements API (POST /Entitlements
), all dependency on the NewspaperEntitlementSettings table has been removed. If the EntilementCode has no association with any NewspaperEntitlementSettings when creating a digital access (POST /DigitalAccess
), the steps to generate the URL will now be skipped.
The Offers API now includes a new endpoint, GET /CheckZipDeliverable
, that validates the availability of a ZipCode in the Offer Delivery Area based on the input parameters ZipCode and OfferId.
Previously, a subscriber with multiple subscriptions was unable to change the auto-renew information of a subscription after one of the other subscriptions had been updated and received the error message "Payment method was modified recently. Please wait 24 hours or call our Customer Support team." This error occurred because the payment validation check for the past 24 hours was based on the Subscriber ID.
Changes have been made such that the validation check for payments made in the past 24 hours will now be based on the subscription rather than the subscriber. A subscriber who has multiple subscriptions can now update them one after the other without having to wait the 24-hour interval; however, payments towards a single subscription can only be made once per day.
When entering new payment information, the masked Credit Card details received in the CreatePaymentMethod endpoint will now be stored in the subsvc database under the PaymentMethod table.
A new orchestration API, MailingOrchestrator
, has been developed to handle the workflow orchestration between the external services and Subscribe Emails API.
The Post /Emails
endpoint sends the email related to an event based on the provided input parameters EventId (a unique identifier of the event in the SubCon database) and Email (optional; if provided, it will replace the destination email specified in the provided event).
Note: Currently, consumer applications are not using this new API.
A new API, Auth0
, has been developed to handle the integration between the Auth0 and Subscribe.
The POST /Users/Authentication
endpoint validates an access token based on the input parameter, Token (access token generated in the consumer application).
The GET /Users
endpoint has been developed to receive a paginated list of all users registered in Auth0. Input parameters:
Email: Optional; Email address of the user.
InternalId: Optional; Internal custom ID of the user.
PageSize: Optional; Maximum number of items returned per request. Default value 10.
PageNumber: Optional; Requested page number of pagination. Default value 1.
The GET /Users/{Id}
has been developed to retrieve the details of a user registered in Auth0 based on the provided ID (a unique identifier for the user in Auth0).
The POST /Users
endpoint creates a user in Auth0 based on the below input parameters.
Email: Email address of the user.
Password: User’s password.
FirstName: Optional; User’s first name.
LastName: Optional; User’s last name.
PhoneNumber: Optional; User’s phone number.
UserName: Optional; User’s user name.
NickName: Optional; User’s nick name.
Picture: Optional; User’s picture. It needs to be a valid public URL and will be validated on the Auth0 side.
InternalId: Optional; Internal custom ID of the user.
The PUT /Users/{Id}
endpoint updates a user in Auth0 based on the provided ID (a unique identifier for the user in Auth0) along with the input parameters mentioned in the POST /Users
endpoint.
The POST /Ticket/Password
endpoint creates a URL for the user to change their password in Auth0 based on the provided UserID (a unique identifier for the user in Auth0).
Implementation Notes:
The new API is set up under $/MG2CEP/Main/SubscribeAPI/LowLevel/Integration/Auth0/Dev.
This new API will replace the current Auth0 MicroAPI starting with 3.17.0. As a consequence, the builds and releases for Dev and BetaRelease 3.17.0 have the new structure.
5.1 API - Auth0 - Tokens cache enhancements
Subscribe previously generated a new token for each Management API call since Auth0 required a token for interacting with the Management API. To prevent having to generate a token for each API call, a token cache has been introduced, in which Subscribe stores the token generated with an expiration date. The MG2 control internal setting, Auth0.MaxTokenExpirationSeconds, was used for determining the expiration date. An issue occurred when the value specified in the MG2 Control setting was longer than the expiration date of the token in Auth0, and the token cache had to be cleaned.
Changes have now been made to get the expiry date from the token rather than depending on the MG2 Control setting, so that the Auth0 API can store the access token to prevent further calls to the external API. In addition, when the token expires, it will be removed from the cache and a new token will be generated.
Note: The MG2 control internal setting, Auth0.MaxTokenExpirationSeconds, will no longer be used for determining the expiration date.
Implementation Notes:
The MG2 control internal setting, Auth0.MaxTokenExpirationSeconds, will no longer be used for determining the expiration date.
In the Newstart flow, the logic for the Phone has been updated such that:
If an existing Circ subscriber does not have a phone and no phone information has been specified in the Subscription Panel, the API makes no changes.
If an existing subscriber in Circ has phones but the phone in Subsvc is null, the API updates the phone in Subscribe DB.
If an existing subscriber in Circ does have a phone and the phone information specified in the Subscription Panel is already on that list, the API makes no changes.
If an existing subscriber in Circ does not have any phones but phone information has been provided in the Subscription Panel, the API updates the occupant in NCS to save it as a Primary Phone.
If the subscriber in Circ has phones but the phone information provided in the Subscription Panel is not on that list, the API updates the Occupant in NCS to save the collected phone information as the Primary Phone and the existing phone as the Other Phone.
Previously, when creating a Newstart, columns such as the SubscriptionKindId, PaymentMethodType, or CC_type in the AUTHCC event were not being populated, making it difficult to troubleshoot when an issue occurs. When creating Newstarts, changes have now been made to collect and store all of the information received in the AUTHCC event.
Because Comp subscriptions are not billable, the Subscribe API will now include the subscription's BillingMethod along with the RateCode when sending the request to the NCS in the AddMove (addmovetrandelschedchg) endpoint when creating Moves for Comp subscriptions with the MG2 control flow setting "Flow.AddressMove" set to RealTime.
Implementation Notes:
The MG2 control flow setting "Flow.AddressMove" has to be set to RealTime.
Currently, when requests have been sent to NCS from both Naviga Consumer Apps and External Consumer Apps, the user will be retrieved from the value defined in the MG2 Control Setting, DTI.CircAPIUserId.
To differentiate between requests received from Naviga Consumer Apps and requests received from External Consumer Apps in the NCS, an internal setting in the MG2 DB can be created by concatenating the Source System from which the request has been sent with the MG2 Control Setting, DTI.CircAPIUserId.
For example, if a client's Source System is ClientWebSite, an MG2 Control Internal Setting "ClientWebSite.DTI.CircAPIUserId" can be created, and if a value of "ClientWebSiteUser" has been set to it, the user value will be displayed as ClientWebSiteUser in the NCS when sending requests through this Source System.
Implementation Notes:
If a particular source system needs a different value when sending a request to NCS, it can be set up now.
New Address fields for Australia
Previously, when standardizing an Australian address through the MelissaData API, it returned the parameters "Level Designator" and "Level Number" (as SubPremiseLevelType and SubPremiseLevelNumber, respectively), but SubscribeAPI was not mapping them.
Changes have now been made to the Purchase and Change Address flows such that the LevelDesignatorID and LevelNumber will now be provided when calling the NCS CircAPI, "Add Address/Occupant (addaddrocc)" for Australian addresses.
In addition, two columns, LevelDesignator and LevelNumber, have been added to the Address table in the subsvc database, which will be populated with the data received from the standardization.
Implementation Notes:
This functionality is only applicable when the MG2 control flow setting, MelissaDataIntegration, has been set to "GlobalOnPremise” or “GlobalCheckAPI”.
Prerequisites:
Circ System & Minimum Supported Version: NCS Circ, 2020-4.1
Subscribe Extract Minimum Supported Version: Subscribe Extract export version 6
Starting from this release, the validation that prevents InGrace users with ExpireDate in the past to Cancel their subscriptions, has been removed. Subscribers will be now able to cancel their subscription even if the subscription is in grace period regardless of the expiration date being past/future. Cancelling a subscription will not have any dependency on the expiration date.
DayPass subscriptions are special subscriptions that grant users one-day premium access to Publications. That means, if a user purchases a 'DayPass' subscription today, they can access the premium content until midnight the following day. Currently, only the NCS circulation system supports this type of subscription. In this release, some changes have been made to the DayPass subscription flow. Here are some key points to note:
The subscription type (Subscription kind) of DayPass subscriptions in Subscribe will be set as ‘PaidPass’. In NCS, these subscriptions will have their DeliverySchedule designated as ‘DayPass’.
Whenever the subscription status becomes ‘Stopped’ for a DayPass subscription, the access to the Publication content will be denied.
The HouseHold Level value of DayPass subscriptions will be based on the Status of these subscriptions.
Implementation Notes:
The HHL rule to grant/revoke the access for DayPass subscriptions must be set in the HHL Business Rules.
The issue of the user being unable to view cancellation reasons in the drop-down while canceling a subscription has been resolved.
The issue of logged in users getting redirected to homepage when any changes were made to the URL has been resolved. As a result of the fix, any alterations to the URL will no longer grant logged-in users access to the homepage. Instead, they will be automatically redirected to the Dashboard page.
The alignment for the name, company name, and account number was not correct when compared to the system UI for the Self-Service Portal dashboard page on iPhone. However, this issue has been fixed.
The user was displayed an error message after the cancellation of the subscription even when the cancellation was successful. This issue has been resolved now. After fixing, the Cancel Subscription workflow no longer displays an error message, even if the event is part of the Stop Saver flow and was successful.
When the user clicked the ‘Print’ button for the payment receipt of a successful restarted subscription, the client logo was overlapping with the ‘My Subscription’ text in the downloaded receipt. This issue was observed both on the laptops and iPhones. After the fix, the overlapping issue is resolved.
The user could sign up for eBilling multiple times over and again even when successfully signed up. The same issue occured for sign-out process too. After the fix, when a user signs up for eBilling, they will see 'eBill Manage' link on SS. Conversely, when the user signs out from eBilling, they will then see the 'eBill sign Up' link.
The issue of user getting logged out from SS selectaccount page on refreshing the page has been resolved.
Restart workflow is restricted for a stopped Trial subscription. However, in the Account information tab of a stopped trial subscription, ‘Restart’ button was available, and it was also possible to successfully run the Restart workflow for the user from SA. This issue has been resolved now.
There were discrepancies in event information and email triggers when downgrading or canceling a subscription using Stopsaver, depending on whether the action was taken from SubCon Admin or SubCon Site.
Downgrading from SubCon Site: Incorrect email triggered, missing downgrading reason and parent event ID, blank email address in SubCon Admin.
Downgrading from SubCon Admin: No email triggered, but cancellation reason and event ID recorded, blank email address in SubCon Admin.
Canceling from SubCon Site: Email triggered, reason and parent ID captured.
Canceling from SubCon Admin: No email triggered, blank email address, but reason and parent event ID captured.
These issues have now been fixed.
When the user logs out from any of the sub application of Subscribe (SA, SS, and SolCon), the expected behavior is that they should also be logged out from all the other sub-applications opened on different tabs in the same browser. However, this was not happening. The user was logged out from other sub applications on other tabs only by refreshing the corresponding pages. The issue has been resolved now.
Even though Internal and Customer email templates were configured for Gift Redeeming event under the Internal Emails and Customer Emails tabs accordingly, the email configured under the Customer Emails tab was not getting triggered after the successful completion of a gift redeeming flow. This issue has been fixed in this release.
After the fix, whenever a recipient redeems a gift subscription successfully, the congratulatory email configured under the Internal Emails tab and the notification email configured under the Customer Emails tab are sent to the recipient and purchaser accordingly.
For accounts with a positive balance (credit), a validation message was displayed, preventing the purchase of a subscription. Conversely, for accounts with a negative balance (outstanding), no validation message was displayed, allowing the purchase of a subscription. These issues have now been resolved.
The problem of lacking a Close button and instead having a Cancel button (along with a pop-up asking the user to Quit/Return to editing) when saving a record in the Inventory module has been addressed. After implementing the solution, users now have access to a Close button after saving in the Inventory module, and they are also automatically redirected to the previous screen.
When the ‘Show only active’ filter (a checkbox) was unchecked on the House Hold Levels page under Reference Tables section (Reference Tables > House Hold Levels), the result grid was not showing inactive house hold levels. This issue has been resolved now. With the fix in place, when the ‘Show only active’ filter is checked, then only the active house hold levels will be displayed on the page and if the filter is unchecked, both active and inactive house hold levels will be displayed on the page.
When the ‘Show only active’ filter (a checkbox) was unchecked on the Billing Plans page under Reference Tables section (Reference Tables > Billing Plans), the result grid was not showing inactive billing plans. This issue has been resolved now. With the fix in place, when the ‘Show only active’ filter is checked, then only the active billing plans will be displayed on the page and if the filter is unchecked, both active and inactive billing plans will be displayed on the page.
Previously, the Status filter on the Offer Groups page did not properly filter the Active, Inactive, or Draft offer groups that were chosen for export. This issue has been resolved and the filter now functions correctly. After the fix, when the user clicks the 'Show Selected' button to view the offer groups selected for export and applies the status filter (Active, Inactive, or Draft), the selected offer groups in each category are displayed correctly, if any are present.
When the user exported Offer groups and imported them to a specific client, the offer groups were created with Marketing text and Terms and Conditions, but no Offers were generated for the client. The created Offer groups were also non-editable. It was also observed that the Offers were being created under the ‘ALL’ category rather than for the selected client. This issue has now been resolved.
The following issues that were reported in the Safari browser have been resolved:
The Sync message was erroneously displayed in front of the ‘Clear cache’ button.
The welcome message of SolCon was not displayed correctly.
The Export feature (Admin > Users > Export) was non-functional. Upon clicking the Export button, the progress bar completed, but no file was exported.
The issue of user receiving error messages in SolCon Admin while updating an existing offer with Marketplaces or Marketing text has been resolved now.
While using SolCon Admin on Safari browser, the user was encountering below listed issues:
Unable to enter value in the “Price” section
Unable to open “Additional Options” section
Unable to click on “Search” bucket while creating “Sales team” and “Team Member”
All these issues have been resolved. After the resolution, it is now possible to create offer group with valid price and also to search and create sales team and team members.
The user received error notifications on Offers, Promotions and House Hold Levels pages while clicking on the up or down arrows (for sorting ascending or descending) in the header fields of the displayed grid on those pages. The error messages appeared when sorting was attempted on fields with empty headers. As part of the fix, the ‘Tags’ header field has been added on Offers and Promotions pages and ‘Status’ header has been added on Offers, Promotions and House Hold Levels pages. These fields have been added to the respective tables too. It is now possible to sort the grid records in ascending or descending order using any header fields displayed in the grid.
The issue of getting timeout errors while adding offer groups for a new price point has been resolved. (Teams > Sales Teams > Select any Sales team from the grid >Offer groups). During timeouts the user is notified with proper error messages.
While clicking the Offer Group ID index column header on the Offers page, the user was displayed with error message saying, ”Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')". This error message was also displayed while clicking on the next or previous page buttons and on page number buttons. The user was restricted from page navigation too. This issue has been resolved now.
Previously, ApiCore has been updated to include a new feature that ignores the log attribute from the request model, preventing it from adding properties to attributes that are too long, such as Receipts in Webhooks. An issue with this occurred when there were null collections of nested objects in the input model, and an exception was logged in the log files.
This issue has now been resolved; the endpoint responds successfully, and no exceptions will be logged in the log files.
When creating Newstarts, if NCS returns two occupants based on the provided email (one that matches exactly and one that matches partially), the whole Newstart process fails with the error message "Child Event: FINDADDRESSOCCUPANT failed. Error: Completed," since it was expecting only one occupant. This issue has now been resolved, and if NCS still returns two occupants, Subscribe will select the email that exactly matches the provided email and process the Newstart normally.
When a user reactivated a subscription through the One-CSR Portal, it created a new account for the user instead of reactivating their existing subscription in CircPro. However, when the user attempted to access the account using the One-CSR Portal, it displayed as inactive and prompted the user to sign up for a new account. This occurred because the inactive CircPro account remained linked to the One-CSR Portal rather than the newly created account. When the client changed the inactive account to active in order to get access to the account, the subscriber now has two active accounts.
This restart event issue in the One-CSR Portal has been resolved, and reactivating a subscription no longer results in the creation of a duplicate account.
Previously, the GET /Users/{customerRegistrationId}/Subscriptions/v2
API was returning null responses for subscriptions that were inactive in the RegistrationSubscriptions table. This issue has been resolved and the API will now correctly return inactive records from the RegistrationSubscriptions table.
The special characters in the DeliverySchedule parameter of the CreateSub API request URL were not encoded and this was failing the call. This issue has been fixed.
Previously, saving a presentation after adding the InformationV3 component as a child under PageV3 resulted in the error message "Error! This item must not be here" and "Excess item". This setup issue has now been resolved, and the InformationV3 component can now be added as a child to PageV3.
Implementation Notes:
The user can configure the properties by going to:
CMS > Subscription Panel > Presentation (Choose a valid presentation) > PageV3
Previously, when a user logged out of the Landing Page, they were not automatically logged out of the CMS application.
This problem occurred when, following a successful logout in the landing application, it redirected the users to the login page, but CMS did not receive this message.
This has now been resolved by modifying the functionality logic on the landing page iframe such that when the landing application logs out and the CMS call fails, the iframe passes a message to the CMS application.
CMS > Slideshow > (Select any Slideshow) > Edit (update the required values) > Submit > Remove Override When overriding a Slideshow , the incorrect success message "Slideshow successfully deleted" was displayed instead of the correct message "Slideshow override successfully removed". This issue has now been fixed.
CMS > Rewards > (Select any Reward) > Delete When deleting a Reward, the incorrect success message "Benefit successfully deleted" was displayed instead of the correct message "Reward successfully deleted". This issue has now been fixed.
CMS > Content > (Select any Page from the Filter By Page: drop-down menu) > Edit (update the required values) > Save > Remove Override (under Delete column)
When removing an override of a Content, the incorrect success message "Content successfully deleted" was displayed instead of the correct message "Override successfully removed". This issue has now been fixed.
When the user left the CMS application idle for a while and then did any operation such as changing the hierarchy or presentation, an error message "Sorry there was an unexpected error.Err:500" was displayed.
This issue has now been resolved, such that if a user loads the CMS and remains idle for more than half an hour before trying to perform any operation, the application now displays a time-out warning message, the entire page reloads, and the user is logged out of the session and redirected to the landing page.
CMS > Images > Upload > Add files > Actions > Start
When attempting to upload an image file greater than 5MB in size, an invalid error message "Sorry there was an unexpected error.Err:500" was displayed instead of the appropriate message "Maximum request length exceeded. Please upload a smaller file."
This issue has been resolved, and the correct error message will now be displayed.
The issue of being unable to save after setting all CMS Content Segments to "Active" has now been resolved.
When purchasing a new subscription, when a user chose an offer, entered the email and address fields, and then clicked the continue button, the user interface behaved incorrectly by expanding and collapsing the fields before advancing to the next step. This issue has been resolved, and the user will be able to advance to the next step without the extra animation in the user interface.
During a Newstart from Subscription Panel, the eBill sign-up was failing with an error message stating, 'Could not find any processing command for event type and processor.' This issue has now been resolved.
The problem with password validation in the Forgot Password workflow (the flow that is initiated when the user clicks on the link from the email) has been fixed. According to the validations, a subscription application password must be a minimum of 8 characters in length and must include at least one special character and one numeral.
Resolvers were added to Self-Service Portal pages to fetch the configuration before rendering the page to the user. Starting from this release, in addition to the Get Configurations, more steps have been added in every page to load in resolvers, so as to get information before rendering them. The following is the list of the candidate calls to be done in Resolvers:
Get Availability (except on the Dashboard page)
Complaint
Address / AddressUpdate
Payment
AutoPay Sign Up
AutoPay Sign Out / AutoPay Cancel
AutoPay Manage
Add Tip
Ebill Sign Up
Ebill Manage
Subscription Cancel
Subscription Restart
Temporary Stop
Stop Saver
Get Reasons/Options/Categories to populate drop-downs in forms
Feedback (Get Categories)
Stop Saver (Get Reasons)
Subscription Cancel (Get Stop Reasons)
Get the key resource of the page (without that, there is no point in loading the page)
Subscription Update (Get Offers)
Temporary Stop (Get Stop Dates)
Rewards (Get Rewards)
Transactions (Get Transactions)
Update Subscriber (Get Subscriber)
Unsubscribe (Get Allowance)
Invitation Confirm (Get Target Invitation)
EBill Invoices (Get Invoices)
Forgot Password (Get Validity)
With this release, Circ-specific components have been replaced with a generic and configurable approach for all pages in the Self-Service Portal application. The SS pages on which the components were unified across all circulation systems are:
TemporaryStops page - A single page now covers all Circulation systems. Also did the clean up of unused code. Example: the Wizard presentation.
AutopayCancel page - Previously this page was associated only to NCS. Now it is applicable for all circ systems. All components are renamed.
Transactions page - Previously this page was associated only to NCS. Now it is applicable for all circ systems. All components are renamed.
TemporaryStopRestart page - Previously this page was associated only to Saxo. Now it is applicable for all circ systems. All components are renamed.
Code cleaning has been achieved with this development. All the changes are transparent for the user. There is no visual implication.
Implementation Notes:
The Subcon.Configuration setting "hideRedliveryTable" inside TemporaryStopModule is deprecated.
Starting from this release, unused Wizard Presentations have been removed from the Complaints and Address pages of Self-Service Portal application. This change is transparent to the user.
The Layout property has been removed from every client’s SS.Config file. However, the Layout module is still in place. The Layout property was initially introduced with the assumption that clients would have two styles (Type A and Type B) of layouts to choose from. However, it was discovered that both layout styles were identical, using exactly the same code. Therefore, regardless of the client’s choice, the site would look the same. Hence, as part of the cleanup task, the layout property has been removed from the config file. There are no changes from the user's perspective.
Implementation Notes:
The layout property is removed from the Subcon.Configuration file since Type A and Type B were using the same code.
Originally, the environment.release.ts had client-specific versioning, requiring the team to update the variable throughout the entire file whenever a new branch was created.
A newer approach has now been introduced, unifying the WebApp and WebAPI in the same branch. This means that the WebApp can use the same version as the WebAPI.
The Environments file has been cleaned up to remove anything related to the version. Additionally, it has been ensured that the WebAPI version is displayed in the UI.
The SS application has been upgraded to .NET 6. The .NET core is already available on all servers.
Autofac, an open-source dependency injection (DI) container for .NET applications, has been deprecated in the WebAPI of the Self-Service Portal application.
The Braintree-web library and other Braintree scripts have been upgraded from version 3.62.0 to the latest version, 3.100.0. There was a known issue in the Braintree SDK where the Cardholder Name field appeared as a numeric field on iPhones. This issue has been resolved in the newer versions of Braintree. The SDK upgrade has successfully addressed this issue in SS.
1.1 GET: User end point implementation
A new User endpoint "api/registrations/GetUserdata" has been implemented to get the user data. One restriction for the GET request is that PaperCode should not be null or NA. Any random code of the client can also be passed. The existing behavior of the user data being from fetched from DB will continue.
Starting from this release, while getting User data, the object will have a property called State. Additionally, the registration State will be displayed in One-CSR Portal Registration lookup as applicable. If the Tenant is using a third-party auth system such as Auth0, Firefly, etc., then the State will always be Standard. If the Tenant uses MG2 Auth, the value of State will be as follows:
When the Password is blank in the DB, State will be Lite
When Verified is false in the DB, State will be Unverified
When Password is not blank and Verified is true, State will be Standard
Implementation Notes:
Created a new MG2 Control App Setting DefaultPaperCodeSA for configuring default paper codes. A default paper code can be set client-wise that will be passed to lookup the users on the user screen, if paper code is not set.
1.2 POST: User end point implementation
For active users on the digital tab, the old user creation endpoint has been replaced with new "api/addUser". The activation flow works as per the existing behavior. The verifyEmail parameter is not being sent in the payload anymore. Hence the user activation (Creation of user) flow is effective for both authentication systems, Auth0 and Mg2Auth.
1.3 PUT: User Email end point implementation
A new User Email endpoint "api/registration/updateUserEmail" has been created to update the email address on the user update registration screen (User accounts > Search > Registration button > Profile settings tab) and Digital tab (Subscription information > Subscription search > Start call > Digital). The new endpoint will replace the old one.
Note: For Mg2groupstripe, email will be updated in DB instantly but for Auth0 clients, email update happens only after Sync.
1.4 PUT: User Password end point implementation
Created one new endpoint "api/registration/updateUserPassword" to update the password and replace the old one. In case of User accounts search screen, "Password" section (User accounts > Search > Registration button > Profile settings tab) will be only visible to clients using Auth0 authentication system.
1.5 PUT: User Customer registration id end point implementation
A new endpoint “api/registration/{CustomerRegistrationId}/CustomerRegistrationId” has been created to update the registration and replace the old one. There is no change to the existing functionality.
If a blank value for CRID is submitted for update, the following message will be displayed: 'Customer Registration ID cannot be blank'. The message will be the same in both screens i.e. via User Accounts & via Start Call Digital tab CRID Update.
Implementation Notes:
The section “Update customer registration ID" section in Subscription Search Screen (Digital Tab) and the field “Customer registration ID” in the User accounts screen (Profile settings tab) will be visible on UI only if the value of the MG2 control setting key StartCallDigitalTabEditCustomerRegistrationId = 1.
Starting from this release, RegistrationId has been replaced with CustomerRegistrationId at several instances as follows:
2.1 GET /CampaignMessages
From now on CustomerRegistrationId will be added in the payload of the GET ComaplaintsHistory API request while adding a new delivery error (Subscription search > Start call > Service tab > Add new delivery error > Enter the valid error details > Save) in the place of RegistrationId.
Only the api/messaging/campaignsMessages endpoint was impacted in this replacement. After the replacement, the GET request is functioning as expected.
2.2 User Invitation
Along with the RegistrationID replacement, Phone key under MetaData has also been replaced with PhoneNumber in User Invitation/Registrations.
The Invitation Screen, Insert Invitation, Bulk Invitations, AppendInvitation, Update Invitation, Get PendingInvites, Update Registration, Get Registration, Export Registration, and Import Registration are the different points where User invitation/Registration is employed. There is no impact on the functionality with these replacements.
Beginning with this release, the PayBalance flow has been deprecated and will no longer be displayed in the One-CSR Portal UI for any scenario. Previously, One-CSR Portal had two separate flows - PayBalance and Restart. The assumption was that the PayBalance button was displayed only if the 'CheckRestartAvailability' endpoint returned false, and if the endpoint returned true, the Restart button was displayed. However, at the backend, both endpoints were calling the same 'Restart' endpoint, and the subscription account was getting restarted regardless of the 'RestartAvailability' response. Hence, the unnecessary PayBalance flow is now deprecated. The Restart option that redirects to SP new start flow is also deprecated.
From now on, the Restart button will be displayed in Account Information Tab only if the endpoint CheckRestartAvailability returns True. Clicking the Restart button will restart the same subscription. Negative & Positive balance are handled as per their expected behavior. If there is a negative balance, its payment is captured during the restart flow. If there is a positive balance, it is adjusted based on the new key Restart.ApplyCreditBalance introduced in 3.17.0.
Implementation Notes:
The Restart button will be available only if the API api/CheckRestartAvailability/subscriptionId returns True.
A new endpoint to monitor the health of One-CSR Portal application (whether the application is up and running) has been functional from this release. Status/Ping route is added to One-CSR Portal API that enables the monitoring of One-CSR Portal.
A new endpoint to monitor the health of SolCon application (whether the application is up and running) has been functional from this release. Status/Ping route is added to SL API that enables the monitoring of SolCon application.
A new endpoint, Post /Access
, has been developed to create access for the User based on the provided EntitlementID, RegistrationId, PlatformType, and UserAgent.
A new endpoint, Get /Access
, has been developed to return whether the user has access based on the provided EntitlementId and CustomerRegistrationId.
A new endpoint, Get /Entitlements
, has been developed to return the details of Entitlements based on the provided EntitlementCode.
A new endpoint, Get /TemporaryEntitlements
, has been developed to return details of a user from the TemporaryEntitlement’s Table based on the provided CustomerRegistrationId.
A new endpoint, Post /TemporaryEntitlements
, has been developed to create a new record in the Subscribe TemporaryEntitlement’s Table based on the provided user’s details and EventID.
Implementation Notes:
A MG2 control internal setting: SubscribeEntitlements has been added.
A new orchestration API, EntitlementsOrchestrator
, has been developed to handle the workflow orchestration between the external services and Subscribe Entitlements API.
The Post /Access
endpoint creates Access Log record for the User based on the provided EntitlementCode and CustomerRegistrationId.
The Get /Access
endpoint returns the current access level (Premium, Upgrade, Purchase) based on the provided EntitlementCode and CustomerRegistrationId.
The Post /TemporaryEntitlements
endpoint creates a new record in the Subscribe TemporaryEntitlement’s Table based on the provided user’s details and EventID.
Enhancements have been implemented to enable One-CSR Portal to utilize the new set of endpoints mentioned above. Some of the changes in the flow (transparent to the user) are listed below:
Access page POST an Access request to generate a log entry.
Activate page should GET a Subscription's access to know which step to display next.
Additionally, some access codes have been hardcoded in the CMS as follows:
SS_Access_01 = "Access Success"
SS_Access_02 = "Access No Authorized"
SS_Access_03 = "Get Access Level has failed"
SS_Access_04 = "Unable to perform redirection because configuration is missing"
The Access messages against each Access code can be edited in CMS under for each access code.
Implementation Notes:
ProxyAPI needs to have the following settings in place in order to redirect to EntitlementsAPI or to EntitlementsOrchestratorAPI.
MG2 control internal setting: EntitlementsOrchestrator has been added. This value includes a string.Format that must be used to determine the correct API route. The default value is “{0}/EntitlementsOrchestrator”.
Note: ProxyAPI calls EntitlementsOrchestratorAPI directly, so GatewayAPI is not involved in the request chain.
Starting with release 3.17.0, the logic for the following four payment flows has been transitioned from the existing Billing API to a new API known as Payments API:
One-time payment
Restart
Ezpay sign-up
Update Ezpay information (previously referred to as 'Change payment')
The Payments API features improved code and maintains the same functionality for these payment flows as previously provided by the Billing API.
The POST /Payment
, POST /Payment/EzPay
, and POST /Payment/Restart
endpoints have been modified to add a new input parameter, PaymentOptionAmount, that allows users to provide the payment option amount that is being paid. This will simplify the calculations in the API and provide clarity in consumer applications. In addition, the PaymentOptionAmount value given in the request will be saved in the event log table under the payment_selected_amount column.
The POST /Billing/Payments/{subscriptionId}/EzPaySignup
endpoint has now been replaced with a new endpoint, POST /Payment/EzPay
, to create a payment method for a recurring payment (EZPay) in Circulation Systems (NCS Circ, CircPro, Saxo, and Matrix) and assign it to a subscription in Naviga System based on the below input parameters.
SubscriptionId: Unique identifier of the Subscription in Naviga System.
PaymentMethodId: Unique identifier of the payment method in Naviga System.
PaymentOptionAmount: EZPay Option Amount that will be paid.
Donation.DonationAmount: Donation amount. Not Applicable for CircPro.
Tip.TipAmount: Tip amount.
RenewalTerm: Indicates the term to the Circulation System Provider. Applicable only for Matrix, CircPro, and NCS.
RenewalLength: Indicates the length to the Circulation System Provider. Applicable only for Matrix, CircPro, and NCS.
Note: Recurring payment (EZPay) through a bank account is not supported for Matrix clients, and any payment method other than credit card will result in a validation error.
The PUT /Billing/{subscriptionId}/PaymentMethods
endpoint has now been replaced with a new endpoint, PUT /Payment/EzPay
, to update the payment method for a recurring payment (EZPay) in Circulation Systems (NCS Circ, CircPro, and Matrix) and assign it to a subscription in Naviga System based on the input parameters SubscriptionId
(the unique identifier of the Subscription in Naviga System) and PaymentMethodId
(the unique identifier of the payment method in Naviga System).
Note: Recurring payments through a Bank Account are not supported for Matrix clients, and any payment method other than credit card will result in a validation error.
The POST /Billing/Payments/{subscriptionId}/ApplyPayment
endpoint has now been replaced with a new endpoint, POST /Payment
, to perform a one-time payment in Circulation Systems (NCS Circ, CircPro, and Matrix) based on the below input parameters.
SubscriptionId: the unique identifier of the Subscription in Naviga System.
PaymentMethodId: the unique identifier of the payment method in Naviga System.
DonationAmount: Donation amount. Not applicable for CircPro.
TipAmount: Tip amount.
TotalAmount: The total amount being paid (PaymentOptionAmount + TipAmount + DonationAmount + ProcessingFeeAmount + ProcessingFeeTaxAmount).
If the PaymentType is Credit Card for NCS clients, an Activation Fee is charged to the TotalAmount. (Total Amount for NCS = PaymentOptionAmount + TipAmount + DonationAmount + ProcessingFeeAmount + ProcessingFeeTaxAmount + ActivationFee)
PaymentOptionAmount: The Payment Option Amount being paid.
IgnoreFee: Indicate whether the Activation Fee should be ignored. Applicable for NCS clients.
TransactionId: Transaction ID created by the Payment Gateway when creating a new Payment Method. Applicable for Matrix clients.
ProcessingFeeAmount: The Fee amount being paid. Applicable for NCS clients.
ProcessingFeeTaxAmount: The Fee tax amount being paid. Applicable for NCS clients.
Note:
The Activation Fee is only applicable to NCS clients, and the amount can be defined in MG2Control setting DTI.ActivationFeeAmount (applicable if IgnoreFee is set to false). Currently, this is taken into consideration in the TotalAmount validation only for the NCS clients.
Payments through a Bank Account are not supported for CircPro and Matrix clients, and any payment method other than Credit Card will result in a validation error.
The POST /Billing/Payments/{subscriptionId}/RestartPayment
endpoint has now been replaced with a new endpoint, POST /Payment/Restart
, to restart a stopped subscription in Circulation Systems (NCS Circ and Matrix) based on the below input parameters.
SubscriptionId: the unique identifier of the Subscription in Naviga System.
PaymentMethodId: the unique identifier of the payment method in Naviga System.
Donation.DonationAmount: Donation amount.
Tip.TipAmount: Tip amount.
TotalAmount: The total amount being paid (PaymentOptionAmount + TipAmount + DonationAmount + ProcessingFeeAmount + ProcessingFeeTaxAmount - Subscription’s Balance).
PaymentOptionAmount: The Restart Option Amount being paid.
TransactionId: the Transaction ID generated by the payment gateway when a new Payment Method is created. Applicable only for Matrix.
RenewalTerm: Indicates the Circulation System Provider's renewal term. Applicable for CircPro and NCS.
RenewalLength: Indicates the Circulation System Provider's renewal length. Applicable for CircPro and NCS.
RestartDate: Indicates the Subscription’s Restart Date. Currently, this is applicable for CircPro and Matrix.
CreateRestartEvent: Indicates whether to create the RESTART event. For Saxo, CreateRestartEvent
can be set to False if the client chooses to restart payment without restarting the subscription. Otherwise, this is optional.
ProcessingFeeAmount: Fee amount being paid. Currently, this is applicable only to NCS.
ProcessingFeeTaxAmount: Fee tax amount being paid. Currently, this is applicable only to NCS.
Implementation Notes:
For NCS Circ clients, two new MG2 control internal settings have been added to set the values for the SourceCode and the ReasonCode:
Restart.DTI.ReasonCode
Restart.DTI.SourceCode
Depending on the client, the values for the above-mentioned internal settings will change. If the client does not specify a value for these settings in the MG2 control, the default values that have been given below will be sent to the NCS Circ system.
The default value for "Restart.DTI.ReasonCode" will be "payment".
The default value for "Restart.DTI.SourceCode" will be "MG2".
The following new endpoints have been created to enable One-CSR Portal application to consume the new Payments API and some of the Billing API endpoints. Note: The new One-CSR Portal endpoints are written in bold below.
Endpoint for performing a one-time payment: If Restart, Post API/ApplyPayment (Old) → Post api/RestartPayment => /Payment/Restart (MicroAPI) If not Restart, Post API/ApplyPayment (Old) → Post api/Payment => /Payment (MicroAPI)
Endpoint for updating a payment method in Circulation Systems: api/StartCall/updatePaymentMethod/{subscriptionId} -> Put api/updatePaymentMethod => /Payment/EzPay (Update EzPay Info MicroAPI)
Endpoint for creating a new payment method for a Subscriber: api/CreatePaymentMethod → Post api/PaymentMethod => Billing/PaymentMethods
Endpoint for getting a payment method from Naviga Subsvc database: api/getPaymentMethods/{subscriberId} → Get api/getPaymentMethod => /Billing/PaymentMethods/{paymentMethodId} (MicroAPI)
Endpoint for managing the addition of Tip amount (one-time or recurring) to the Subscription amount:
Post AddTip =>POST /api/AddTipPayment
The Subscribe's PayWay, Stripe, and AuthorizeNet integrations do not support Diners Club credit card. These new endpoints have been incorporated for NCS, DSI, Matrix and CircPro clients from this release.
The endpoints of new Payments API in 3.17.0 fully replace some of the endpoints previously hosted in Billing API. Additionally, some improvements were made to the Payment Methods management within the Billing API, which involved creating new endpoints. These changes have been integrated into the SS consumer application. However, there is no change in the user experience.
EzPay SignUp flow consumes the new PaymentsAPI endpoint (all circ systems), but nothing changes in the user experience. SS has been switched to use the new Create Payment method created in the new PaymentsAPI. There is no visual impact for the existing flow.
Activation fee is applicable only for NCS clients if it is configured in MG2 Control for the specific client.
Payment through bank is not supported for CircPro and Matrix clients.
NCS clients accept recurring Tips whereas SaxoCirc (DSI) clients accept both recurring Tips and Donations. CircPro and Matrix clients accept neither Tips nor Donations.
Implementation Notes:
Subcon.Configuration
In the Payment and Restart pages, there is an optional section called PaymentOptionsSection
that specifies which columns should be displayed in the payment options grid. By default, it will only show 'Term' and 'Amount'. Example:
"PaymentOptionsSection":{
The RestartInfoSummary
section is deprecated (inside Restart module)
The ActivationFeeSection
is deprecated (inside BankAccountSection and CreditCardSection from every BillingWidgetSection, present in payment-related pages)
CMS
New CMS contents have been introduced for each page that has a payment options grid. PaymentOptionsHeader.Term PaymentOptionsHeader.Rate PaymentOptionsHeader.Tax PaymentOptionsHeader.Amount PaymentOptionsHeader.Date PaymentOptionsHeader.OtherCosts PaymentOptionsHeader.IsAutoRenew PaymentOptions.NoPaymentOptionsText
For Autopay options grid
AutoPaySignUpHeader.Amount AutoPaySignUpHeader.Term
For DSI there’s a new checkbox with this content
ShouldRestartSubscription
The POST /Billing/Payments/{subscriptionId}/AddTip
endpoint has now been replaced with a new endpoint, POST /Payment/Tip
, to handle the one-time and recurring payment transactions to add tips.
A new MG2 control internal setting, Payments.MaximumTipAmountAllowed, has been introduced for setting the maximum amount allowed for tip payment.
Implementation Notes:
A new MG2 control internal setting, Payments.MaximumTipAmountAllowed, has been introduced for setting the maximum amount allowed for tip payment.
Previously, when restarting a permanently stopped subscription in NCS Circ, the restart flow triggered an ADDSUBSCRIPTION event to restart the Subscription. In other Circ systems, such as Matrix and CircPro, the RESTARTSUBSCRIPTION event is used rather than the ADDSUBSCRIPTION event.
In order to standardize across all Circ systems, restarting a stopped subscription will now create a RESTARTSUBSCRIPTION event in NCS client databases rather than an ADDSUBSCRIPTION event.
Note: The RESTARTSUBSCRIPTION event will trigger the same request that the ADDSUBSCRIPTION event did previously in the NCS CircAPI, CreateSubscription.
Implementation Notes:
Now, the RESTARTSUBSCRIPTION event is processed with exactly the same configuration as ADDSUBSCRIPTION.
Validation checks have been implemented for all the payment-related operation flows to ensure that only payment method types acceptable to the particular circ system will be allowed for each transaction.
Single Payments:
NCS Circ: Transactions have been allowed through both a bank account and a credit card.
Saxo Circ: Transactions have been allowed through both a bank account and a credit card.
CircPro: Transactions can only be made with a credit card.
Matrix: Transactions can only be made with a credit card.
EZPay:
NCS Circ: Transactions have been allowed through both a bank account and a credit card.
Saxo Circ: Transactions have been allowed through both a bank account and a credit card.
CircPro: Transactions have been allowed through both a bank account and a credit card.
Matrix: Transactions can only be made with a credit card.
Update EZPay:
NCS Circ: Transactions have been allowed through both a bank account and a credit card.
Saxo Circ: Transactions have been allowed through both a bank account and a credit card.
CircPro: Transactions have been allowed through both a bank account and a credit card.
Matrix: Transactions can only be made with a credit card.
Restarts:
NCS Circ: Transactions have been allowed through both a bank account and a credit card.
Saxo Circ: Transactions have been allowed through both a bank account and a credit card.
Matrix: Transactions can only be made with a credit card.
Tips:
NCS Circ: Transactions have been allowed through both a bank account and a credit card.
Note: Any transactions made using other than the allowed payment methods will result in a validation error.
Given that tip and donation payments have been considered one-time charges in the Restart subscription and will always be recurring in the AutoRenew subscription, the POST /Payment/EzPay
and POST /Payment/Restart
endpoints have been modified to remove the input parameters, IsTipAutoRenew and IsDonationAutoRenew, from the request body.
The Payment Methods table structure has been modified as part of the refactoring of the Payments API. As a result, the token will now be mapped to the PaymentGatewayToken column rather than the BillingSystemPaymentMethodId column.
The Billing API has now been modified so that the ExternalPaymentMethodId
will now be associated with the PaymentGatewayToken rather than the BillingSystemPaymentMethodId.
As part of the Payments API restructuring, the following Billing API endpoints that handle the creation and retrieval of Payment Methods have been deprecated and replaced with new endpoints with the suffix 'v2'.
Billing/{subscriptionId}/CreatePaymentMethod
Billing/CreateOrphanPaymentMethod
Billing/{subscriptionId}/CreatePaymentMethodInRepo
Billing/{subscriptionId}/PaymentMethods/{paymentMethodId}
Billing/{subscriptionId}/PaymentMethods/{externalPaymentMethodId}/FromRepo
Billing/CreateOrphanPaymentMethod
Billing/Payments/{subscriptionId}/EzPaySignup
Billing/Payments/{subscriptionId}/ApplyPayment
Billing/Payments/{subscriptionId}/RestartPayment
Billing/Payments/{subscriptionId}/AddTip
Billing/{subscriptionId}/PaymentMethods
To simplify calculations by ensuring that the API returns rounded values without requiring additional rounding operations in consumer applications, the Current Balance returned in the GET /Billing/AutoBill/{subscriptionId}
endpoint and Processing Fees and Tax returned in the POST /Billing/CreditCards/ProcessingFee
endpoint have been modified to return values with no more than two decimals.
The POST /Billing/{subscriptionId}/PaymentMethods
endpoint has now been replaced with a new endpoint POST /Billing/PaymentMethods
to create a new payment method for a Subscriber using either a Credit Card or a Bank Account and to create a new record in the PaymentMethod table in the database.
The Purchase API endpoint, POST /Purchases
, has been updated so that the Newstart flow will create payment methods in the database based on the new Payment Method schema created as part of the Payment API refactoring.
The earlier method for Instant Access involved the API looking for eEdition Complaint events to grant Temporary Access. This method has been changed by integrating the Complaints API with the TemporaryEntitlements API. Now, when creating a complaint with eEdition access as the resolution, a new record will be added to the TemporaryEntitlements table to provide temporary access to the subscribers.
To prevent users from attempting to restart their subscriptions if they already have pending restarts in the future, a validation check has been implemented in the CheckRestartAvailability (GET /Billing/Payments/{subscriptionId}/CheckRestartAvailability
) and Restart (POST /Payment/Restart
) endpoints.
The GET /Billing/{subscriptionId}/PaymentMethods/{paymentMethodId}
endpoint has now been replaced with a new endpoint, GET /Billing/PaymentMethods/{paymentMethodId}
, to retrieve the payment method information from the Naviga System based on the provided input parameter, PaymentMethodId
(the unique identifier of a payment method in Naviga System).
The GET /Billing/AutoBill/{subscriptionId}
API response has now been standardized across all Circ systems to retrieve billing information for a subscription in a single array for both Regular and Stopped subscriptions.
The following output parameters will be returned in the array:
Length
Term
DatePaidThru
Rate
Tax
OtherCosts
Amount
IsAutoRenew
Following the above development, the schema of One-CSR Portal API consuming AutoBill Id has been modified to display accurate rates data in the grid for Payment, Auto renew and Restart flows.
Note:
The API GET /api/GetBillingInformation/options/{subscriptionId} will be used for Restarts from now on, while the API api/GetBillingInformation/StoppedSubscriptionPaymentOptions/{subscriptionId} will be deprecated.
When retrieving billing information for a stopped subscription in Matrix, the GET /Billing/AutoBill/{subscriptionId}
endpoint has been modified to include the PeriodId (output parameters: Term and Length) in the response.
Prerequisites: Circ System & Minimum Supported Version: Matrix, 38.0.034.ITSP6
The Subscribe integration with Newzware has been modified to bypass the Users API and instead utilize Proxy/Gateway to communicate directly with the Newzware API and return the required output.
A code cleanup has been done in the Users API to deprecate all Newzware-related classes.
The Users API endpoints have been updated to replace references to the Users API and integrate with the new UsersOrchestrator endpoints, GET /Users
and GET Users/{UserId}
. To get users, the Users API endpoints now call the UsersOrchestrator API rather than the Users API.
The Subscribe integration with Newzware has been modified to bypass the Entitlements API and instead utilize Proxy/Gateway to communicate directly with the Newzware API and return the required output.
A code cleanup has been done in the Entitlements API to deprecate all Newzware-related classes.
The Purchase API endpoint, POST /Purchases
, has been updated to replace references to the Users API and integrate with the new UsersOrchestrator endpoints. To get users when purchasing a new subscription, the Purchase endpoint now calls the UsersOrchestrator API rather than the Users API. The GET /Users
endpoint will be used for SSOR clients, while the GET Users/{UserId}
endpoint will be used for other authentication systems.
The Purchase API endpoint, POST /Purchase
, has been updated to replace references to the old Entitlements API and integrate with the new Entitlements Orchestrator endpoint, POST /TemporaryEntitlements
. When purchasing a new subscription, this creates a new record in the Subscribe TemporaryEntitlement’s Table.
The Invitations API endpoint, POST Invitations/{invitationId}
, has been updated to replace references to the Users API and integrate with the new UsersOrchestrator endpoint, PUT User/ (update user)
. To update users when creating a new invitation, the Invitations endpoint now calls the UsersOrchestrator API rather than the Users API.
A new endpoint, GET /Users/{CustomerRegistrationId}/Links
, has been added to the UserOrchestrator to retrieve the list of subscriptions associated with the Registration from the SubscriptionLinks table based on the provided CustomerRegistrationId.
The User Orchestrator now includes a new endpoint, POST /Users
, which handles the workflow orchestration between the external services and the SubscribeRegistration API to create a user based on the input parameters listed below.
Email: Required; Subscriber’s email.
CustomerRegistrationId: Optional; Unique identifier for the user in the authentication provider.
EncryptedCustomerRegistrationid: Optional; Encrypted unique identifier for the user in authentication system.
Password: Optional; Subscriber’s password.
VerifyEmail: Optional; Default false. If True is provided, then the registration will not be created right away. Naviga would wait until the user confirmed the registration by clicking the link in the verification email.
ReturnUrl: Optional; URL to which users must be redirected after they have successfully verified their registration.
IgnoreProvider: Optional; If the IgnoreProvider flag is false, it executes a Create operation through the ThirdParty system (Integration). If the IgnoreProvider flag is true, it executes a Create operation through the SubscribeRegistration API (Subscribe).
FirstName: Optional; Subscriber’s first name.
LastName: Optional; Subscriber’s last name.
Metadata: Optional; Metadata must be an object in camelCase format.
The User Orchestrator now includes a new endpoint, PUT /Users/{CustomerRegistrationId}
, to handle the workflow orchestration between the external services and the SubscribeRegistration API to update a user based on the input parameters listed below.
CustomerRegistrationId: Required; Unique identifier for the user in the authentication provider.
Verified: Indicates whether the user has confirmed the registration.
LastLogoutDate: Subscriber's last logout date in the Naviga platform.
RemoveLastLogoutDate: Indicates whether to remove the Subscriber's last logout date.
FirstName: Optional; Subscriber’s first name.
LastName: Optional; Subscriber’s last name.
Metadata: Optional; Metadata must be an object in camelCase format.
IgnoreProvider: Optional; If the IgnoreProvider flag is false, it executes a Create operation through the ThirdParty system (Integration). If the IgnoreProvider flag is true, it executes a Create operation through the SubscribeRegistration API (Subscribe).
The UsersOrchestrator now has a set of new endpoints to handle the Forgot Password and Change Password operations.
The Forgot Password (START) endpoint, POST /Users/ForgotPassword
, has been developed to create the STARTFORGOTPASSWORD (PWDREQ) event and send an email with a link to the subscriber.
The Forgot Password (Validate) endpoint, GET /Users/ForgotPassword/{{EncryptedEventId}}/Validity
, receives an EncryptedEventId and checks whether it represents a valid event for the forgot password flow.
The Forgot Password (FINISH) endpoint, POST /Users/ForgotPassword/{{EncryptedEventId}}
, receives the new password to set based on an event. This will impact the AUTH system.
The Update Password endpoint, PATCH Users/{{customerRegistrationId}}/Password
, updates the new password for a given CRID. This will impact the AUTH system.
The UsersAPI endpoints, POST /Authenticate
and POST /AuthenticateByToken
, have now been replaced with a new UsersOrchestrator endpoint, POST /Users/Authentication
. This endpoint will handle the workflow orchestration between the external services and the SubscribeRegistration API to authenticate a user based on the input parameters listed below.
Login Name (Optional)
Password (Optional)
Token (Optional)
Note: Token-based authentication will only be applicable for Auth0 clients.
The following UserOrchestrator endpoints have been integrated with the Subscription Panel to create, update, and retrieve user data.
GetUser API (/v4/Users?email={email})
CreateUser API (/v4/Users)
Authentication API (/v4/Users/Authentication)
Forgot password API (/v4/Users/ForgotPassword)
GetUserByCRID API (/v4/Users/{customerRegistrationId}/?ignoreProvider={boolean})
UpdateUser API (/v4/Users/{customerRegistrationId}):
The UserInformationV3 component should be included in the presentation in CMS.
CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > UserInformationV3
The GET /Users
endpoint has been enhanced to allow the API to filter the user data in the Subscribe Registration based on the metadata fields.
To search using the metadata:
Since it is a dictionary query parameter, each "Key-Value" pair must be sent individually with the prefix "metadata." For example, if the purpose is to filter users based on their first and last names, the query string will be: "https://UrlBase/Users?metadata.firstName=FirstName&metadata.lastName=LastName”.
When an Email is provided:
the lookup will be performed in Auth system and only one record will be returned.
either pass an Email or encrypted email in the request since the email parameter passed will override the encrypted email value.
When the Metadata is provided:
no more than 10 metadata parameters should be sent.
In addition, each Key and Value of the metadata parameter should not exceed 100 characters.
while creating data, the metadata parameters should be passed in the string type. passing the value as Array will be saved but the GET /Users
endpoint will not fetch the data.
In addition, the workflow has been changed to avoid searching for users based on both the Email AND Metadata. if both values are provided, a validation error will be returned.
When an email is provided:
The lookup will be performed in the Auth system, and only one record will be returned.
Either pass an email or encrypted email in the request since the email parameter passed will override the encrypted email value.
When the metadata is provided:
No more than 10 metadata parameters should be sent.
In addition, each Key and Value of the metadata parameter should not exceed 100 characters.
While creating data, the metadata parameters should be passed in the string type. Passing the value as an array will save it, but the GET /Users
endpoint will not fetch the data.
In addition, the workflow has been changed to avoid searching for users based on both email and metadata. If both values are provided, a validation error will be returned.
Changes have been made to the Get User by ID endpoint, GET /Users/UserId/
, so that if the input parameter, IgnoreProvider, has been set to True, users will be able to get the details of a user based on both the Email and Metadata fields provided at the same time since the data search will be within the database.
If the IgnoreProvider parameter has been set to False, Email and Metadata fields cannot be accepted at the same time, and the API will return a validation error.
The Get Subscription Links endpoint, GET /Users/{CustomerRegistrationId}/Links
, has been updated to return a set of additional output parameters in the SubscriptionInfo object of the API response, which have been listed below.
First Name: The user's first name
Last Name: The user's last name
ServiceTypeInfo (Core object): Includes the details of the service type of the subscription.
EZPay: Indicates whether the subscription has EZPay enabled.
AddressInfo (Core object): Includes the address details of the subscriber.
NewspaperInfo (Core object): Includes the details of the subscribed newspaper.
Subscription Kind: Indicates the kind of subscription, such as trial, complimentary, gift, etc.
The Auth0 API has been integrated with the UsersOrchestrator to handle requests against Auth0 services.
This integration also includes few changes in UsersOrchestrator endpoints as follows:
Create User endpoint (POST /Users
):
UsersOrchestrator will execute the create flow with the prefix "nav" for Custom Customer Registration ID (internal ID) for clients with custom implementations, i.e., if the value of MG2 control flow setting "Flow.Auth0.IntegrationType" has been set to 'Custom'. If the value is not "Custom," the normal flow will be executed by UsersOrchestrator.
When creating a passwordless user, UsersOrchestrator will generate a dummy password and the proper Change Password URL.
Get User By Id endpoint (GET /Users/{UserId}
):
UsersOrchestrator will execute the GET operation with Custom Customer Registration ID (internal ID) as the QueryString parameter for clients with custom implementations, i.e., if the value of the MG2 control flow setting, "Flow.Auth0.IntegrationType", has been set to 'Custom'. If the value is not "Custom," the normal flow will be executed by UsersOrchestrator.
Implementation Notes:
The following setting will be used for the business selection:
SettingKey = Flow.Auth0.IntegrationType
SettingValue = Custom
SettingType = Flow
New class:
Auth0CustomCreateOrchestrator
Auth0CustomGetByIdOrchestrator
Validation checks have been implemented in the Metadata fields of the POST /Users
and
PUT /Users/{CustomerRegistrationId}
endpoints to make sure that the value provided is in an acceptable format.
When providing the Metadata,
The Metadata key should not be more than 100 characters long.
Non-object values of the Metadata parameter cannot be more than 100 characters long.
These validations will also be applicable to nested properties.
A new endpoint, PATCH /Users/{{CustomerRegistrationId}}/Email
, has been developed to update the email of a Subscribe Registration in SubCon and the Auth System.
The workflow for updating the email address of a Subscribe Registration will be as follows:
The UsersOrchestrator executes a GetById operation (GET /Users/{UserId}) through the third-party or the SubscribeRegistration API.
The UsersOrchestrator then executes an Update Email operation (PATCH /Users/{{CustomerRegistrationId}}/Email) through the ThirdParty/SubscribeRegistration API.
This will create a CHGEMAIL event for all the normal cases.
For Firefly tenants,
If the new email does not exist in Firefly, a simple update email for the existing user will be required. The CHGEMAIL event will also be triggered in this instance.
If the new email exists in Firefly, a TRANSFERLICENSE event must be triggered for each linked subscription in order to transfer the link from the old email to the new email.
The UsersAPI endpoint, POST /User/VerifyEmail
, has now been replaced with a new UsersOrchestrator endpoint, POST /Users/Verification
, to perform the email verification operation based on the provided email and the verification code.
A new endpoint, POST /Users/VerificationCode
, has been developed to send or resend a Verification Code by email so that users can click on the verification link provided in the email in order to start using their new registration.
Implementation Notes:
Email for Event 670 needs to be set up in the One-CSR portal.
When carrying out CRUD operations, the FirstName and LastName properties will be added to the root of the User object instead of being part of the Metadata.
The UserOrchestrator API has been updated to include the registration status in the API response.
The GET /Users
and GET /Users/id
endpoints have been updated to include a new output parameter, State, which returns the status of a registration.
The registration's status will be returned as follows:
If the tenant has been associated with a third-party authentication system such as Auth0, Firefly, etc., the State will be returned as Standard.
If the tenant has been associated with MG2 Auth:
When the Password field in the database remains blank, the State will be Lite.
When the Verified field in the database has been set to False, the State will be Unverified.
When the Password field hasn't been blank and the Verified field has been set to true, the State will be Standard.
The POST /Users
endpoint has been modified to display an error when trying to create a registration that already exists in the database and has the Verified field set to false.
The POST /Users/Authentication
endpoint has been modified to display an error when trying to login with an Unverified or Lite registration.
A new endpoint, PATCH /Users/{CustomerRegistrationId}/CustomerRegistrationId
, has been developed to update the CustomerRegistrationId (CRID) of a Subscribe Registration in the database.
The workflow for updating the CRID of a Subscribe Registration will be as follows:
Based on the CRID provided in the API request path, the UsersOrchestrator performs a GetById operation (GET /Users/UserId
) through the SubscribeRegistration API. The flow will be terminated if the provided CRID does not exist in the database.
Based on the CRID provided in the API request body, the UsersOrchestrator performs another GetById operation (GET /Users/UserId
) through the SubscribeRegistration API. The flow will be terminated if the provided CRID does not exist in the database.
The Update CRID endpoint updates the record found in the database with the information retrieved by the Provider.
If both the CRID and the EncryptedCRID have been provided, the API will update both values in the database.
If only the CRID has been provided, the API will calculate the EncryptedCRID and update both values in the database.
If only the EncryptedCRID has been provided, the API will return a validation error since the CRID must be provided.
In the old Users API, a few endpoints were based on RegistrationID, while others were based on CustomerRegistrationID. However, in the new Users Orchestrator API, all endpoints use the CustomerRegistrationID as the main key for finding a registration. As a result, changes have been made to replace the parameter, RegistrationID, in the old APIs with CustomerRegistrationId.
The following APIs have been updated:
MessagingAPI
In the GetCampaignEmails endpoint, RegistrationId has been replaced with CustomerRegistrationId. The CustomerRegistrationId will then be used to filter the Campaign Messages in the database Store Procedure. This change has no impact on the existing functionality.
InvitationsAPI
In the CreateInvitation endpoint, HostUserId has been replaced with HostUserCRID. The HostUserCRID is then utilized in the database Store Procedure without impacting the existing functionality. In addition, events will now be created by providing the EventData with a CustomerRegistrationId instead of a RegistrationId.
ComplaintsAPI
In the CreateComplaint endpoint, RegistrationId has been replaced with CustomerRegistrationId. The events will now be created by providing the EventData with a CustomerRegistrationId instead of a RegistrationId.
Note: The logic for populating registration's info fields will now be based on the CustomerRegistrationId, instead of the existing logic using RegistrationId (ApiCreateEventLog).
Changes have been made at the application level in the Users Orchestrator such that each operation now triggers its own event, so that the Event Log has a clear picture of everything that takes place either in the AuthSystem or in the DB, regardless of the AuthSystem that tenant has been configured for.
Implementation Notes:
The new events created for UsersOrchestrator no longer require the trigger_post/newspapereventprocessorassignments configuration. However, the new events still require email configuration if needed.
Metadata properties such as DisplayName
, OptOutMarketing
, and AgreeToTerms
will be part of the CreateUser
endpoint in the UserOrchestrator
API for Mg2Auth, Auth0 and SSOR user authentication system, starting from this release. When a new user is created following a subscription purchase from SP, the API request body will now include these metadata properties along with other parameters such as FirstName
, LastName
, etc. The FirstName
, LastName
, and metadata will be stored in the Registrations Table of the Subsvc database.
This is applicable only to creating a new user or updating an existing user. Display Name and Full Name will be displayed in the Users section of SubCon Admin.
In this release, the SS application has been enabled to utilize the new set of endpoints in the UserOrchestrator API, replacing the old Users API. Importantly, these enhancements do not result in any visual impact for users.
Some of the valid changes as part of this development are listed as follows:
Previously a single endpoint served multiple operations such as changes to Email, Password and Profile information. With the new API, separate endpoints have been dedicated for each transaction.
When changing an Email, the new endpoint PATCH /Users/{{CustomerRegistrationId}}/Email
is used now. Note: The client GCI that was using Transfer Links endpoint earlier has switched to use this new endpoint.
While changing password, the endpoint PATCH Users/{{customerRegistrationId}}/Password
is used.
When changing any of the Profile fields, the endpoint Update User is used, saving the fields within the Metadata.
Cookie values will only be returned by Authenticate endpoints. Consequently, the Verify flow can no longer authenticate the user. As part of the new enhancement, the verification flow has been tweaked. Once email verification is done, users are prompted to login by entering their credentials. This ensures a seamless and secure authentication process.
Create User:
If the IgnoreProvider flag is false, it executes a GetByEmail operation through the ThirdParty system (Integration) and a Create operation through the ThirdParty system (Integration) and the SubscribeRegistration API (Subscribe).
If the IgnoreProvider flag is true, it executes a Create operation through the SubscribeRegistration API (Subscribe).
CreateOrchestrator- BaseClass - SubscribeRegistration behavior.
Auth0CreateOrchestrator - ChildClass - Uses Flow.UserProvider = “Auth0”
SSORCreateOrchestrator - ChildClass - Uses Flow.UserProvider = “SSOR”
GigyaCreateOrchestrator - ChildClass - Uses Flow.UserProvider = “Gigya”
FireflyCreateOrchestrator - ChildClass - Uses Flow.UserProvider = “Firefly”
Update User:
If the IgnoreProvider flag is false, it executes an update operation through the ThirdParty system (Integration) and the SubscribeRegistration API (Subscribe).
If the IgnoreProvider flag is true, it executes an update operation through the SubscribeRegistration API (Subscribe).
UpdateOrchestrator- BaseClass - SubscribeRegistration behavior.
Auth0UpdateOrchestrator - ChildClass - Uses Flow.UserProvider = “Auth0”
GigyaUpdateOrchestrator - ChildClass - Uses Flow.UserProvider = “Gigya”
FireflyUpdateOrchestrator - ChildClass - Uses Flow.UserProvider = “Firefly”
Forgot Password
ForgotPasswordStartOrchestrator- BaseClass - SubscribeRegistration behavior.
ForgotPasswordValidateOrchestrator- BaseClass - SubscribeRegistration behavior.
ForgotPasswordFinishOrchestrator- BaseClass - SubscribeRegistration behavior.
Change Password
UpdatePasswordOrchestrator- BaseClass - SubscribeRegistration behavior.
Auth0UpdatePasswordOrchestrator - ChildClass - Uses Flow.UserProvider = “Auth0”
GigyaUpdatePasswordOrchestrator - ChildClass - Uses Flow.UserProvider = “Gigya”
FireflyUpdatePasswordOrchestrator - ChildClass - Uses Flow.UserProvider = “Firefly”
Authenticate
AuthenticateOrchestrator- Abstract BaseClass
SubscribeAuthOrchestrator - ChildClass - Uses Flow.UserProvider = “MG2”
Auth0UpdateOrchestrator - ChildClass - Uses Flow.UserProvider = “Auth0”
GigyaUpdateOrchestrator - ChildClass - Uses Flow.UserProvider = “Gigya”
FireflyUpdateOrchestrator - ChildClass - Uses Flow.UserProvider = “Firefly”
The UserInformationV3 component should be included in the presentation in CMS.
CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > UserInformationV3
Auth0 API Integration
The following setting will be used for the business selection:
SettingKey = Flow.Auth0.IntegrationType
SettingValue = Custom
SettingType = Flow
New class:
Auth0CustomCreateOrchestrator
Auth0CustomGetByIdOrchestrator
The new events created for UsersOrchestrator no longer require the trigger_post/newspapereventprocessorassignments configuration. However, the new events still require email configuration if needed.
When linking a subscription or changing a user's details in the registration, the logic used to be to create a UPDATEOCCUPANT event to maintain the subscriber details in sync with the Auth and Circ systems. Changes have been made to remove this logic and to not change the occupant details when changing a user's information through the Update Registration (PUT /User
) and Link Owner (POST /User/OwnerUser
) endpoints.
The Proxy API has been modified to handle requests for both the old Entitlements API and the new Entitlements Orchestrator API listed below.
Post Access (POST /Access)
Post TemporaryEntitlement (POST /)
Get Access (GET /Access)
In order to redirect to EntitlementsOrchestratorAPI, ProxyAPI must have the following settings in place:
MG2 Control Internal setting, EntitlementsOrchestrator - Its value includes a "string.Format" that must be utilized to determine the correct API route. The value by default is "{0}/EntitlementsOrchestrator/".
Note: Since the ProxyAPI directly calls the EntitlementsOrchestratorAPI, GatewayAPI is not involved in the request chain.
Implementation Notes:
If the error message— "Procedure or function 'ApiGetEntitlementAccessByCustomerRegistrationId' expects parameter '@EntitlementId', which was not supplied." has been returned, the Proxy API should be pointing to EntitlementsOrchestrator.
The following endpoints have been removed from the UsersAPI and GatewayAPI. In addition, changes have been made in the Proxy API so that if a client that has upgraded to 3.17 attempts to access any of these endpoints, an error message stating that the endpoint has been deprecated will be displayed.
POST User/ByToken/ (GetUserFromTokenContent)
GET User/Encrypted/{type} (encrypted crid)
GET User/Encrypted/
GET User/{customerRegistrationId}/{type}
GET User
POST User
PUT User
PUT User/{customerRegistrationId}
POST User/Passwordless
POST Authenticate
POST AuthenticateByToken
POST ForgotPassword
POST ForgotPassword/Validity
POST ForgotPassword/ChangePassword
POST User/TransferLinks
Implementation Notes:
MG2 Control Flow Setting, Flow.Users.RedirectToOrchestrator should be configured correctly.
The Post/DigitalAccess
endpoint has been removed from the Entitlements and Gateway APIs. In addition, changes have been made in the Proxy API so that if a client that has upgraded to 3.17 attempts to access this endpoint, an error message stating that the endpoint has been deprecated will be displayed.
Previously, the ProxyAPI handled tenant version selection as well as request redirection to the GatewayAPI, which sometimes acts as an orchestrator and sometimes does not, but always routes requests to internal services.
As part of the Subscribe API refactoring, the old internal services have been migrated and moved to new ones using the orchestrator paradigm, allowing signatures to be created or modified and the output model to be modified in terms of ProxyAPI.
A set of new endpoints has been created with the prefix “v4” as listed below:
v4_DirectIntegration
v4_Entitlements
v4_Subscriptions
v4_Users
Versions 3.17.0 and higher:
ProxyAPI will support both the new and old endpoints.
The ProxyAPI will route requests to the relevant OrchestratorAPI for new endpoints with Prefix v4.
The ProxyAPI will redirect requests to the GatewayAPI for old endpoints (for backwards compatibility with older versions).
The Proxy API has been modified to return Headers (X-SessionId, X-RequestId, and X-Version) in the response headers as well as the correct Status Code (200, 400, 401, 404, 500, 502, etc. ) in the response status.
A new endpoint, GET /ping
, has been developed so that the Naviga monitoring tool can keep monitoring to check whether an API is down.
Affected Endpoints:
Auth0
BPay
DirectIntegration
EntitlementsOrchestrator
MailingOrchestrator
Melissa
NavigaPay
SubscribeEmails
SubscribeEntitlements
SubscribeEvents
SubscribeRegistration
SubscribeRegistrations
SubscribeSubscriptionLinks
SubscribeSubscriptions
SubscriptionsOrchestrator
UsersOrchestrator
The Subscriptions.HHSubscriptionLevel
column in the Subscriptions table has been renamed to HouseHoldLevelId
to establish a foreign key with the HouseHoldLevels table.
The Subscriptions API endpoints GET /Users/{customerRegistrationId}/Subscriptions
, GET /Subscriptions
, and GET /Subscriptions/{subscriptionId}
have now been modified to display the values in the API response based on the renamed property, HouseHoldLevelId.
Modified endpoints:
GET /Users/{customerRegistrationId}/Subscriptions
GET /Subscriptions
GET /Subscriptions/{subscriptionId}
The PUT /Subscriptions/{subscriptionId}
endpoint has been modified to include a new input parameter, PaymentMethodId
, which allows a payment method to be assigned to the subscription in order to process the transaction.
The GET /Settings/{settingkey}
endpoint in the Gateway API has been deprecated because it duplicates with another endpoint, GET /Settings/
, and requires the input parameter SettingKey to be provided as a PathString rather than a QueryString. The endpoint GET /Settings/
will now be utilized instead of the deprecated GET /Settings/{settingkey}
endpoint.
The Apply Payment endpoint, POST /Payment
, has now been added to the PaymentsController in the Gateway and Proxy API.
Previously, the Proxy and Gateway projects included input and output models for each request executed; however, they are no longer in use. Changes have been made to replace the input/output models for Proxy and Gateway projects with objects, preventing custom logic and parameters from being provided in the URL.
To maintain the consistency across applications, the naming convention of the metadata objects for all endpoints in the Invitation API has been changed from PascalCase to camelCase. This modification has no visual impact on users engaging in Invitation flows. The Invitation flows will continue to function as earlier. Invitations can be sent and accepted successfully, and users can be registered with all the provided information.
For MG2Auth clients, when Sign in/Sign up happens on Self-Service Portal, Subscription Panel, or any .com site (auth managed by Connext) the following cookies will be created on the root domain:
igmRegID
igmContent
igmAuth
The primary purpose of these cookies is to maintain the Single Sign-On between SS, Subscription Panel, and the .com site. The igmRegID
cookie stores the encrypted Customer Registration ID.
In a recent development, the endpoint in the old Users API used to look up a user by the Encrypted Customer Registration ID was deprecated. However, for MG2Auth clients, the cookie value was crucial for recovering the user session. With the deprecation of the endpoint, it became challenging for MG2Auth clients to look up the user (since the cookie value was encrypted) and recover or maintain the user session between SS, SP, and .com site.
Instead of reinstating the old endpoint, the decision was made to add a new parameter in the Get Users endpoint. This new parameter will be included in the search criteria to facilitate the required functionality.
Starting from this release, the GET /Users endpoint in the User Orchestrator API will introduce a new parameter: EncryptedCustomerRegistrationId. To ensure consistency across all applications, SS will no longer decrypt the igmRegId cookie value for MG2 Auth clients. The encrypted cookie value will be considered as-is and will be utilized at the GET /Users endpoint in the User Orchestrator API to retrieve user details and recover the user session.
With this enhancement, a user logged into SS and SP with MG2 Auth will no longer be logged out upon reloading the page. This improvement enables the successful maintenance of user sessions.
Implementation Notes:
The User Information V3 component should be present in the presentation. The user can configure the properties by going to:
CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > UserInformationV3
In the Clear Cache API calls, a new header parameter, X-SourceSystem
, has been added as a required field with the value CMS for all the clients.
In addition, the X-MediaGroupCode
header parameter has been changed to X-ClientGroupCode
.
The CMS API now includes a new endpoint, ping
, for monitoring the performance of the CMS application. The application's status can be monitored using the Status/Ping route details.
On the subscription panel, performance issues caused by render-blocking resources such as CSS and JS files on the UI side have been resolved. To prevent the issue, the render-blocking resources will now be preloaded or loaded in an asynchronous manner.
In addition, the "commonResource" and "commonResourceBody" pug files have been included in the layout pug file in order to allow for multiple GTM script additions as well as the ability to add a script in the body of the pug.
When purchasing a subscription in SP through AuthorizeNet, changes have now been made to modify the way parameters have been sent in the CreatePaymentMethod through the Purchase microAPI.
The value of the parameter "ExternalPaymentMethodId" in Purchase microAPI will now have the value of the parameter "CustomerPaymentProfileId" in EndPaymentSession API.
In addition, a new parameter, "ExternalCustomerId," has been introduced to the Purchase microAPI, which will have the value of the EndPaymentSession API parameter, "CustomerProfileId."
Implementation Notes:
Credit card option should be checked for particular offer group id in SolCon.
Credit Card AuthorizeNet component should be there in the presentation.
The Stored Procedure ApiGetActiveSubscriptionByCustomerRegistrationId is optimized now. The ‘where’ clause in the stored procedure was not optimized and hence it was taking time to execute. After the optimization rework, the performance of stored procedure is enhanced, and cost of execution is reduced.
The Registrations table has undergone cleanup to align with the fields decided for mapping in the new Users Orchestrator API.
The list of columns after the cleanup are as follows:
RegistrationId
CustomerRegistrationId
EncryptedCustomerRegistrationId
EmailAddressId
NameFirst
NameLast
LoginPassword
VerificationCode
Verified
Metadata
LastLogoutDate
AddDate
AddSource
ChangeDate
ChangeSource
Additionally, with the help of a script, data has been moved into the Metadata before deprecating the columns from Subs. The following changes have been done.
Data moved to Metadata:
[title]
[phone] - Metadata - PhoneNumber
[gender]
[age]
[dob]
[dobYYYY]
[acceptsEmailOffers]
[acceptsEmailAds]
[acceptsEmailPromotions]
[isOkToEmail]
[isOkToPhone]
[isOkToMail]
[WorkPhone]
[timeZone]
[scoreMember]
[companyName]
[cellPhone]
[acceptsEENotification]
[ebill_flag]
[eadvan_flag]
[eedition_flag]
[ee_email_flag]
[promo_flag]
[feat_flag]
[dealdigger_flag] [ads_flag]
[member_event_flag]
[contentEngagement_flag]
[subcom_flag]
[survey_flag]
[accountUpdates_flag]
[Photo]
[DisplayName]
[OptOutMarketing]
[AgreeToTerms]
[bounceType]
Data Removed:
[AuthSystemId]
[nameFull]
[nameMiddle]
[emailAddress]
[emailFormat]
[registrationAddressId]
Some discrepancies in the Database that were causing data issues have been fixed by altering the schema. There is no impact on the end user.
As part of the API Refactor and the development of the new Users Orchestrator API, an entirely new set of Event Types have been introduced to replace the previous event types associated with transaction emails and were triggered by the old User API endpoints. A post-deployment script has been created to assign the TransactionEmail to the new event types, ensuring the successful sending of transaction emails when the corresponding new events are triggered. After deployment, TransactionEmails (that are configured under 'Event management > Event types emails' against each Event ID in One-CSR Portal) will be assigned to new event types.
The following event types are the ones that got replaced by the new ones:
Implementation Notes:
A script has been incorporated into the DACPAC (Data-tier Application Component Package) to replace the old event types with the new ones.
A new version of the 'Create Payment Method' endpoint, previously part of the Billing API prior to 3.17.0, has been introduced in the new Payments API starting from version 3.17.0. To ensure synchronization between Sync jobs and the API refactor, the following modifications have been made:
The input model has been streamlined to only receive the essential payment information (masked in case of CC), Payment gateway token, and customer ID (if the Payment gateway exposes it).
The PaymentMethods table has been revamped retaining only the columns that are essential.
Deprecated columns 1. SubscriberId 2. NameFirst 3. NameLast 4. CompanyName 5. Title 6. Phone 7. Currency 8. Description 9.PaymentMethodType 10. customerSpecifiedType 11. merchantPaymentMethodId 12. sortOrder 13. creditCardSecurityCode 14. creditCardLastDigits 15. creditCardExpirationDate 16. billingSystemCustomerId
Added columns 1. PaymentGatewayToken 2.PaymentGatewayCustomerId 3. BankName
Renamed columns 1. RoutingNumber → BankRoutingNumber 2. creditCardType → creditCardTypeId
The change in the logic flow of Payment Method:
There will no more relationship between Subscriber and PaymentMethods table. This means that, there will be only one payment method associated to each subscription (Subscription already has a Foreign Key to PaymentMethod table).
In the new logic, Sync jobs will perform the following:
If a new Subscription record has to be created, its corresponding PaymentMethod record will be created.
If it's an EZPay Subscription, the Payment Method will be populated with the Autorenew information the corresponding subscription already has.
If it's NOT an EZPay Subscription, the Payment Method will be populated with the most recent Payment done by that Subscription.
For existing Subscriptions, the sync job will assure that the information is correctly updated.
The current info (CC, BK, etc) will be compared with the information exposed in the file. If there is any change, the Subsvc record will be updated. Whenever an update occurs, the PaymentGatewayToken and PaymentGatewayCustomerId columns wil be updated to NULL.
As part of the 3.17.0 Refactor, the Registrations table in Subsvc DB underwent cleanup so as to map the fields correctly to the new Users Orchestrator API introduced in this release. Some columns are retained, some are moved to Metadata field whereas a few are deprecated.
These modifications have eventually led to database schema changes. These changes were implemented in sync jobs to ensure effective data synchronization, subsequently reflecting correctly in OI DB, and from there, propagating to Subscribe DB.
The payment provider PayTrace has been successfully integrated with NavigaPay. Now it is possible to successfully complete payment transaction with PayTrace through NavigaPay from SP and Self-Service Portal. In the payment iFrame provided by PayTrace, the user can enter a credit card number with a maximum of 19 digits in the Credit Card field. The CVV number can have a maximum of 4 digits in the CVV field (4 digits of CVV is for AMEX cards).
NOTE: PayTrace does not support special characters in the User name field. If a user enters any special character in the User name field, the system will throw an error.
If the user is browsing in Incognito mode, then third-party cookies must be allowed in the Chrome settings to load NavigaPay PayTrace. To enable third-party cookies on the browser perform the following steps: Chrome > Settings > Privacy & Security > Third-party cookies > Allow third-party cookies.
This integration was achieved through enhancements made to the Subscription Panel, CMS and Self-Service Portal. The details of these application-specific enhancements are provided below:
PayTrace Integration - CMS Configurations
A new CMS component NavigaPayPayTraceV3 has been introduced with the following properties.
The users can configure the properties by going to: CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > PaymentMethodsV3 > NavigaPay PayTrace V3
The style of PayTrace iFrame has been customized and matched with the look and feel of the Self-Service Portal and Subscription Panel.
Implementation Notes:
Client using NavigaPay with PayTrace should contain a CSS file of a particular theme.
For customizing PayTrace iFrame style, the following list of MG2 Control API setting keys must be in place:
SubscriptionPanel.NavigaPay.SiteCode = cvpaytrace
SubscriptionPanel.NavigaPay.SiteKey = fred
SubCon.NavigaPay.FieldOptionalString
SubCon.NavigaPay.LabelString
SubCon.NavigaPay.SubmitButtonString
SubCon.NavigaPay.CurrentCSS
The POST /Billing/Payments/{subscriptionId}/ApplyPayment
endpoint has now been replaced with a new endpoint, POST /Payment
, to perform a one-time payment in Circulation Systems (Saxo) based on the below input parameters.
SubscriptionId: the unique identifier of the Subscription in Naviga System.
PaymentMethodId: the unique identifier of the payment method in Naviga System.
DonationAmount: Donation amount.
TipAmount: Tip amount.
TotalAmount: The total amount being paid (PaymentOptionAmount + TipAmount + DonationAmount + ProcessingFeeAmount + ProcessingFeeTaxAmount).
PaymentOptionAmount: The Payment Option Amount being paid.
IgnoreFee: Indicate whether the Activation Fee should be ignored. Applicable for NCS clients.
TransactionId: Transaction ID created by the Payment Gateway when creating a new Payment Method. Applicable for Matrix clients.
ProcessingFeeAmount: The Fee amount being paid. Applicable for NCS clients.
ProcessingFeeTaxAmount: The Fee tax amount being paid. Applicable for NCS clients.
Note:
The Activation Fee is only applicable to NCS clients, and the amount can be defined in DTI.MG2Control setting ActivationFeeAmount (applicable if IgnoreFee is set to false). Currently, this is not taken into consideration in the TotalAmount validation.
The POST /Billing/Payments/{subscriptionId}/RestartPayment
endpoint has now been replaced with a new endpoint, POST /Payment/Restart
, to restart a stopped subscription in Circulation Systems (Saxo) based on the below input parameters.
SubscriptionId: the unique identifier of the Subscription in Naviga System.
PaymentMethodId: the unique identifier of the payment method in Naviga System.
Donation.DonationAmount: Donation amount.
Tip.TipAmount: Tip amount.
Donation.IsDonationAutoRenew: Indicates whether the Donation amount should be auto-renewed. Applicable only for Saxo.
Tip.IsTipAutoRenew: Indicates whether the Tip amount should be auto-renewed. Applicable only for Saxo.
TotalAmount: The total amount being paid (PaymentOptionAmount + TipAmount + DonationAmount + ProcessingFeeAmount + ProcessingFeeTaxAmount - Subscription’s Balance).
PaymentOptionAmount: The Restart Option Amount being paid.
TransactionId: the Transaction ID generated by the payment gateway when a new Payment Method is created. Applicable only for Matrix.
RenewalTerm: Indicates the Circulation System Provider's renewal term. Applicable for CircPro and NCS.
RenewalLength: Indicates the Circulation System Provider's renewal length. Applicable for CircPro and NCS.
RestartDate: Indicates the Subscription’s Restart Date. Currently, this is applicable for CircPro and Matrix.
CreateRestartEvent: Indicates whether to create the RESTART event. For Saxo, CreateRestartEvent
can be set to False if the client chooses to restart payment without restarting the subscription. Otherwise, this is optional.
ProcessingFeeAmount: Fee amount being paid. Currently, this is applicable only to NCS.
ProcessingFeeTaxAmount: Fee tax amount being paid. Currently, this is applicable only to NCS.
The POST /Billing/Payments/{subscriptionId}/EzPaySignup
endpoint has now been replaced with a new endpoint, POST /Payment/EzPay
, to create a payment method for a recurring payment (EZPay) in Circulation Systems (Saxo) and assign it to a subscription in Naviga System based on the below input parameters.
SubscriptionId: Unique identifier of the Subscription in Naviga System.
PaymentMethodId: Unique identifier of the payment method in Naviga System.
PaymentOptionAmount: EZPay Option Amount that will be paid.
Donation.DonationAmount: Donation amount.
Tip.TipAmount: Tip amount.
Donation.IsDonationAutoRenew: Indicates whether the Donation amount should be auto-renewed. Applicable only for Saxo.
Tip.IsTipAutoRenew: Indicates whether the Tip amount should be auto-renewed. Applicable only for Saxo.
RenewalTerm: Indicates the term to the Circulation System Provider. Applicable only for Matrix, CircPro, and NCS.
RenewalLength: Indicates the length to the Circulation System Provider. Applicable only for Matrix, CircPro, and NCS.
The PUT /Billing/{subscriptionId}/PaymentMethods
endpoint has now been replaced with a new endpoint, PUT /Payment/EzPay
, to update the payment method for a recurring payment (EZPay) in Circulation Systems (Saxo) and assign it to a subscription in Naviga System based on the input parameters SubscriptionId
(the unique identifier of the Subscription in Naviga System) and PaymentMethodId
(the unique identifier of the payment method in Naviga System).
A new endpoint, GET /Subscriptions/{SubscriptionId}
, has been developed to retrieve the complete details of a particular Subscription based on the provided input parameter SubscriptionId
.
A new endpoint, GET /Subscriptions
, has been developed to retrieve a paginated list of Subscribe Subscriptions.
A new orchestration API, GET /Subscriptions/{SubscriptionId}/Links
, has been developed to handle the workflow orchestration between the external services and the SubscribeSubscriptionLinks API. The API retrieves the list of Registrations associated to the Subscription in SubscriptionLinks table based on the input parameter SubscriptionId
.
A new orchestration API, GET /Subscriptions/{SubscriptionId}/LinksInformation
, has been developed to handle the workflow orchestration between the external services and the SubscribeSubscriptionLinksInformation API. The API retrieves the Subscription.DefaultOwnersLimit
and Subscription.DefaultGuestsLimit
configured for a Tenant based on the input parameter SubscriptionId
.
A new orchestration API, GET /Subscriptions
, has been developed to handle the workflow orchestration between the external services and the SubscribeSubscriptions API. The API retrieves a paginated list of subscriptions based on the provided user’s details (First or Last name, account number, Email, Phone, etc.).
A new orchestration API, GET /Subscriptions/{Id}
, has been developed to handle the workflow orchestration between the external services and the SubscribeSubscriptions API. The API retrieves a paginated list of subscriptions based on the provided ID (Subscribe SubscriptionId).
A new MG2 control internal setting, SubscriptionsOrchestrator, has been added.
The below two new MG2 control internal settings have to exist in MG2 Control.
Subscription.DefaultOwnersLimit: The maximum number of Links that can be set for Owner Type is defined by this setting.
Subscription.DefaultGuestsLimit: The maximum number of Links that can be set for Guest Type is defined by this setting.
A new endpoint, GET /SubscriptionLinks
, has been developed to retrieve the Subscribe Subscription Links based on the input parameters CustomerRegistrationId
, RegistrationId
, and SubscriptionId
. In order to obtain the details, at least one of the aforementioned input parameters must be provided.
A new endpoint, POST /SubscriptionLinks
, has been developed to create a new Subscribe Subscription Link in the SubscriptionLinks Table based on the input parameters CustomerRegistrationId
, SubscriptionId
, and TypeLink
(OWNER or GUEST).
A new endpoint, PUT /SubscriptionLinks/{subscriptionLinkId}
, has been developed for modifying the Subscribe Subscription Link in the SubscriptionLinks Table based on the input parameter SubscriptionId
.
A new endpoint, DELETE /SubscriptionLinks/{subscriptionLinkId}
, has been developed to delete a Subscription Link from the SubscriptionLinks Table based on the input parameter SubscriptionId
.
A new endpoint, PUT /SubscriptionLinks/{SubscriptionLinkId}/Transfer
, has been developed to update the CustomerRegistrationId of a Subscription Link in the SubscriptionLinks Table based on the input parameter CustomerRegistrationId
.
Implementation Notes:
A new event_type_id, UPDATELINK event_type, has been added in subcon.database.
The GET /Subscriptions/subscriptionId/Cancelled
endpoint has been integrated with the PermStop CircAPI so that the Subscribe API now creates and processes the GETPERMANENTSTOP event to retrieve the real-time scheduled stops for a given subscription instead of consuming the data from the Subsvc database when checking the status during the cancellation of a subscription in NCS Circ.
The GET /Subscriptions/subscriptionId/Cancelled
endpoint has been integrated with the getFutureChanges CircPro LawAPI so that the Subscribe API now creates and processes the GETPERMANENTSTOP event to retrieve the real-time scheduled stops for a given subscription instead of consuming the data from the Subsvc database when checking the status during the cancellation of a subscription in CircPro.
The GET /Subscriptions/subscriptionId/Cancelled
endpoint has been integrated with the CancellationListID MatrixAPI so that the Subscribe API now creates and processes the GETPERMANENTSTOP event to retrieve the real-time scheduled stops for a given subscription instead of consuming the data from the Subsvc database when checking the status during the cancellation of a subscription in Matrix.
Prerequisites:
Circ System & Minimum Supported Version:
CircPro, 2021-3.0
Matrix, 38.0.034.ITSP6
This page has high-level Release notes for the major 3.16.0 Release
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
Please note that this is a complete document. The last changes made Sep 21st 2022.
The major 3.16.0 Release introduces several new features like new In Grace subscription status (NCS only), Restarts of stopped subscriptions for Matrix and CircPro circulation systems, import/export of selected Offer Group(s) in Solicitor Concierge etc. The Release also contains security and password improvements and search improvements. Several more use cases are now supported for upgrade/downgrade for NCS circ: upgrade/downgrade from Digital to Print with address update and upgrade/downgrade with opting in/out of ezpay.
Please note that due to the critical issues found we can not guarantee upgrade/downgrade from Digital to Print with address update and upgrade/downgrade with opting in/out of ezpay working correctly. We recommend waiting for the next version and apologize for any inconvenience Note added Jul 5th 2022
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Starting from 3.16.0 Release PurchaseAPI must be used for all new starts instead of SubscriptionsAPI
IF you're currently using our SubscriptionsAPI, please input a Salesforce case requesting a new token for the PurchaseAPI
The document contains the major new features and changes in the minor 3.16.1 release. It also documents known problems and workarounds, if any
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
This is a complete document. The last changes were made Oct 11th 2022.
3.16.1 is a minor release hence it does not contains any breaking changes, but mostly enhancements, bug fixes and several small new features. The new features supported are related to corporate subscription and registrations, localization and the Landing app.
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
The release notes for the internal stakeholders can be found in (access required)
Please note that the minor release will include all the hotfixes. The hotfixes documentation can be found at
The following new features appear in this release
The following enhancements were introduced to the existing features
The following bugs were fixed in this release
Upgrade/Downgrade not allowed with Temporary stop settings - bug fix was moved to 3.16.2 Note updated Oct 11th 2022.
The document contains the major new features and changes in the minor 3.16.3 release. It also documents known problems and workarounds, if any.
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
With the 3.16.3 release, Naviga now supports multi-factor authentication (MFA) to improve login security for users connecting to the Subscribe application. It also introduces Zip Code validation for Digital Subscriptions, MOTO transactions for Stripe in the One-CSR Portal and Subscription Panel to bypass the 3D secure authentication, as well as program changes to Bulk Registrations Import.
This release also comprises a variety of enhancements to the SubCon Site (Self-service), One-CSR Portal, Solicitor Concierge (SolCon), CMS Content, and Subscription Panel modules and introduces a set of new APIs.
Additionally, this release also contains important bug fixes in various modules of the application.
Please note that in the process of implementation, the sync job has to be updated to 3.16.2. Discover loads must be updated to consider Registrations Metadata (Company Name, Job Title, etc.) in scope.
Note: The regional date format support for Australian clients has been introduced in the OI database. Changes have been made to the Subscribe OI Database to accommodate the dd/mm/yyyy date format in extracts from AUS region clients. However, the Subscribe will store data exclusively in the mm/dd/yyyy format. Note added on Sep 18th, 2023.
Implementation Prerequisite - .NET Framework version 6.0 is required to support the new micro APIs introduced in this version.
The release notes for the internal stakeholders can be found in (access required).
Implemented Single Sign-On (SSO) with Multi-Factor Authentication (MFA), leveraging Auth0 IdP integration. It is now possible to implement SSO and enforce MFA using any IdP that supports MFA and standard SSO protocols. To utilize this feature, the client should have an IdP solution supporting standard SSO protocols. Auth0 can be provided by either Naviga or the client.
For a client user to be able to access the Subscribe application via SSO with MFA support, the client user must be authorized to access the Subscription application via IdP, and MFA should be enforced.
Currently Auth0 supports IdPs such as SAML, OpenID Connect, Okta Workforce, Google Workspace, Microsoft Azure AD, ADFS, Active Directory/LDAP, and Ping Federate.
Refer Auth0 documentation for more details:
If the client has their own Auth0 license, they can perform the setup themselves. Naviga can assist with the setup if required. Clients are required to provide Naviga with the ClientId, ClientSecret and the Domain.
For clients without an Auth0 license, Naviga can provide a license. To inquire about the cost, please contact your Sales Representative.
Application Functionality:
The SSO feature can be enabled for a client based on the value of the Support Viewer Api setting (MG2Control) "Auth0.Subs.IsActive". For handling Auth0 configuration, three more Support Viewer Api settings are created:
Auth0.Subs.ClientId
Auth0.Subs.ClientSecret
Auth0.Subs.Domain
If the setting value of Auth0.Subs.IsActive is 0 then the default Subscribe login page with fields Username, Password, and Sign in button will be available for the user. If the setting value is 1, then the user will be displayed the Auth0 SSO login page with a single button “Sign in With SSO”. The default fields will be hidden in this case.
Clicking on “Sign in With SSO” will navigate user to the Auth0 page of the client based on the values of Domain & Client Id parameters stored within corresponding Support Viewer Api settings against the client.
Based on the entered email address, the user will be redirected to the respective IdP page (for example, Okta page) where the email id and password are to be entered.
Once these credentials are authenticated successfully, Auth0 will check the Subscribe access level for the entered email id. Based on the access defined in Subscribe, the user will be given access to the Landing Page and appropriate options of Subscribe.
If Subscribe application does not have any active user against the entered email id, the access will not be provided regardless of IdP Authentication success.
Finally, when a user logs out from any Subscribe application (One-CSR Portal, SolCon, or CMS) the user will also be logged out from Auth0. Hence, after clicking the logout button if a user re-opens the Subscribe application, user credentials for client IdP and MFA (if enforced) may need to be re-entered. This depends on the IdP session on the user side and the client MFA configuration. The client may choose to enforce MFA for each login or not enforce at all.
Note: When the SSO feature is activated, the password settings section becomes unnecessary for the client. Consequently, if the MFA feature is enabled, the 'Settings' button will be hidden on the Subscribe Landing page for the client. (Please refer to the image above for a glimpse of the Landing page and the Settings button.)
To comply the legal restrictions for certain clients who can sell only within a specific region, zip code validation for digital offers would be effective from this release.
Zip code validation for digital subscriptions is configurable in Subscription Panel with the help of the configurable flag “isValidateDigitalOfferZipcode” in SP Config file.
If the flag value is set to true, the zip code entered will be validated from SolCon Available areas for digital offers. The user will be able to purchase the subscription only if the zip code is available in the SolCon Available areas.
If the flag value is set to false or null, the zip code validation will be omitted.
By default, the flag value is set to false for not impacting the current behavior of the clients. The value of the flag does not impact print offers.
Get Offers API is modified to read “isValidateDigitalOfferZipcode” flag for digital offers.
Note: Digital offers usually don't require Available Areas set up in SolCon. However, to avail of this feature, it is requested that clients must add valid zip codes in SolCon Available Areas and apply those Available Areas on Digital offers. At least one valid Available Area needs to be attached to the billing/sales product for this functionality to work.
From this release, a new enhancement specific to Stripe Payment vendor has been implemented. The Mail Order Telephone Order (MOTO) transaction flow has been introduced in the One-CSR Portal and Subscription Panel to enable the users to proceed with the credit card transaction without the requirement for 3D Secure (3DS) authentication.
With this enhancement, users can now complete payments with both 3D and non-3D stripe cards without receiving the 3DS pop-up window for authentication. Instead, they are taken directly to the Payment Summary page. Consequently, even cards that typically require 3DS confirmation will function without the need for it.
The CreditCardStripeV3 component now has a new property, MOTOTransactionValidation, which can be toggled to enable or disable the MOTO transaction flow.
The users can configure the properties by going to: CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > PaymentMethodsV3 > CreditCardStripeV3 > MOTOTransactionValidation
In the Subscription Panel,
If the MOTOTransactionValidation property is enabled (turned ON), the 3DS authentication pop-up for the Stripe payment method will not be displayed on the payment page.
If the MOTOTransactionValidation property is disabled (turned OFF), the 3DS authentication pop-up on the payment page for the Stripe payment method will be displayed.
Subscription Search > Start Call > Digital > Registrations > Invite OR Invite Without Registration > Import from CSV
The Bulk Registrations Import functionality in One-CSR Portal is revamped such that it is much easier to Add/Append, Modify or Overwrite registration records in bulk while importing the records from an uploaded file. When a user clicks the Import from CSV button, the Bulk Import Window provides a new option 'Choose an action' with radio button options Append, Modify, and Overwrite. By default, the Append action is selected, but the user can re-select the desired option.
The Bulk Registrations Import feature was initially limited to Lite Subscriptions, but starting from this release, this is available for all subscriptions, regardless of the subscription kind. This feature can be configured from MG2 Control.
With this option, a user can modify the existing registration data and pending invites. Records in the Invitation/Registration table with existing email IDs will be modified according to the uploaded file, with the exception that the User Type field cannot be modified if the data is already part of the Registration Table. User Type can only be modified when the data is in a Pending Invite state. Only existing records based on email matching will be modified; no new records will be added or deleted based on the uploaded file. Once the data is displayed in the grid, instead of the "Send Invites" button, a "Save Changes" button will be available to modify the data without sending any email invitations.
When the user selects the Overwrite action while uploading a file, the records in the uploaded file will completely replace the existing registrations in the database. As a result, any record that exists in the system but not in the new file will be deleted from the system. Any record that exists both in the system and the new file will be stored with updated information from the upload file. Additionally, any record that doesn't exist in the system but is present in the file will be added to the system.
Instead of the "Send Invites" button, the button text would be "Update & Send Invites". An alert message will also be displayed for this action: “This action will overwrite existing registrations with new data and cannot be UNDONE. The User type cannot be updated for existing records once the invitation is accepted.”
Note:
During the Append process, the limit for uploading CSV data is determined by either the Pending Invites Limit or a maximum of 1000 records (whichever is lower). During Modify or Overwite actions, the user is allowed to upload not more than 350 records or the Maximum Subscription Limit (whichever is lower). If the number of records in the uploaded file exceeds the set limit, an error message will be displayed.
The format of the uploading file depends on the value of the SV key (MG2Control) “RegistrationAdditionalData”. If the key value is 0, the template will have only the default fields (Email, First name, Last name and User Type) and if the key value is 1, the template file will have extra fields (Company name, Position, Address, Postal Code, City, and Country) along with the default fields.
The client specific script for LiveChat implementation has been added to SubconSite. This can enable a live chat facility on the Self-Service portal that allows users to communicate in real-time. This helps users to receive immediate assistance and resolve any issues they may encounter while using the site. This feature enhances the user experience by providing a quick and convenient means of communication.
Note: To enable the LiveChat feature, Clients need to provide the LiveChat script that Naviga can add to the Subcon Site.
Within the Self-Service portal, when a subscriber logs in and refers the list of subscriptions to manage, the ‘Show more’ link will now provide additional information such as Subscription Status (Active, Stopped, etc.), Access Type (Owner or Guest) along with Ezpay status and Address information.
Section updated on Sep 19th, 2023.
With the latest release, users can now view their subscription kind (Trial, Complimentary, Standard, etc.) on the SubCon site Dashboard, along with the previously available information on their subscription status, base product, and delivery frequency.
From this release, even if the size of the browser window is reduced, the navbar links will be centered both vertically and horizontally instead of being aligned to the top left corner. They will be aligned with the logo as well.
The Address page now dynamically loads the available editable addresses for the current subscription by calling the Availability endpoint. The visibility of addresses in the accordion is managed based on the response from the endpoint. All the existing visibility management logic is removed to ensure the business logic resides on the API side.
If the Availability endpoint indicates that no addresses can be edited, the user is redirected to the Dashboard page with an error message.
The display of date pickers on calendars of SubCon Site pages (Subscription Cancel, Update and Restart pages) has been made consistent. A new function "Get Available Dates" is introduced in the Common Subscription Workflow. This function is responsible for determining the minimum date to display in the calendar and calculates the maximum date based on an offset parameter.
The visual representation of the ‘Downgrade Subscription' button has been improved. When disabled, it will now feature a grey background with white font color. When enabled, it will utilize the primary color as the background with white font color. Updated the presentation of the "I'd like to cancel/upgrade/downgrade" links by converting them into buttons. Standardized the appearance of the "Back" button and the "I’d like to Cancel" button, both of which will now have a grey background. Ensured consistency by applying the same font to all button texts.
Added functionality to display the restart date in the Confirmation UI for subscription restarts. Now, when users restart their subscriptions, the Confirmation UI will include the specified restart date along with other relevant information ensuring a comprehensive confirmation experience.
Enhanced integration with Braintree payment gateway to improve security and compliance. The cardholder name is now available as a hosted field (a part of Braintree iframe) in the user interface of SubCon Site.
A new Restart page has been made available for Matrix clients from this release. The user would be able to pay for the new rate for the subscription and the balance amount, if any. Highlights of this enhancement are as follows:
The user need not select any payment option and the restart date.
If the account has a subscription balance to be paid, a new field ‘Debt’ will be displayed to the user and the user will have to pay a total amount of new rate of the subscription + the debt amount.
Likewise, if the account has a positive credit balance, then a field ‘Credit’ will be displayed to the user and the user will have to pay new rate - credit. Additionally, if the new rate is lesser than the credit balance, then the user need not pay anything.
If by any chance, the system could not retrieve the credit/debt amount, the user will be redirected to the Dashboard page with an error message.
Note:
A checkbox has been introduced only for EZPay subscriptions prompting the users to indicate whether the collected credit card information has to be stored or not for future recurring payments. If the checkbox is checked, an Update Payment Method transaction will be triggered after the successful Restart transaction.
Pre-Requisites:
Circ System & Minimum Supported Version: Matrix, 38.00.034.ITSP6
A new endpoint to monitor the health of SubCon Site application (whether the application is up and running) has been functional from this release. Status/Ping route is added to SubCon Site API that enables the monitoring of SubCon Site.
A new CMS restriction has been introduced that can be used in the ‘Hide Link For’ field. The restriction code to be used is ‘Corporate Subscription’. This restriction would be functional only if Subscription.RegistrationCount is not null and Subscription.RegistrationCount > 0.
When a SS link has Corporate Subscription code selected as part of ‘Hide Link For’ option, the corresponding SS link would be hidden from the SubCon Site page if the selected subscription’s registration count is not null and is greater than 0.
The Subscription dashboard for users has been improved to display Company name (if available) along with their first name, last name, and Account number, allowing for easier reference. Previously, the dashboard only displayed the First name and last name of the user along with the account number, but this enhancement now provides additional user details on the dashboard.
Note: Company Name is an optional field.
The following new guard messages with the same look up name on the Layout page of SubCon Site have been customized using CMS.
Guard.AutoPaySignUp
Guard.RestartSubscription
Guard.StoppedSubscription
Guard.GuestError
Note: The guard messages are notification pop-ups that appear when a user attempts to access an unauthorized page.
Invitation type in SubCon Site has become configurable from this release. The invitation types can be set in the "InvitationType" property that comes under the "SubscriptionShare" section of SS config file. The new invitations types are “Owner“, “Guest“, or “Both”. If the setting is not defined in SS Config, the default value will be “Both” where the Invitation type drop-down displays both ‘Owner’ and ‘Guest’ option.
Client-specific tag managers have been implemented on SubCon Site pages to enable tracking of Accounts management.
The CSR users can now Hide or Unhide remarks in the Show remarks grid. This feature is especially useful for Customer Service Representatives (CSR), as they can hide the irrelevant remarks that are not valid due to any errors/typo and create new ones instead. This ensures an accurate trail of remarks made and helps with auditing.
The Action column in the grid will include Hide/Unhide buttons corresponding to each row, enabling users to easily hide or unhide remarks. Additionally, a "Show hidden remarks" checkbox will be available (unchecked by default) for users to unhide hidden remarks in the grid. If the checkbox is checked, then all remarks will be displayed in ascending order (current behavior) but highlighted in grey color.
A new button 'Export existing users' is introduced that allows users to download a CSV file. This file will include both active registrations and pending invites. The file will have the same format as the one used to import registrations. However, if there are no registrations or pending invites associated with the selected account, the button will be disabled.
When a user clicks on the 'Export existing users' button in One-CSR Portal, the additional registration data (for example, Company name, Position, Address, Postal code, City, Country, and Phone) that was collected during registration process and stored in the system as metadata is also included in the export file. The export data also includes details of registrations that are in pending invite state. Created one new endpoint "api/downloadRegistrationWithAdditionalData" for exporting registered and pending users with additional data.
From this release, event 1107 is made available in the Event type dropdown under History Section of Research/Start Call (Show events) search. When CSR selects event Id 1107 from the dropdown and perform search, the search grid will display the event list of event type 1107. No changes in the display or behavior for the already existing event types.
For a Complimentary subscription, a text message will be displayed at the bottom of the billing address section within the Account Information Tab, stating: "Billing address is not applicable for Complementary Subscriptions."
When a comp subscription is created without an end date, clicking on the icon adjacent to the subscription kind field will display the info, "No End Date".
In the One-CSR Portal of Matrix clients, if a user with stopped subscription (registered for EZPay who has credit card payment method) clicks on the ‘Pay Balance' or 'Restart' button, a checkbox with the text 'Use this payment method for future recurring payments’ will be displayed.
By default, the checkbox will be unchecked. If the checkbox is marked, and the user clicks the Save button, the payment method used for autorenewal will be updated with the entered credit card data. If updating payment method fails, an error message will be shown: “Payment posted successfully! The subscription has been restarted but failed to update the card details.”
In One-CSR Portal, the maximum length of user passwords can now be customized. The previous restriction of password length not exceeding 32 characters has been removed. The password length can now be configured using the MG2 Control App Setting key 'Subscription.MaxPasswordLength'.
However, the minimum password length remains set at 8 characters. If a password with fewer than 8 characters is entered, the system will reject it and display an error message: "Password is missing or invalid. It should be at least 8 characters long". If a user exceeds the set password length limit, the system will provide a notification stating: "Password length limit cannot be exceeded". If the password length is not controlled through the new App setting key, the system will default the password length to a range of 8 to 30 characters.
In One-CSR Portal, the logic to populate the Country field has been revised for NCS clients. The Country field in the Billing address data will be displayed based on the CountryCode from subscriptions API as the primary priority, followed by the Country. If both the Country Code and Country values are null, then the default value 'US' will be displayed in the Country field.
Starting with this release, the Offer API from SolCon returns a complete list of currently active offers, that includes offers configured for GooglePlay and iTunes in addition to the existing set of offers.
The endpoint GET /Address/Routable
has been modified so that it no longer needs the SolCon database to retrieve the offer details. Instead, it uses the GET /Offers endpoint to get the data through an HTTP request.
The endpoint POST /Purchases
has been modified so that it no longer needs the SolCon database to retrieve the offer details. Instead, it uses the GET /Offers endpoint to get the data through an HTTP request.
The endpoint POST /Subscriptions
has been modified so that it no longer needs the SolCon database to retrieve the offer details. Instead, it uses the GET /Offers endpoint to get the data through an HTTP request.
A new endpoint, POST /OnPremise/GlobalStandardize
, has been developed for standardizing Australian addresses.
The GET /Address/Standardization
endpoint of the Address API has been modified to integrate the Melissa API (POST /OnPremise/GlobalStandardize
) for standardizing Australian addresses.
A new endpoint, GET /Subscriptions/{subscriptionId}/MovesAvailability
, has been developed to determine if a subscription qualifies for the transaction to be processed and, if it does, whether the delivery address, billing address, or both addresses can be modified in SubCon Site.
The Moves Availability rules are as follows:
For Digital Subscriptions, the Delivery Address shouldn't be modifiable.
For Complimentary Subscriptions, the Billing Address shouldn't be modifiable.
For the Digital Complimentary Subscriptions, the transaction shouldn't be eligible to be processed.
The remaining Subscriptions are allowed to process Moves.
The POST/TemporaryStops
endpoint now includes two new input parameters: Source Code and Sub Source Code. Source Code must be provided as a mandatory input parameter, while Sub Source Code is only required if the Source Code has Sub Sources defined.
Two new MG2 control internal settings have been added to set the values for the SourceCode and the SubSourceCode:
TemporaryStop.SourceCode
TemporaryStop.SubSourceCode
The NewVacation event will have the details of SourceCode and SubSourceCode in the request field, which will be sent to the AddVacation MicroAPI.
Note: The SourceCode (mandatory) and SubSourceCode (optional) parameters for this API should be defined only when using NCS Circ version 2020-5.0 or higher. On the other hand, when clients are on NCS version 2020-5.0 (or higher) and the SourceCode value has not been defined or is invalid, NCS will return an error.
The GET /TemporaryStops/Subscriptions/{subscriptionId}/Availability
endpoint has been modified to include a new input parameter, AllowStoppedSubscription, which allows the validation of stopped subscriptions to be bypassed. This end point is also used to determine available dates in other workflows, which has an impact on the restart flow.
The stopped subscription is accepted by the availability endpoint only when the AllowStoppedSubscription parameter is true. Passing the value as blank or false does not bypass the stopped subscription validation.
The API Core has been modified such that it now gathers all the settings that were applied during the processing of a request in the SettingCollector rather than the ErrorCollector.
Details of the RequestId, SessionId, Controller Method Name, and Settings Array are included in the SettingCollector log file.
The API Core has been updated to include a stopwatch to determine the response time taken for the Low-Level APIs.
The time taken will be displayed under the Duration column of the Event_Post_Return_Html.
The POST /Events
endpoint now populates the Registration ID in the event log table if a valid Event_Type_ID is passed in the request.
A validation check has been implemented for the input parameter “RegistrationCount” in the POST/Purchase
endpoint to limit the maximum number of registrations allowed when creating a new start. If the registration count exceeds the value specified in the MG2 control setting, a validation error will be returned.
A new MG2 control internal setting, "Subscription.MaxLinks," has been added with a default value of 100.
Previously, if a user entered both the delivery and billing addresses when creating a new subscription in the Subscription Panel, the APIs would collect the information but not send it to the CircPro application. This occurred because the updateDataWithParsedAddress method only accepted a single address and did not allow for the entry of a second address.
The purchase API has now been modified to send multiple addresses to the CircPro application by replacing updateDataWithParsedAddress with the updateDataWithMailingAddress method.
Now, when creating a new start with a single address, i.e., the same delivery and billing address, only regular address fields will be sent to the CircPro application. And if creating a new start with different addresses in the delivery and billing address fields, the delivery address will be sent to the regular address fields and the billing address to the mailing address fields in CircPro.
A new MG2 control internal setting, "CircPro.SubscribeWebService.EndpointAddress," has been added. The value for this field varies based on each CircPro client.
A validation check has been implemented for the input parameter “RegistrationCount” in the
PUT /Subscriptions/{subscriptionId}
endpoint to limit the maximum number of registrations allowed when creating a new start. If the registration count exceeds the value specified in the MG2 control setting, a validation error will be returned.
A new MG2 control internal setting, "Subscription.MaxLinks," has been added with a default value of 100.
The endpoint, PUT /Remarks/{remarkId}
, has been modified to update the Hidden column under the Remarks table in Subsvc of a subscription based on the details provided for the RemarkID and the RemarkTypeID.
The endpoint, GET /Remarks
, has been modified to include new output parameters, Active and Hidden, to indicate whether a respective Remark of a subscription is hidden or active. The logical values are true and false. By default, the QueryString parameter, request.onlyActives, is set to true.
A new endpoint, DELETE /Remarks/{remarkId}
, has been developed to remove the active status of a Remark based on the provided RemarkID.
The GET /Billing/AutoBill/{subscriptionId}
has been modified to retrieve the amount required to restart a subscription in the API response. The new Matrix endpoint, SubCalculateID, which has been associated with the GetRates event, will return the required details in the response under GetStoppedSubscriptionPaymentOptions only for stopped subscriptions in Matrix Flow.
When restarting a subscription in the Matrix Restart flow, payment-related events will no longer be created if the amount to be paid to restart the subscription is zero.
The POST /Billing/Payments/{subscriptionId}/RestartPayment
now includes a new output parameter, Restart Date, in the response, allowing the API to return the restart date for the accounts in SubCon Site.
When processing one-time payments, the event log will now include either the masked Credit Card number (if the one-time payment is processed through Credit Card) or the masked Bank Account number (if the one-time payment is processed through ACH).
Previously, even if the API response returned error codes like 200, 400, or 500, the HTTP Status Code was always 200. This was due to the APIs not managing HTTP status codes correctly. Due to the fact that the load balancer only depends on the HTTP Status Code, this resulted in the load balancer realizing the server was down quite late.
The HTTP status code is now returned correctly to match the API response error code as a result of conversion logic that has been introduced to the Proxy API handler.
For example, the HTTP status code 503 is now returned instead of the previous HTTP status code 200 when the server is down.
The OSG API, which allows users to download their invoices, has been modified to store the information of the invoice, URL, unencrypted request XML, and result in the Event_Post_Return_Html table of the GetInvoices event type.
A new MG2 control setting, Edgil.SoftDescription, has been introduced to allow the value specified in this setting to be passed to Payway as a processorSoftDescription in the card transaction authorization request. Statement descriptors provide an explanation of charges or payments on bank statements, as well as the information that banks and card networks require to ensure that customers understand their statements.
Previously, on the 'My Profile' page of the SubCon Site, the Last Payment Amount and Expiration Date details for CircPro clients were obtained from the database once a day and were not being retrieved in real-time.
By integrating with the CircPro APIs getCustomers (for the Expiration Date) and getPayments (for the LastPayment Amount), changes have been made to the GET /Billing/AutoBill/{subscriptionId} and GET /Subscriptions/{subscriptionId} endpoints to retrieve these details in real-time.
The information that has been obtained is updated on the ‘My Profile’ page and synced with Subsvc under the Subscription Table.
Pre-Requisites:
Circ System & Minimum Supported Version: CircPro, 2019-2.0
API - Matrix
Previously, the logic for selecting Matrix addresses resulted in the system randomly selecting either the AlternateDeliveryAddress or the Main address for the Delivery address and either the Billing or the Main address for the Billing address. This logic causes an issue when the Main address is considered by Subscribe even when AlternateDeliveryAddress or Billing Address is available.
The logic determining the selection of the Delivery Address and Billing Address has been modified such that:
As for the Delivery Address, the AlternateDeliveryAddress will be used. If there is no AlternateDeliveryAddress, the Main AddressType will be used as the Delivery Address.
The Billing will be used as the billing address. If the Billing address does not exist, the Main address is used instead.
The Lite Form V3 now includes the subscriber's phone number as a component in the Personal Details section with all necessary properties.
If the phone number properties are switched "ON" while creating a new Lite subscription, it is necessary to provide a phone number in the respective field.
The Lite Form V3 of Subscription Panel now includes the subscriber's phone number as a mandatory field when creating a new subscription.
The user can configure the PhoneNumber properties by going to: CMS > Subscription Panel > Presentation (Choose a valid presentation) > Page V3 > Step V3 > Lite Form V3 > Details.
Switch On/Off the properties of PhoneNumber, as required.
The Open Graph image tag (og:image:alt) has been introduced to PresentationPropertiesV3 in CMS in order to facilitate the usage of this tag in the Subscription Panel. If the images can't load on third-party websites like Facebook, this alternative text will be displayed instead.
The Open Graph image tag (og:image:alt) has been added to the Subscription Panel so that an alternative text will now be displayed if the images can't load on third-party websites like Facebook.
The user can configure the properties by going to: CMS > Subscription Panel > Presentation (Choose a valid presentation) > PresentationPropertiesV3 > Details > OgTags ImageAlt.
In order to use Australian phone numbers in the Subscription Panel, phone number validation properties have been added to the components in CMS listed below.
DeliveryInformationV3
BillingInformationV3
IndependentAddressV3
PaymentMethodsV3
Subscription Panel now supports Australian Phone Number based on the CMS configuration. By default, the format for Australian phone numbers has been set to "xx-xxxx-xxxx", where the first 2 digits are any number between 0 and 9, followed by a hyphen (-), then followed by 4 digits between 0 and 9, then followed by a hyphen (-), then followed by 4 digits between 0-9.
The CMS Content module has been updated to support Transport Layer Security (TLS) version 1.2. The TLS version can now also be configured from the web.config file, and image uploads can now communicate with the AWS S3 bucket using the TLS 1.2 security protocol.
This update has been made as Amazon will no longer support TLS 1.1 for its S3 bucket.
Note: If the TLS version is not configured in the web.config file, CMS now uses the TLS 1.2 security protocol by default.
This fix was also merged to 2.39.1, 2.39.1.0, 3.15.2.1, 3.15.3.1, 3.16.0.13, 3.16.1.7, and 3.16.2.4.
Previously, the Company Name provided in the Subscription Panel while creating a new subscription was not being pushed to the Subscribe database. Changes have now been made so that the company name that is provided will be recorded in the Subscribe database along with the subscriber's other details so that it will be displayed on the CSR site.
The Print Subscription will now only be created if the address provided is routable and will return an error if it is not. To make sure that only routable addresses are used for creating Print Subscriptions, an address validation check has been implemented after clicking the Submit button in Subscription Panel.
When processing a payment with GooglePay in the Subscription Panel that had multiple cards set up, switching the payment method from one card to another did not show the chosen card in the GooglePay icon iframe of the payment page.
Changes have now been made so that the selected card for the payment will be displayed correctly in the GooglePay icon iframe on the Subscription Panel payment page.
This is a client-specific case.
When starting a subscription through the CSR Funnel, choosing an offer and clicking "Go to CSR Start Portal" did not load all the necessary fields on the first try; instead, the CSR portal had to be closed and opened again for each offer to load all the fields.
Changes have been made such that the fields now load properly on the very first attempt, and when you click the Submit button, the form is successfully submitted.
Multiple container IDs can now be added to the GoogleTagManager (GTM) container in the Subscription Panel. This allows the use of an array of container ids in the configuration file, and these values will be used in the GTM script in the layout pug file. Note: The client has to use the "commonResource" and "commonResourceBody" pug files in their layout pug file in order to integrate multiple containers.
The client specific GoogleTagManager (GTM) script has been included in the Subscription Panel configuration. Note: To use the GTM script, each client must import the "commonResource" and "commonResourceBody" pug files.
This enhancement is related to clients using GUP authentication.
Previously, in SubCon Site (My Account), when a subscription was restarted after being permanently stopped, the client was unable to link the new account with the old one and was instead directed to their old accounts.
The Subscription Panel (SP) received an incorrect value from the GUP API (currentUserAPICall()) key "isAuthenticatedIncurrentContext", which caused this issue. The customerRegistrationId (CRID) in SP changes into the "anonymousId" if the value supplied for "isAuthenticatedIncurrentContext" is true. The CRID becomes null if the value for "isAuthenticatedIncurrentContext" that the GUP API passes to the SP is false, which prevents the Link Owner event from being called.
Now, the "isAuthenticatedInCurrentContext" value is no longer taken into consideration, and instead, the "isAnonymous" value is used to see whether the user is currently logged in. The userId is null if "isAnonymous" is true; otherwise, the anonymous ID is set to the userId.
And if a subscription has been stopped on SubCon Site (my account), clicking the Subscribe button will direct users to the Subscription Panel URL, where they can purchase a new subscription. A CRID will be generated after the user purchases the new subscription, and by going to SubCon Site/One-CSR Portal, both the stopped and new subscriptions will now be linked.
This is for internal stakeholders only.
Naviga Subscribe is launching the initial release of the brand new Naviga Dashboard in 3.16.3. Naviga Dashboard is a new application that empowers Support, Implementation and Project Management teams to modify their configuration settings without the need of any scripts.
Below is a list of various enhancements that have been implemented in the new Naviga Dashboard:
Appropriate modals with corresponding validations are made available to add, edit or view Api settings on the Tenant and API Settings pages of Naviga Dashboard.
If the ApiSetting value is String, a Textarea will be displayed to input data. No validation in place for Textarea.
If the ApiSetting value is Int, a Textbox will be displayed to input data. Numeric validation implemented.
If the ApiSetting value is Boolean, a Checkbox will be displayed to input data. No validation in place.
If the ApiSetting value is Json, a WYSIWYG form element will be displayed to input data. Json should be properly formed.
The "Edit Tenant" option in the main menu (hamburger menu at top right) on the Tenants page has been replaced with a pen icon that is now included with each entry in the Tenant grid. Clicking the pen icon for a particular tenant record will open a window, allowing the user to easily modify the details for the selected tenant as displayed below.
The Home, Environments, and API Setting Types options have been removed from the sidebar menu and are no longer accessible from the Dashboard. Moving forward, only the Tenants and API Settings options will be available in the sidebar, with the Tenants page being set as the default page.
The Compare Api Settings modal design has been improved. The changes made are enlisted below:
The Title of the modal is changed from “Compare Api Setting Values“ to “Compare <ApiSettingKey name>“
The subtitles have been shortened to just ‘Source’ and 'Target
Modal width has been reduced by 30%.
An unwanted Textbox and Label for the ApiSettingKey have been removed.
The underlying form would be hidden while displaying the comparison results.
A ‘Go back’ button has been introduced on the form showing the comparison results.
The active flag, which was previously used for the logical deletion of an API setting and was present on both the Add and Edit API Settings pages, has been removed now. This decision was made because it seemed illogical to have a deletion flag present on both of these pages.
The DB schema has been improved, by adding the relationship between the ApiSettings, and the ApiSettingDataTypes.
There were some discrepancies found in the Dashboard-specific stored procedures between the Dev branch and the BetaRelease branch. From this release, it has been made sure that all the changes are in place and both branches have the same set of stored procedures. This will ensure that the code is working correctly and consistently across both branches, making it easier to test and release to users.
The Dashboard is accessible only to two Roles: MG2 Admin and MG2 Developer.
Following Stored Procedures and Views are optimized now, and cost of execution is reduced.
GetBillingSubscriptionById
GetBillingInfoBySubscriptionId
GetBillingInfoBySubscriberId
ApiCreateEventLog
ApiGetFilteredEventLog
ApiCreateChildEvent
vwPayments
vwBillingMinimumSubscriptions
vwBillingData
The column size of the Id in RefreshTokens table of mg2_control database has been verified and corrected accordingly. It is changed from Nvarchar(Max) to Nvarchar(200). Proper Indexes also have been added on this table to improve the performance of querying and retrieving data from the table.
In Subscribe, when the lookup strategy (Purchase.GetSubscriber.LookUpStrategy in MG2Control) is set to email, only one occupant has to be returned per email address. However, on the NCS Circ side, a feature has been added that returns multiple occupants when searched using an email.
Due to the above configuration issue, the FindAddressOccupant failed in the Subscription Panel with the error message "Child Event: FINDADDRESSOCCUPANT failed. Error: Completed," which does not clearly state the error occurred because the error handler has not been checking the event status received from the NCS Circ.
The error handling has now been modified so that if NCS Circ returns multiple occupants instead of one, the Subscription Panel now displays a clearer error message, "Invalid occupant result. Only one occupant is expected" rather than "Error: Completed."
This enhancement is specific to NCS Circ clients.
Pre-Requisites:
Circ System & Minimum Supported Version: NCS Circ 2020
The logic to handle event operations has been updated in the new API core, limiting event creation to the Orchestration Layer, where event logs are necessary.
The POST /Cache/All
endpoint has been updated to include a new step that triggers a request to the Users Orchestrator to clear the cache settings from the new Core depending on SubscribeCoreCacheVersion.
The Users endpoint, POST /User/UpdateSolicitationPreferences
, has been modified to return an error when a non-supported tenant is passed in the request for NCS clients. Previously, regardless of whether the occupant was supported, the request was processed by the class that was controlled by the internal flow setting Flow.TrackingCodes.
In order to update the occupant communication flags, a new internal flow setting, Flow.CircSystem, has been added, and the previous internal flow setting Flow.TrackingCodes has been deprecated.
The endpoints, POST /License
(Create License), POST /Subscriptions/Upgrade
,
POST /Subscriptions/Downgrade
, POST /User/OwnerUser
, and POST /User/GuestUser
have been modified in order to prevent the LinkOwner and LinkGuest events from being processed by third-party vendors.
If LinkOwner or LinkGuest endpoints have been successfully processed and the MG2 control flow setting, Flow.EntitlementProvider, has been set to the third-party vendor "Firefly," then the AddExternalEntitlement record will be created by calling the Entitlements/External
endpoint of the Entitlements API.
The User endpoints, POST /User/LinkSubscription/Revoke
and POST /User/GuestUser
have been modified in order to prevent the RevokeLink events from being processed by third-party vendors.
If the RevokeLink endpoint has been successfully processed and the MG2 control flow setting, Flow.EntitlementProvider, has been set to the third-party vendor "Firefly," then the DeleteExternalEntitlement record will be created by calling the POST /Entitlements/External/Revokes
endpoint of the Entitlements API.
A new orchestration API, GET /Users/{Id}
, has been developed to handle the workflow orchestration between the integration services (such as Auth0, Gigya, SSOR, and Firefly) and Subscribe Registration API.
With the input parameter Customer Registration ID (CRID), the API gets the user's information from both the integration service and the subscribe registration. The response displays the combined information.
A new orchestration API, GET /Users
, has been developed to handle the workflow orchestration between the integration services (such as Auth0, Gigya, SSOR, and Firefly) and Subscribe Registration API.
The details of users can be retrieved by providing either the registration email ID or Customer Registration ID (CRID) as an input parameter.
Based on the value of Flow.UserProvider and the IgnoreProvider input parameter, the API gives user information in the following way:
If no valid value is provided in Flow.UserProvider, the API retrieves user information from the Subscribe Registration API.
If a valid value is provided in Flow.UserProvider and the input parameter IgnoreProvider is set to True, the API retrieves user information from the Subscribe Registration API.
If a valid value is provided in Flow.UserProvider and the input parameter IgnoreProvider is set to False, the user's details are retrieved from both the integration service and the subscribe registration. The combined information is displayed in the response.
MG2 control flow setting: Flow.UserProvider value should be set to "Auth0," "Gigya," "SSOR", or "Firefly", depending on the third-party system or integration service being used.
MG2 control flow setting, "Flow.Users.RedirectToOrchestrator", value has to be set to 1 for the ProxyAPI redirection to the UsersOrchestratorAPI instead of the UserAPI. The default and recommended value of this setting is 0 (zero) for this version.
Note for Implementation:
Clients who are currently on 3.16.3 should not set the value of the setting, "Flow.Users.RedirectToOrchestrator", to 1. Only after upgrading to 3.16.3.1 should you update the value of the setting to 1 for ProxyAPI redirection to UsersOrchestratorAPI.
Updated on September 29th, 2023
A new endpoint, POST /SubscribeRegistrations
, has been developed to create Subscribe Registrations.
Based on the provided information, such as the registration’s first and last names and email address, a subscribe registration record will be added to the Registrations table in the database.
A new endpoint, GET /SubscribeRegistrations
, has been developed to return the details of created registrations.
The details of registration can be retrieved by providing either the registration email ID or registration ID as an input parameter.
A new endpoint, GET /SubscribeRegistrations/{CustomerRegistrationId}
, has been developed to return the details of created registrations based on the provided Customer Registration ID.
A new endpoint, PUT /SubscribeRegistrations/{CustomerRegistrationId}
, has been developed to update an existing Subscribe Registration.
Note: If the provided Customer Registration ID does not exist in the Registrations table, a new record will be created with all the details provided.
A new endpoint, GET /SubscribeEvents
has been developed for retrieving the list of events and their details (such as the Event ID, Event Type Code, Add Date, Date Local, Event Status, Event Message Id, Event Message) and pagination information (row number and total rows).
A new endpoint, GET /SubscribeEvents/{EventId}
has been developed for retrieving the complete details of an event based on the provided Event ID.
A new endpoint, POST /SubscribeEvents
has been developed to create a new event.
A new endpoint, GET /SubscribeEvents/{EventId}/Operation
has been developed for retrieving the operation information for an event.
Note: The operation information is retrieved from Event_Post_Return_Html.
The following changes have been made to the CMS module:
The front-end of the CMS Content Module has been changed from WebServices to AngularJS.
The back-end of the CMS Content Module has been changed from Visual Basic .NET (VB.NET) to NET Framework 4.8 (.NET 4.8).
CMS > Notification New > Test Notification New
When choosing the consumer as SubCon, the ResponseObject field in the ‘New Notification Testing’ page has now been made a non-mandatory field.
On the subscription panel, performance issues caused by render-blocking resources such as CSS and JS files on the UI side have been resolved. To prevent the issue, the render-blocking resources will now be preloaded or loaded in an asynchronous manner.
SubCon Site handles various types of Tag Managers. Whenever a new Tag Manager has to be introduced, it required product development. With this new enhancement, any Tag Manager can be implemented in SubCon Site by just updating client’s configuration without any development.
The DOM Service previously consisted of multiple functions dedicated to injecting scripts for various integrations. However, a standardized function has been introduced now that can handle both internal and external scripts. This new function can be utilized throughout the entire application, offering a unified approach.
To clarify, the single standard function is capable of injecting a script by accepting either a URL or a script body.
Starting from this release, resolvers have been incorporated into SubCon Site pages. As a result, the configuration is readily available when the page loads, eliminating the need for defensive code that previously checked if the configuration was null or undefined.
The SubCon Site pages have been upgraded to the latest Angular Version 12. It has also made sure that all the packages (dependencies) are upgraded in parallel. In scope of Angular version upgrades, some NgRx syntax has also been upgraded.
The issue of paper code in the URL getting changed to the paper code of a different newspaper (default newspaper) after clicking My Subscriptions link (Manage > My Subscriptions) has been resolved.
The Tip amount entered by users were getting limited to $50 on My Account page of the Self Service portal while doing the bill payment. The system was not accepting any amount higher than $50. This issue has been resolved and the maximum amount bar is raised to $500 now.
The problem regarding the inclusion of the "Vacation Stop with Restart" reason alongside other permanent stop reasons in the subscription cancellation workflow has been resolved. Following the fix, the "Vacation stop with Restart" reason will no longer appear in the drop-down menu of reasons for permanent subscription cancellation.
The alert message that got displayed on the Cancel page while cancelling a subscription on a non-publishing day was still appearing on the page even after the user navigated to another page and then came back. This has been resolved now.
Even after the successful Autopay Signup, the credit card details entered were not visible in the Autopay Manage page. Likewise, when the user was trying to update the payment details on SubCon Site, the credit card details were blank whereas the same account had credit card info in the One-CSR Portal. These issues have been resolved.
The issue of iframe not loading on the payment page (autopay/signup page) has been resolved. While the issue did not happen in incognito mode, it was affecting the loading of payment pages. This issue has been fixed now.
The users were able to change their password in One-CSR Portal with 32 char long password, but encountered difficulties while logging into the SubCon Site with the newly changed password. However, this issue has now been resolved.
The issue of Notification texts configured in CMS not being displayed on SubCon Site pages (VerifyAccount, TemporaryStop, StopSaver, and SubscriptionUpdate) has been resolved. The "Notification texts configured in CMS" is working fine for all SubCon Site pages without exceptions.
The issue of an increased number of 500 and 404 errors found on clients' servers has been successfully resolved. This was an Authentication system specific issue. For SSOR clients, even if the user was logged out while navigating to the SubCon site, the logout call was triggered and was returning a 500 error. For MG2 Auth clients, the wrong credentials during login were triggering the logout action. After the fix, for SSOR clients, the logout call will be executed with a status 200 and for MG2 Auth clients, there will not be any logout call while entering the bad login credentials.
The push buttons (Details, Edit, Invite, and Forgot Password) located under Registrations in the Digital tab were tightly packed and intersecting with each other. However, after providing enough room between the buttons and reworking the user interface, the buttons now have enough space, and the overall UI appearance has been improved.
While restarting a recently stopped subscription by paying the valid due amount, the CSR was not taken into the existing account with an updated Active status. Instead, CSR was put into a new Start call which was not the expected behavior. This has been rectified now for all Circ systems.
It was not possible to export Custom Report from One-CSR Portal if the dataset to be exported was large. This was caused by an erroneous condition check that relied on row and column counts. After fixing the issue, it is now possible to export the Custom Report regardless of the data size to be exported.
While submitting the update of a user account with any action in the Account Information tab, the user was receiving an error message. After fixing, a user account can be updated successfully without any error message.
The search option Company name is available in One-CSR Portal only if the setting key SubscriberSearchCompanyNameOption in the Support viewer has a value 1. Even when the value of the key was 0, the Company name column was visible in the Search result grid and it was disrupting the layout of the grid.
On the page reload after clicking the Search button, the value of the setting key SubscriberSearchCompanyNameOption was not considered, and the system was displaying the default result grid with Company name column. This resulted in the layout issue. Now after incorporating the adequate checking in place, the result grid is displayed appropriately as per the value of SubscriberSearchCompanyNameOption key.
When the customer support representative user was attempting to add a new user to One-CSR Portal and initiate a subscription call, no offers were displayed, but an error message was appearing, even though offers were already set up in the SolCon. This issue has now been resolved. After the fix, the CSR can now view all offers set up for his teams in SolCon and can select any offer to benefit the customer.
The following issues that were occurring during the process of adding or updating users through the Landing page application have been identified and resolved:
Once a new user is created and success message is displayed, if an edit happens on the user profile before navigating to any page, the system was not accepting it.
Existing users who had access to multiple applications (Products) were only able to view one application when editing their user profile. Attempts to add additional applications resulted in an error indicating that the user already existed.
Some users were missing the Client and/or Environment settings.
Updating the profiles of existing users was not functioning properly and needed attention.
The user was not able to add a Division to a published offer in SolCon. An error message was displayed during this update. This issue has been resolved.
The issue with 'Mark as processed' button in SubCon Admin has been resolved.
When a user attempted to buy a gift subscription using the Subscription Panel's Gift purchase subscription flow, the response for the AddModifyDemographic event was displayed as Null. But manually calling the AddModifyDemographic API worked as expected. This issue has been fixed, and the response will now be displayed correctly.
In the Subscription Panel, when purchasing a gift subscription, a success message was displayed; however, the AddSubscription endpoint returned the error message "Invalid Gifting API Response." The issue has now been fixed, and a subscription will be created without error.
Additionally, after the gift has been redeemed, the gift subscription is converted to a standard subscription after the nightly sync.
The gift flow issues have now been resolved for NCS Circ clients.
Supported Versions:
Minimum Subscribe Version: 3.16.3
Minimum NCS Circ Version: 2020.2 Plus SP1
The error "Value cannot be null. (Parameter 'value')" that occurred on the servers with version 3.16.0 for the Subscription Restart and Auth0 User workflows has been resolved.
This error was caused by the null value issue with the MG2.SubCon.WebApi.Controllers, which prevented the applications from working correctly but triggered a lot of pop-up alerts.
When new events were created through the POST /Events
endpoint, values in the d_unitNum and d_unitType columns for some of the EventTypes were displayed as Null in the event_log table. This has been fixed, and the aforementioned columns will now display the correct details for the corresponding EventType.
CMS > Admin > Page/Segment Management
When creating a new page (or segment) with an existing page (or segment) name, the unclear error message "Sorry, there was a problem adding page (or segment)." was displayed instead of the correct error message "The Page (or segment) with such name already exists". This issue has now been fixed.
While importing a presentation from a JSON file, the import progress content pop-up window became unresponsive after the import was completed, and the user was unable to close the pop-up by clicking the close button (X).
This issue has now been fixed, and the OK button in the pop-up window will only be enabled if the import progress content has reached 100% completion, and clicking the OK button will close the import pop-up window.
CMS > Attributes > (Select any attribute) > Edit (update the required values) > Save > Remove Override
When overriding an attribute, the incorrect success message "Attribute successfully deleted" was displayed instead of the correct message "Attribute override successfully removed". This issue has now been fixed.
CMS > Subscription Panel > Presentations > (Select any Presentation) > Details
The issue with the Detail button not displaying the details of the User Information component for clients with large amounts of data, which caused the database to take longer to load the components, has now been fixed.
When removing an override of a reward, the incorrect success message "Reward successfully deleted" was displayed instead of the correct message "Override successfully removed". This issue has now been fixed.
CMS > Rewards > Add
The issue with rewards being created even when no option for the "Display For" checkbox was selected has been fixed, and creating or modifying rewards without selecting an option under ‘Display For’ will no longer be allowed.
The issue with the "I'd like to provide a different Billing Address" checkbox being automatically selected when the user enters a non-routable address for a Print Subscription and then selects the routable link to a different offer mentioned in the error message pop-up has been resolved by setting the checkbox to false by default.
The regional date format support for Australian clients have been introduced in OI:
All date fields in NCS will be stored in mm/dd/yyyy format in the database (a Progress 4GL feature), regardless of the client's region (US/UK/AUS, etc.). Only the display format varies by region. For example, the display format for the U.S. region will be mm/dd/yyyy, whereas Australia will use dd/mm/yyyy.
Extracted data follows the display format of the field. Therefore, for the U.S., dates in extracts will be in mm/dd/yyyy format, while for Australia, they will be in dd/mm/yyyy format.
There will be no change in date format when receiving requests through CircAPI. NCS expects dates in mm/dd/yyyy format for ALL clients.
CircAPI XML responses may use either yyyy-mm-dd or the client's display format (e.g., dd/mm/yyyy for Australia), depending on the specific API.
ETL changes have been made to accommodate the dd/mm/yyyy format from extracts of AUS region clients. However, Subscribe will store data only in mm/dd/yyyy format.
NCS APIs have been enhanced to handle date format conversion (via Business Rules Setup) when receiving/sending date-related data.
These are partial enhancements checked into 3.16.3 that do not affect any functionality and will be ready for use in a future release.
A new endpoint, POST /Entitlements/External
, has been developed to create an Entitlement for a specific subscription with a third-party vendor, such as Firefly or Piano.
Configuration Notes:
MG2 control flow setting: Flow.EntitlementProvider is set to Firefly.
If the EntitlementStartDate is today, the Entitlement will be created immediately. An AddExternalEntitlement record will be created and processed to create the license.
If the EntitlementStartDate is in the future, the Entitlement will be queued for later processing. An ExternalEntitlementQueue record will be created.
If the EntitlementStartDate is in the past, the request will be rejected.
MG2 control flow setting: Flow.EntitlementProvider is set to Piano.
Irrespective of the EntitlementStartDate, the Entitlement will be created immediately.
A new endpoint, PUT /Entitlements/External
, has been developed to update an existing entitlement for a specific subscription with a third-party vendor, such as Firefly. The AddExternalEntitlement record will be updated based on the information provided.
A new endpoint, POST /Entitlements/External/Revokes
, has been developed to delete an entitlement for a specific subscription with a third-party vendor, like Firefly, when a link or license is revoked.
Once the entitlement has been removed from the account, a DeleteExternalEntitlement record will be created.
The entitlements are recorded in the ExternalEntitlementQueue table if they have a start date in the future. In order to process these entitlements that are in the ExternalEntitlementQueue table when the start date has been reached, a new endpoint, PUT /Entitlements/External/Queue/{ExternalEntitlementQueueId}
, has been developed.
When processing the record from the queue:
If the event has been processed successfully, an AddExternalEntitlement record will be created and processed for creating the license.
The Status column of the record in the ExternalEntitlementQueue table will be updated to either 1 (if the event has failed to process) or 2 (if the event has been processed successfully).
The ExternalEntitlementQueue table's Retry Count column will be updated to 1 if the event could not be processed, and this number will be increased by 1 for each additional failure.
A record's Status column will be updated to 1 (failed) when the RetryCount reaches the value specified in the MG2 Control Setting, OnPremise.ExternalEntitlement.MaxRetryCount.
A validation error will be returned if the queued record has already been processed (either failed (1) or completed (2)).
A validation error will be returned if the record in the queue has a start date in the future.
A new OnPremise endpoint, POST /Entitlements/External/Configure
, has been developed to schedule a task (cron job) that will run every day to check the records for processing the entitlements under the ExternalEntitlementQueue table.
The Status column (0 or pending) and the EntitlementStartDate (should be ≤ Today) are used to identify the Entitlements records that need to be processed.
With the EntitlementQueueId as an input parameter, the identified records will be processed by calling the POST /Entitlements/External
endpoint.
A new OnPremise endpoint, DELETE /Entitlements/External/Remove/{taskKey}
, has been developed to delete a scheduled task created with POST /Entitlements/External/Configure
endpoint.
When creating (POST /Entitlements/External
), updating (PUT /Entitlements/External
), or deleting (POST /Entitlements/External/Revokes
) an entitlement, an Event ID in the input parameter, ParentEventID, will make the respective entitlement the child event of the provided event (ParentEventID).
If no value is passed for the input parameter, ParentEventID, the respective entitlement will have no relation to any other events and is considered a regular event.
An entitlement's parent Event ID will be displayed in the ParentEventID field of AddExternalEntitlement and DeleteExternalEntitlement records. If the entitlement has no parent event, the field will display Null.
The upgrade and downgrade flow for the abovementioned respective endpoints has been updated to include a new step that executes the Create License operation in Firefly through the Update External Entitlement endpoint (PUT /Entitlements/External
).
Once the subscription has been successfully upgraded or downgraded in the Circ System, the AddExternalEntitlement record will be created through the PUT /Entitlements/External
endpoint.
The Purchase API has been modified to include a step at the end of the New Starts flow to create the Entitlement with a third-party vendor, such as Firefly or Piano.
Once the subscription has been successfully created, the AddExternalEntitlement record will be created through the POST /Entitlements/External
endpoint.
A new component, NavigaPay V3, has been added to the CMS to be used as one of the payment methods in the Subscription Panel.
Configuration Notes:
The user can configure the properties by going to:
CMS > Subscription Panel > Presentation (Choose a valid presentation) > PageV3 > stepV3 > PaymentMethod V3 > NavigaPay V3
The cardholder fields to be utilized in the Subscription Panel have now been included in the NavigaPay V3 component.
Configuration Notes:
The user can configure the properties by going to:
CMS > Subscription Panel > Presentation (Choose a valid presentation) > PageV3 > stepV3 > PaymentMethod V3 > NavigaPay V3 > Details > Cardholder fields
The NavigaPay API has now been integrated with the Newstart flow, allowing NavigaPay to be utilized as a payment gateway.
Configuration Notes:
MG2 control flow setting: Flow.BillingProvider should be set to NavigaPay
The direct integration API has been developed as a simple wrapper for external systems and is used in cases when consumer applications need to communicate with a specific system but do not need full integration and instead rely on the subscribe API. In addition to CircPro, this feature can also be used for NCS integration.
With this release, the API development has been completed, and the Solicitor Concierge application will be enhanced to consume this API in an upcoming release.
A new Direct Integration Orchestration API, GET /DirectIntegration/Rates
, has been developed for CircPro clients to return the available rates for a specific publication.
A new Direct Integration Orchestration API, GET /DirectIntegration/StartReasons
, has been developed to return the start reasons available for a publication for CircPro and NCS Circ clients.
Configuration Notes:
MG2 control flow setting: Flow.CircSystem value should be set to either NCS or CircPro based on the Publication information required.
A new Direct Integration Orchestration API, GET /DirectIntegration/Rates/{externalId}
, has been developed to return details of rate codes based on the ID (ID - rate code received in the GET /DirectIntegration/Rates
endpoint) for CircPro clients.
The document contains the major new features and changes in the minor 3.16.2 release. It also documents known problems and workarounds, if any
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
3.16.2 is a minor release, hence it does not contain any breaking changes, but mostly enhancements, bug fixes and several small new features. The new features supported are related to Complimentary subscriptions and Trial-with-Payment subscriptions
Please note that upgrades to this version are no longer available since the Amazon S3 bucket now requires a minimum of TLS 1.2 security protocol, which is not supported by this version.
Note added on June 20th, 2023.
Please note that in the process of implementation, the sync job has to be updated to 3.16.2.
Also for Trials-with-Payment (ideally for the whole release) Subscribe extracts version 5 is required.
The release notes for the internal stakeholders that include Refactors & Tech Upgrades can be found in (access required)
Please note that the minor release will include all the 3.16.1.X hotfixes. The hotfixes documentation can be found in the
3.16.2 minor release has the following new features
The following enhancements are introduced to the existing features
The following bugs are fixed in this release
The fix was also merged to 2.39.0.1 and
When a user hits the ‘Login’ button, the Self-Service portal will direct the user to the Sign-in page. Similarly, clicking the 'Register' button will still direct the user to the Sign-up page, as before. For those interested in learning more about the advantages of this new login experience, you may find additional information here:
When a user hits the ‘Login’ button, the Self-Service portal will direct the user to the Sign-in page. Similarly, clicking the 'Register' button will still direct the user to the Sign-up page, as before. For those interested in learning more about the advantages of this new login experience, you may find additional information here:
The detailed Implementation settings for NavigaPay integration is available here:
The footer page of the CMS Content Module has been changed from Visual Basic .NET () to NET Framework 4.8 (.NET 4.8).
Further details are available here: ColumnMigratorApp →
Payment
CC/Bank
CC/Bank
CC
CC
EZPay
CC/Bank
CC/Bank
CC/Bank
CC
Update EZPay
CC/Bank
CC/Bank
CC/Bank
CC
Restarts
CC/Bank
CC/Bank
N/A
CC
Tips
CC/Bank
N/A
N/A
N/A
CREATELOGIN 68
SUBSCRIBE_USER_CREATE 4002
VERIFYCODE 670
SUBSCRIBE_USER_CREATEPENDING 4003
PWDREQ 64
SUBSCRIBE_USER_STARTFORGOTPASSWORD 4009
"In Grace" Subscription Status
New Subscription status In Grace is now supported in Subscribe. Subscription is assigned status In Grace when its balance becomes negative, but it is not considered as expired and can be used for the duration of grace period. Whether Grace is supported or not and the amount of grace days are set up in NCS Circ
NCS circ only
New phone for the Occupant
During the creation of a new Occupant or updating an Occupant without any phone, the collected phone is saved as a Primary phone. If a new phone is collected for the same Occupant (based on Email + FirstName + LastName + AddressID) then it is saved as Other. Please check public documentation for details Note added Jul 5th 2022
NCS circ only
Password and security improvements for Client Users
Minimum password length is 8 characters. Must include at least one lower alpha, 1 upper alpha, 1 digit, 1 special character
Ability to manage password settings (length, special characters, max password age, password history etc) was introduced in Landing app. Every time the password is reset the link is forced to the users to update their passwords
Report functionality was added to export the list of users with their Role and last activity date. Reports are available in One CSR Portal, Solicitor Concierge, CMS and Landing applications
Ability to manually lock/unlock users is introduced in Landing app. For example Client Admin can now manually unlock the user that was locked automatically due to multiple failed attempts to login
Ability to disable/enable users is introduced in Landing app to prevent access on users that are no longer relevant (e.g. retired) but keep their access record. Disabled users are not able to login and refresh tokens
For the information about Landing app please check our guide Note added Jul 5th 2022
Storing dates in UTC
All the dates used across One CSR Portal and Solicitor Concierge applications are now stored in database in UTC format. The dates are converted to local client date during GET requests
Restarts enhancement
In previous releases we expected some problems with retrieving rates for permanently stopped or inactive subscriptions. Starting from the 3.16.0 Release we're starting to consume new stable MicroAPI solution. More info about Restarts can be found here
Requires minimum 2020.4 version of NCS CIrc
Real-time Occupant lookup during new start
Database occupant lookup was replaced by real-time occupant lookup in NCS circ as a part of async flow during the New Start. There are two types of lookup: standard and email only (default one). For more details please see the PurchaseAPI section. Note added Jul 5th 2022
NSC Circ only
PurchaseAPI for DSI circulation system
All flavours of new starts are now supported for DSI circulation system in PurchaseAPI. More information can be found in our public documentation about API involved in new starts and events reprocessing Please note that starting from this Release the Trial subscription functionality was renamed to Comp
DSI circulation system only
PurchaseAPI inApp
Ability to select between PurchaseAPI and SubscriptionAPI during inApp subscription purchase was added. The new setting isFlow.Purchase.InApp.Redirect
PayPal Auto-Renew Payments not authorizing fixed
The issue of auto-renew payments with PayPal being not authorized in PurchaseAPI was fixed by sending the correct Billing Agreement ID = B
for auto-renew payments into Circ. The issue was caused due to the wrong value Billing Agreement ID
being sent: EC
, for one-time transactions
Note added Sep 21st 2022
Upgrade Digital to Print with Address update
Upgrade subscription to a Print/Hybrid product is now supported for those subscriptions without billing address. Delivery schedule update (i.e. Upgrade) and Billing/Delivery address update are processed in one API call. More information can be found in feature description and CSR user guide Please note that due to the critical issues found we can not guarantee this feature working correctly. We recommend waiting for the next version. Note added Jul 5th 2022
Requires minimum 2020.2.1 version of NCS CIrc
Upgrade/downgrade with opting in/out from EZpay
Upgrade/downgrade from ezpay to non ezpay offer and vice versa is now supported. More information can be found in feature description and CSR user guide Please note that due to the critical issues found we can not guarantee this feature working correctly. We recommend waiting for the next version. Note added Jul 5th 2022
NCS circ only
Search improvements
Search criteria was updated. The following fields are required to perform search: Email only OR Account number only OR Phone number only OR a combination of minimum three other fields.
Also the toggle was introduced to specify if the search should be done against delivery or billing address. The changes were applied both to Subscription search section and search when linking a subscription under User accounts section.
Restarts for Matrix
Restarts of stopped subscriptions from One CSR Portal are now supported for Matrix circulation system
Requires minimum 38.0.34 version of Matrix
Restarts in CircPro
Restarts of stopped subscriptions from One CSR Portal are now supported for CircPro circulation system
Requires minimum version 2021-3 version of CircPro
Import/Export of Selected Offer Group(s) only
During Export it is now possible to select offer groups you want to export. The offer group(s) selected will be exported will all the related entities required. Exported file can be successfully imported.
Offer Group is not allowed to have more than One Base product
Additional validation added to the Offer Group: Offer Group is not allowed to have more than One Base product. Please find more information about Offer Group creation in Solicitor userguide
Trial renamed to Comp
To keep our applications consistent for all the circ systems Trial checkbox and Trial payment method were renamed to Comp. Please find more details about setup in our Complimentary starts setup guide
DSI circulation system, CircPro circulation systems
GooglePay for Braintree+NCS
GooglePay payment method is now supported for Braintree payment processor under NCS Circ. More information can be found in our public documentation
Requires minimum 2020.2.1 version of NCS CIrc
PayPal for frictionless ZIP only starts
PayPal payment option is now supported for ZIP only subscription purchase during the frictionless checkout flow. For more information please see our public documentation about ZIP-only starts and frictionless starts
NCS circ only
Gifting in NCS
Subscribe now allows end-users to purchase gifts for friends, family or self. The gift purchaser can send a gift immediately or on a certain date, e.g. to send on someone’s birthday. The person receiving gift should be able to redeem by clicking on the link in the gift email or manually entering the code. Clients would need to work with their email management team to send gifts on a specific date.
The gift flow issues have now been resolved for NCS Circ clients.
Available for NCS Circ version: 2020.2 Plus SP1 and above.
Please find more details in our private and public documentation. Note updated on July 6th, 2023
Available for NCS Circ version: 2020.2 Plus SP1 and above.
iFrame in liveMode for Authorize.Net
LiveMode for the iFrame in Authorize.Net was enabled in all environments for all the clients instead of testMode Note added Jul 5th 2022
Authorize.Net
Seamless theme updated
The following changes have been made to the Subscription panel's payment checkout page interface:
Seamless Presentation Title Text
The title text of a Seamless presentation can now be defined in CMS through the Sticky Notes V3 component.
Seamless Presentation Password Input Floating Label:
The issue with the floating label of the Password input box being distorted when focused has been resolved.
Note updated on June 29th, 2023.
Updated PayPal Button Style in the payment checkout page
The PayPal button's default style has been set to responsive from the Subscription Panel.
As a result, the button's size will automatically change and adapt to various screen sizes and devices. Note updated on June 29th, 2023.
Upgrade/downgrade with opting in/out from EZpay
Upgrade/downgrade from ezpay to non ezpay offer and vice versa is now supported. More information can be found in feature description
NCS circ only
Cancellation options
Similar to One CSR Portal, three cancellation options are now supported: Immediate cancellation, Next billing cycle, Future date Note added Aug 15th 2022
For this feature to work correctly we recommend to upgrade to 3.16.0.1 patch or 3.16.1 version
Complaints when on Vacation
Complaints are now supported for paused (status P) subscriptions or subscriptions on vacation (status V). The feature is available both for One CSR Portal and Account management. More info about Complaint functionality can be found here. The client can decide(by publication) to expose or hide the complaint option.
Pre-requisites: NCS circ, all versions Tested on: NCS Circ 2020-3.0
Initial Auth0 Screen modification for Account Management
When a user wants to subscribe/activate his Digital account, initial authentication is made easy by enabling the Register tab for the users.
If the user already has a digital subscription, then the Login tab would be active by default instead of the Register tab.
Pre-requisites: N/A
Special characters removed from certain parameters
No special characters are supported in the name fields, address 2 fields, or cardholder name fields. All the exceptions are listed below:
First Name: ' - & / .
Last Name: ' - & / .
email: @. + - _ ,
Cardholder Name: ' - & / # .
House number: / -
Unit number: No Special Chars
Pre-requisites: NCS circ, all versions Tested on: NCS Circ 2020-3.0
Payment Terms for Comp Subscribers
As comp (complimentary) subscriptions are meant to provide free access to the content for the employees and other support staff of a Newspaper publication, events are configured in such a format that for Subscription Kind of ‘Comp’ category, are not fired for payment purpose
Pre-requisites: NCS circ, all versions Tested on: NCS Circ 2020-3.0
Restart events order rectified
RESTART PAYMENT event meant for Payment activation for stopped subscriptions used to fire before the occurrence of RESTART SUBSCRIPTION event. The wrong order of firing events is rectified
Pre-requisites: Matrix, all versions Tested on: Matrix 38.0.034.ITSP5
Carrier Collect restriction for Billing method in CMS
Carrier Collect restriction is present in the Hide links for dropdown in the Links section of the Navigation tab
Pre-requisites: N/A
Hardcoded Message about Software Update removed
There used to be a Modal (Message) window for an API with new functionality to notify the user about the new software update. When the system is up and running, the notification serves no purpose so that was removed. Note: The hardcoded message can be configured from CMS for SWUpdate.Text and SWUpdate.Title segments for Layout (Filter by page drop-down) page. Note updated Oct 4th 2022
Pre-requisites: N/A
Close button added in Solicitor Concierge
A close (x) button is added to the top-right corner of the Offer group
Pre-requisites: N/A
American Express card logo removed
On the payment page in Account Management the Card logos for American Express and related card logos were removed (AmericanCardImages setting set to false. Hiding images setting set to false)
Pre-requisites: N/A
Encoded Subscriber’s Email not accepted
When the user creates a new subscription through Subscription Panel the PurchaseAPI is being called to process a new subscription start. One of these steps is CreateSubscriber in DTI Circulation System. Purchase API was sending an encoded email and DTI API cannot process the same as special characters are not accepted by DTI Circ which caused an error that has been fixed.
Pre-requisites: NCS circ, all versions Tested on: NCS Circ 2020-3.0
Invalid Input for a New Subscription
The PurchaseAPI was not sending proper input for Address and no subscription id was created. As for the new subscription, the system has to generate the Subscription Id by default. This type of subscription is said to be a billed one which means no payment details are required as this is for internal staff of the client or publication.
Pre-requisites: Matrix, all versions Tested on: Matrix 38.0.034.ITSP5
Create Reward returns an unexpected error
An unexpected error was shown when adding a new Reward if there was already at least one Reward. The error message is fixed, a friendly validation message is displayed
Pre-requisites: N/A
Creating a scheduled reward with a start time before the end time
While creating a new reward for a Newspaper client, the Start time later than the End time was acceptable by the system. This behavior is rectified and the system is functioning fine. While creating the reward, if a later date was entered for the start time compared to the end time, the API is giving out an error to notify the user. This is further rectified to give out an appropriate or clear message as “Error! start date can not be greater than or equal to end date”
Pre-requisites: N/A
Error message when a Reward is saved successfully in CMS
While creating the reward, if a later date was entered for start time compared to end time, the API is giving out an error to notify the user. When the error is rectified by entering the correct dates, the Reward details are saved but still, the validation error continues to appear. The only difference it disappears after a few seconds.
Pre-requisites: N/A
The credit card number not encrypted in PurchaseAPI
In Subscriptions API the credit card number is encrypted (does not matter if it is masked) but in Purchase API this functionality was deprecated in 3.16.1 due to being moved to Payments API during its refactor, which is planned for 3.17.0. Still, we need to encrypt the credit card number in the 3.16.X Releases, because otherwise the masked credit card number will not be displayed in the subscription account. In scope of this fix we added credit card number encryption to PurchaseAPI. Note updated Oct 11th 2022
Pre-requisites: N/A
EZPay payment method update resets recurring tip - bug fix
Prior to the fix sometimes when a payment method used for ezpay was updated, the recurring tip was reset. To fix that now TipAmount=null is allowed in case tip amount was not updated during the call. Note updated Oct 11th 2022
Pre-requisites: NCS circ, all versions Tested on: NCS Circ 2020-3.0
Paypal direct integration change to Auth and Capture - bug fix
Paypal Do Express checkout was failing because the API was performing a Sale transaction (TRXTYPE=S). In scope of this fix we updated integration to have Authorize (TRXTYPE=A) and Delayed Capture (TRXTYPE=D) types of transactions Note updated Oct 11th 2022
Pre-requisites: N/A
Stop options not being displayed when scheduling a Permanent Stop in One CSR Portal - bug fix
When trying to schedule a Permanent Stop in One CSR Portal an error message “There are no stop options available for this subscription“ was thrown instead of “Schedule cancellation without refund“ and “Schedule cancellation with refund“. To fix that missing dependencies were added to the component constructor. Note updated Oct 11th 2022
Pre-requisites: N/A
The routable check adds Addresses that do not exist in NCS Circ
New starts were blocked by the Routable check when using addresses that do not exist in NCS circ. The routable check flow was reworked to add Addresses that do not exist in NCS. Note updated Oct 11th 2022
Pre-requisites: NCS circ, all versions Tested on: NCS Circ 2020-3.0
The Late Route Delivery event not fired on the Complaint page
GETROUTEDELIVERYDELAYS event is now fired on the Complaint page as expected
MG2Auth Page not allowing the user to sign out without refresh
MG2Auth Page now allows the user to sign out immediately
Typographical corrections of Account Type options
CheckingsAccount was corrected to Checking Account
Incorrect Subscription retrieved for a Subscription with more the one Product one of them being inactive
The correct subscription is returned. To fix this, the purge policy for inactive records has been modified from 15 days to 7 days. Also, the data is now being fetched based on AddDate column to make sure that the latest record is always returned
Alignment of Payment options / Rates on My Profile page
The payment details/rates of a subscription under My Profile → Billing Information are now Left aligned and in line with other details.
Upgrade/Downgrade of subscriptions not allowed with Temporary stop history
Upgrade/Downgrade is now allowed regardless of the Temporary Stops history The minimum Matrix version is 38.00.034.ITSP5
Scheduled stop not picking the selected stop date
For a scheduled stop the application was passing the current date, not the selected date to the API request. The issue was fixed to pass the selected date from the date picker. The minimum Matrix version is 38.00.034.ITSP5
EZPay for Stop Saver, Start Call & Upgrades/Downgrades Offers
The EZPay field now displays the correct selected option as per the offer setup on the following screens:
Subscription Search → Add account & start call → Select Offer
Subscription Search → Start Call → Stop → Stop Saver Smart Offers
Subscription Search → Offers → Upgrades/Downgrades
At Subscription Search → Start Call → Offers → Upgrade Offer, the Chevron aside Offer Id was not displayed hence the user could not see Marketing Text.
This was made consistent to the Downgrade Offer tab on the same screen and the chevron is now displayed in both tabs.
Active Billing Plans Filter
Within the Solicitor Concierge, Reference Tables → Billing Plans screen, the check Show only Active did not filter the displayed data. The issue is fixed and now all the data is filtered
Select & Export Offers Errors
The issue with exporting selected Offer Groups in Solicitor Concierge is fixed. The minimum Matrix version is 38.00.034.ITSP5
Error in adding a new user to the Team
Adding a new Team member to the existing teams in Solicitor Concierge under the Teams → Team Members section was generating an error since release 3.16.0
This is now fixed and new users can be added to the teams.
Attributes data not auto-refreshed after Import
In CMS under Attributes → Options → Import → Select File → Import → Confirm → Ok, there was no further message or screen auto-refresh with the imported data. The success message is added saying 'Successfully Imported Your data' and thescreen is refreshed.
Additionally, the Ok button on the Import pop-up that was earlier disabled is now enabled.
Benefits - Remove Override Success message
When the user tried to Remove Override for a Benefit and save the record, the wrong success message was displayed.
The message is replaced with 'Override successfully removed'.
Benefits - Save operation without changes
When the user accessed any Benefit record via Benefits → Search and tried to save the record without making any changes, a success message was displayed. The success message is replaced with a warning message 'Warning!! You have not changed Benefit for saving'.
Failed retry logic on AppleV2
In the Web-hooks API Retry endpoint, the AppleV1 logic was applied for AppleV2 causing the whole workflow to fail since these versions are not compatible with each other. The logic is now fixed.
When a registered user who doesn’t have any linked subscriptions visits the My Profile section on self-service, the Subscriptions header will not be visible to them. Earlier, this section used to be visible but with no data
When a user in SA attempts to initiate Permanent Stop with Refund as a preferred option, they were still being displayed as No Refund. However, in SS there is no option for a subscriber & the request is always submitted as No Refund. The issue was identified as an incorrect mapping for Matrix Stop types and API referring to NCSStopTypeCode. This has been fixed by adding a new setting in MG2Control to control the mapping based on circulation and adding the appropriate reference to the applicable Stop Type in Matrix
The Change to Paper Bill request from SubCon Site used to get submitted successfully however the request was not being sent to the circ system appropriately thus leading to failure in change to the Paper bill in the circulation system. The issue has now been fixed.
The following parameters of GoPaperless API have been modified to handle this:
ReasonCode = eBillOut
EbillEmail = Null
RenewalDelivery = Null
OverrideCode = Null
ENGAGE
2.8.7
NCS Circ
2020-5.0
Subscribe Extracts
Version 7
Sync Jobs
3.17.0
Matrix Circ
38.00.034.ITSP9
Circ Pro
2023-2.0
DSI (Saxo Circ)
NOT SUPPORTED
Naviga Pay
2.2
Registration not required to send an Invitation
Until this release, for an invitation to be sent at least one registration linked with the subscription used to be required. Starting from this release an invitation for registration can be sent even without having an existing linked registration.
The visibility of the button is configured by UserAccountSearchDetailsInviteButton
APP setting. To enable the feature, set the key to 1. The setting also controls the usual Invite button in the registration grid visibility.
Pre-requisites: N/A
Sign in through Invitation email
The user invited to join a corporate digital subscription can now accept the invitation received via their email and sign in to access the newspaper.
The recommended setup is:
in CMS please create the new Attribute and set the login URL at the attribute value.
in One CSR Portal go to Event Management tab -> Event Types -> Even Type Emails
select the Invitation Send Event Code and click Edit
in the Update Transaction Email Id window go to the Customer Email tab and select the Subscription Share Invitation option in the Template dropdown
Add the newly created CMS Attribute to the email text and Save
Pre-requisites: N/A
Account Management localization
The following items are now manageable via CMS and hence can be translated to the local language:
The payment gateway setup. Please note that a specific page has to be created for each payment provider (e.g. StripeIframe, SpreedlyIframe etc)
The error message/notification for the unsuccessful payment/invalid payment - a customized page dedicated to every external payment gateway has to be created
getAvailableDatesFailed Page: CancelSubscription
submitPaymentSuccess, submitAutoPay Pages: autopay sign up, manage add tip)
createPaymentMethodFailed and CreditCard.InvalidField Pages: CommonIframe (for Bank Accounts, createPaymentMethodFailed only), StripeIframe, SpreedlyIframe, PeachPaymentIframe, PaywayIframe, BraintreeIframe, CybersourceIframe, AuthorizeNetIframe - Note updated Oct 4th 2022
Payment option's table headers at the AutoPaySignUp page - Note updated Oct 4th 2022:
AutoPaySignUpHeader.Amount
AutoPaySignUpHeader.Term
AutoPaySignUp.NoOptionsText
Days of the week and months in the Date picker, please find the titles of the added fields in CMS, the fields were added to the Layout page:
LongDayName.XXX
ShortDayName.XXX, where the XXX is the name of the day of the week
LongMonthName.YYY, where the YYY is the name of the month
The lookup dropdown options at Verify Account page, please find the titles of the added fields in CMS:
Content: Lastname Segment: PrimarySearchTypeLastNameText
Content: Company Name Segment: PrimarySearchTypeCompanyNameText
Content: Account Number Segment: SearchTypeAccountNumberText
Content: House Number Segment: SearchTypeHouseNumberText
Content: Zip Code and Phone Number # Segment: SearchTypePhoneNumberText
Content: Share subscription Segment: ShareSubscriptionHeaderText
Content: Payment Segment: SaveTimeWithEzPayTitle
Page names in notifications (used to be hardcoded in English
Page: Home Content: Home
Page: MG2Auth Content: MG2Auth
Page: SelectAccount Content: Select Account
Page: VerifyAccount Content: Verify Account
Page: MyProfile Content: My Profile
Page: Feedback Content: Feedback
Page: Preference Content: Preference
Page: Unsubscribe Content: Unsubscribe
Page: Address Content: Address
Page: ForgotPassword Content: Forgot Password
Page: Complaint Content: Complaint
Page: FAQ Content: FAQ
Page: TemporaryStop Content: Temporary Stop
Page: Payment Content: Payment
Page: AutoPaySignUp Content: AutoPay
Page: AutoPayManage Content: AutoPay
Page: AutoPaySignOut Content: AutoPay
Page: AutoPayAddTip Content: AutoPay
Page: EBillSignUp Content: EBill Sign Up
Page: EBillManage Content: EBill Manage
Page: EBillInvoice Content: EBill Invoice
Page: SubscriptionShare Content: Subscription Share
Page: InvitationConfirm Content: Invitation Confirm
Page: Dashboard Content: Dashboard
Page: SubscriptionCancel Content: Subscription Cancel
Page: SubscriptionRestart Content: Subscription Restart
Page: TemporaryStopTransfer Content: Temporary Stop Transfer
Page: TemporaryStopRestart Content: Temporary Stop Restart
Page: SubscriptionUpdate Content: Subscription Update
Page: Activate Content: Activate
Page: Rewards Content: Rewards
Page: StopSaver Content: Stop Saver
Page: Transactions Content: Transactions
Status description of the Subscription
Placeholder content for the following Account Management pages can now be created via CMS: Complaint, Address, Feedback, Verify Account, Share Subscription, Phone number, and Cancel Subscription pages:
Placeholder.ZipCode Pages: Address
Placeholder.SelectOption Pages: Activate, Feedback, VerifyAccount, SubscriptionShare, Address and CommonIframe (recently created for bank account iframe) pages
Placeholder.CCName Pages: BraintreeIframe. Please note that a specific page has to be created for each payment provider
Placeholder.SelectReason Pages: StopSaver, SubscriptionCancel and TemporaryStopTransfer
Placeholder.SelectCategory Pages: Preference
Placeholder.SelectIssue Pages: Complaint
Placeholder.EnterAddress Pages: Address and TemporaryStopTransfer
Placeholder.EnterCity Pages: Address and TemporaryStopTransfer
Placeholder.EnterZipCode Pages: Address and TemporaryStopTransfer
Placeholder.EnterFirstName, Placeholder.EnterLastName, Placeholder.EnterEmail, Placeholder.EnterLocation, Placeholder.EnterComments Pages: Feedback
Password change, Transactions, and Temporary Stop changes (hardcoded message removed) for Transactions and Temporary Stop Transfer pages:
Content: Transactions Segment: Transactions.NoHistoryPaymentsText
Content: There are no Transfers Segment: TemporaryStopTransfer.NoTransfersTe
Content: Enter your email address to create a new password. Segment: ForgotPasswordForm.Description
Pre-requisites: N/A
Subscription Panel localization
The following items are now manageable via CMS and can be translated to the local language:
the error message for the unsuccessful payment/invalid payment; the error generated by the external payment gateway is overridden
Users can manage the notifications and handle the presentation in the subscription panel.
Pre-requisites: N/A
Access to Support Viewer via Landing
The user who is authenticated to access the Support Viewer application now can access it via Landing.
Support Viewer being visible on the Home page of the Landing app does not imply that the user has access to the application. If access is needed, it has to be requested from Admin. If the user is not authenticated and tries to access the Support Viewer app, then the Login credentials are deactivated. For the user to be able to access Subscribe applications again the credentials have to be re-activated by the Admin user. Please note that for now Support Viewer is meant for Naviga support only. More functionality is expected in future releases
Pre-requisites: N/A
Trial-with-Payment subscriptions
Trial-with-Payment allows end-users to try the subscription for free before they decide whether they are going to purchase it. If users don't want to continue they will be able to cancel anytime before the renewal. Please note that for now only digital subscriptions are supported. Print/hybrid are on the way. Please note that for correct work we recommend applying 3.16.2.1 Hotfix The minimum NCS Circ version is 2020-4.0 (release notes can be found here) Please check our public documentation for more details
Complimentary subscriptions with no end date
The complimentary (free of charge) subscription flow is revamped. More options to define the number of complimentary days are supported as well as the option to create a complimentary subscription with no end date.
The minimum NCS Circ version is Rapid Release 2020.4.1
If you were previously using Comp subscriptions then for correct work please ensure that your existing comp offers include the reason code and delivery method. Naviga implementation can provide you with a SQL script to update existing Comp offers Please check our public documentation for more info about the feature
Account Management: Address Update page for CircPro clients
CircPro clients now have the newly designed Update Address.
The page only shows the options relevant for CircPro clients e.g. the ability to edit Billing or Delivery Address. While the irrelevant options, like Schedule Move etc are hidden. The page content is managed via CMS.
Address update requests from the page are handled via the newly developed endpoint in Address API PUT /Subscription/{subscriptionId}/Address
Account Management: ZipCode Validation Standartisation
ZipCode validation on different pages i.e. Address, Temporary stop Transfer, Activate, Access and VerifyAccount, is now consistent and accepts 4-8 characters
One CSR Portal: fields renamed
Two fields at the Account Information tab in One CSR Portal are renamed:
Subscriber Since → Subscription start date
Subscriber stop date → Subscription end date
Subscription start date displays the date the account was created, i.e. in case of a restart with the same account number the date of the new start is displayed. In case of a restart with a new subscription being created - the date of the latest new start is displayed
The columns in the Offers tab are renamed and made consistent with those at Add account and Start call screen
One CSR Portal: Between
filter criterion in Custom Reports
The new filter criterion Between
is added to Reports → Custom reports → Predefined reports grid column filters.
This filter is applicable to all the columns displaying numeric values as well as the columns displaying date values
Solicitor Concierge: Marketing Text Search Filter values alphabetically ordered
Marketing Text Search Filter values (available under Inventory → Marketing Text) are alphabetically ordered
Solicitor Concierge: Term field deprecated
The field Term on the Offer Group screen is deprecated since it had no functional use
Solicitor Concierge: Terms&Conditions character limit
Terms & Conditions field (available under Inventory → Terms & Conditions) is now set to have a character limit of 300 characters
Subscription Panel: Password validations inline to Auth0
The User Information component now supports password validation. The newly added CMS properties are:
Lowercase
No Two Identical characters in a row
One special character
Security: Automatic Session Killing
To improve security the automatic session killing is added to Subscription Panel.
If the user remains idle for a specific time period defined in the configuration, the time-out warning is triggered and the user is expected to refresh the page within 30 seconds to continue the session. If the user doesn’t act on the warning message, then the entire page reloads and the user is logged out of the session.
Within the client configuration, the following properties need to be defined - config.enableIdleTimer
, Idle Time setup
Landing: Enhanced User Search & Export
The new 'Show active users' filter is added to the Landing application. This filter check works in accordance with the search criteria specified by the user in the search box, hence only the data that matches the active filter check & search text is displayed. During export, the user is able to choose if they want to export all the data or only the selected rows. More info about the Landing app can be found here.
PurchaseAPI: Zip code check
When a potential subscriber enters a Zip Code while purchasing a print/hybrid offer, the Purchase API now validates the Zip Code in the input model is also available in the Offer Delivery Area in the Solicitor Concierge Offer setup.
However, Matrix as an exception doesn’t validate ZipCode from SolCon delivery Areas, the functionality has been made configurable via an MG2Control setting and can be enabled/disabled by clients as required: MG2Control Setting - Purchase.ValidateZipCodeWithinDeliveryArea
can be set to 0 to disable this functionality. By default the functionality will validate Zip Code
GetSubscription API: Balance sync
getSubscription
call synchronizes the owed balance which is displayed in the Start Call window and the Pay Balance button also reflects under the Account Information tab on the first attempt
BillingAPI: Real-time Status update in Restart endpoint call
During Restart the subscription status is updated to 'L' in real-time, in addition to a previously existing update of the Household Level for entitlement
BillingAPI: Consistent Balance format in all circulation system
The inconsistency of the Positive & Negative balance definitions for different circulation systems is resolved.
Starting from this release for Matrix and SaxoCirc circulation systems the Subscriptions/Billing API displays the owed balance as negative in API response while it is stored as a positive value in currentBalance
column of Subscription table in the database. So that Matrix, SaxoCirc circ are now aligned with NCS Circ and CircPro.
Get User API: returns AddDate from AuthSystems
The endpoints of Get User API now returns an additional parameter AddDate mapped from all Authorization systems
Get Promotion API: info stored in event logs
When Subscription Panel sends PromotionCode
as part of the request to PurchaseAPI (GET /Promotions/{promotionCode}/Code), the Promotion Information is now being stored in the event logs.
The Get Promotion step has been included as part of the Sync step
TempStopAPI: Return Options with filters AvailableAfterDays and AvailableUntilDays
The options returned for real-time tenants by Temporary Stops API are now filtered against the AvailableAfterDays and AvailableUntilDays from the Vaccation_Options table
With Trial & Complimentary Subscriptions redesign, the Payment Methods are enabled while creating Complimentary Offers for Matrix clients to enable a similar behaviour as of traditional Trials (Billed payment method is allowed from the API side)
Braintree is sunsetting its API on the python platform. Hence, as per Braintree's recommendation, the backend Braintree SDK is updated to version 4.18.1.
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
New Feature or Enhancement
Description
Permanent stop for NCS Circ
Along with canceling a subscription in real-time, scheduled cancellations can now be edited/deleted in real-time w/ NCS Circ on one CSR portal.
A minimum of NCS Circ 2018.5 is required.
Permanent stop for Circ Pro
Circ Pro users can now make permanent stops in real-time on the CSR Portal.
Temporary stops for Circ Pro
Circ Pro users can now make temporary stops in real-time with self-service portal.
Upgrades/downgrades for Circ Pro
Circ Pro users can now use the upgrade/downgrades functionality
(real-time) on the CSR Portal.
Link Subscription refactor
Naviga subscribe has refactored its account linking endpoints to improve performance across its product suite. Two new endpoints were added:
POST OwnerUser
POST GuestUser
(to link a guest)
This helps to optimize the linking process internally.
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
New cancel subscription rules for Subscribe’s self service
Option 1: Allows cancel for all subscriptions irrespective of the location (Billing State) of the subscriber or subscription type (print, digital or hybrid) on self-service portal.
Option 2: Allows cancel subscription based on the State location, Start Source, StartDate and Subscription type of the subscription on self-service portal.
For all clients using option 2 the default settings are as follows:
• Billing State is CA • Start source is blank (means include all) • StartDate is NULL (means date validation is not in place) • SubscriptionType is NULL (means it applies to all subscription types) Eg: 1 • Billing State is CA • Start source in (INTERNET, INTERNT1, INTERNT2, INTERNT3, INTERNT4, INTERNT5 ) • StartDate >= 07-01-2018 • SubscriptionType is Digital (i.e. Base product is digital and not print)
Eg: 2 • Billing State in CA, NY • Start source is bank (means includes all) • StartDate is NULL (means date validation is not in place) • SubscriptionType is NULL (means it applies to all subscription types) Note: Until now only CA subscribers were allowed to cancel subscription, but recently there's was a new law to enable NY subscribers to allow cancellation as well.
Active subscription check refactoring
The following Solicitor Concierge flags have been refactored, which drives determining an active subscription at a specified address logic in Subscribe during the new start flow.
No existing subscription at address: If this flag is turned on Subscribe evaluates if an active subscription for the product exists at the specified address, if an active subscription is found then an error is displayed. If turned off this check is skipped, and the user can purchase a subscription though there’s an active subscription found.
No outstanding balance: If this flag is turned on Subscribe checks if there’s a recently stopped subscription with an outstanding balance > 0. If the flag is turned off, then this check is skipped and lets the user purchase a subscription though they owe a balance. No subscription stopped last X days: If this flag is turned on Subscribe checks if there’s a recently stopped subscription within the last “X” days where X (default value is 30) is configurable in Subscribe database. If the flag is turned off, then this check is skipped and lets the user purchase a new subscription though they have a stopped subscription in the last few days.
Note: This feature is also available in 2.X version.
One-time promotion codes
The one-time promotion codes feature allows clients to run marketing campaigns that require unique promotional codes which can be used only once. One-time use codes are generated in Subscribe’s solicitor concierge application; offers can be presented to customers based on them. The codes reside in Subscribe and is independent from any circulation system. As soon as a customer consumes a code it will be deactivated in Subscribe and cannot be used any further.
CyberSource CVV validation
With our continual effort to prevent CC fraud attack we have introduced additional security measure of validating the CVV in our CyberSource payment gateway integration. CyberSource has released a new version of their Flex Microform that includes a CVV field which will be validated in Subscribe.
Instant digital access upon paying a balance during restart workflow
The restart flow has been enhanced so that a subscriber who pays an outstanding balance is given instant digital access. The Subscription Household level will be updated in Subscribe db during the workflow to accomplish to this.
Transactional email performance enhancement
The transactional email event processing logic has been optimized to reduce the overall time spent in transactional email events. Thus, enhancing the transactional email event processing performance for faster email triggering.
HouseHold Level update on syncing from Circ System
It was discovered that subscriptions that were received in the nightly extracts might be stopped but the subscription can get activated later in the day on the circulation system end. In these scenarios if the user logs into Subscribe’sself-service after the fact, Subscribe synchronizes the subscription status by calling Get Subscription by ID. However, until now the subscriber was not able to access content because the HouseHoldLevel(HHL) was not being updated in Subscribe. In release 3.10 we’ve enhanced Subscribe’s logic to update HHL when GetSubscriptionby ID iscalled to make sure subscriber can access content uninterruptedly
Saxo circ Integrations
For the CSR Portal:
Billing and delivery address update in real time - This feature provides CSR’s the ability to update billing and/or delivery address on an account in real-time in Saxo circ. This is available on the Moves tab of the CSR portal.
Paperless billing in real time - This feature provides CSR’s the ability to sign up a non-auto renew subscriber to paperless billing in real time in Saxo circ. It also allows a CSR to cancel paperless billing in real-time. This is available on the Payment/Billing tab of the CSR portal. Switch to invoice payment in real time - This feature provides CSR’s the ability to switch an account from auto renew to invoice payment in real-time in Saxo circ. This is available on the Payment/Billing tab of the CSR portal.
EZ Pay - One time donation
Starting release 3.10, subscribe supports accepting one time donation during ezpay workflow. To accomplish this payment cc event (30) was introduced where in the one time donation amount is posted to NCS.
Updated on July 13, 2023
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
In this section you can find Release notes for the latest Subscribe releases
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
Subscribe: Feature management via API and APP settings
The audience of this feature is our development team. All features of One CSR Portal, Solicitor Concierge are now managed with APPsettings instead of code-config settings and APIsettings based tennants instead of Client based tennants.
New Starts with CampaignID (NCS)- improvements
Solicitor Concierge Audit Trail - improvements
The feature was initially introduced in Release 3.14.0. In the current release the section layout and search behavior was updated
PurchaseAPI - Braintree support for NCS
PurchaseAPI now supports Standart and Complimentary starts for NCS+Braintree
Permanent stop, temporary stop and vacation transfer in One CSR Portal (NCS) - improvements
Additional validation was added to One CSR Portal: temporary stop and/or vacation cannot overlap with any existing stop, no stop can be created after already scheduled permanent stop, after creating a permanent stop all the later stops should be deleted, all the overlapping temporary stop and/or vacation should be shortened to and at the date of the permanent stop.
New Feature or Enhancement
Description
Subscribe: PurchaseAPI and AddSubscription refactor
Please note that the introduction of synchronous and asynchronous events will result in two Account Numbers for a subscription purchased on Subscription Panel: the confirmation number is the temporary Account Number that will be replaced then by a permanent one. So starting from 3.14.2 the Account number was hidden from the Confirmation page as well as LTE receipts. The users will still get the Permanent Account Number in a confirmation email
Subscribe: Active check for ZIP-only start
Subscription Purchase with GooglePay for NCS Circ/Payway Clients
‘Single Day Pass’ starts
Frictionless checkout: ACH support
Frictionless checkout introduced in 3.14.0 now supports ACH payments.
No address for ZIP only starts for NCS clients
The address for ZIP only subscriptions is now shown as empty as by definition there is no billing and delivery address for such subscriptions
New Feature or Enhancement
Description
Account Management and One CSR portal Update Occupant/Subscriber information for Matrix
Comp Subscriptions for Matrix
Account Management and One CSR portal Upgrade and Downgrade for Matrix
3DS2 dual factor authentication payment flow for Matrix
3DS2 dual factor authentication payment flow was implemented for Matrix circulation system to meet the new European legislation requirements. Starting from July 1st 2021 an extra authentication step is required when submitting card details
New Feature or Enhancement
Description
Solicitor Data Import/Export refactor
Please note that you cannot import data exported from 3.14+ version to 3.13.1.1 and vice versa
Solicitor Concierge Published Offer Groups Editing
Solicitor Concierge Audit Trail
Marketing Price as plain text for ApplePay
To display Marketing Price correctly for ApplePay an additional field was added to the Offer model. This field stores the price from the Marketing Text field as plain text. Please pay attention that the HTML-formatting like paragraphs, bold, italic, list is not supported.
One CSR portal and Account Management Recurring tip
One CSR portal Attributes support in Disclaimers
Self-Service Late Route Message
Account Management and One CSR portal Real-time features Refactor
Subscribe APIs were refactored to add flexibility in consuming new NCS Circ real-time features. Now the real-time features like Stop Saver, Upgrade/Downgrade can be turned on independently, one by one.
New Starts with CampaignID
Frictionless check-out design for NCS Circ/Payway clients
Firefly License call refactor
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
New Feature or Enhancement
Description
Integration with Gigya
Gigya is now integrated with Subscription Panel and SubconSite as an alternative authorization system. All the end-users logging-in with Gigya are supported in One CSR Portal
Subscribe: Account Management International address support
International Addresses are now supported in Account Management allowing users to enter City/Town, State/County, Zipcode/EirCode
One CSR Portal Complaint type
Now a complaint can be submitted via One CSR portal as of either formal or informal complaint type passing to NCS CIrc. Minimum NCS circ version required is 2018.5 + SP3
One CSR portal and Account Management Upgrade (Digital to Print)
Please note that this feature requires an additional fix from NCS Circ to be applied. Upgrade ZIP-only digital to print is not supported until 3.15.0
Account Management Restarts refactor
New endpoint for Restarts has been created and is now used in Account Management and One CSR portal
Account Management Scheduled Move Grid refactor
'Old Address' column was removed from Scheduled Move Grid. so that Templates A and B now look consistent
Account Management ‘Billing’ section for Matrix clients
‘Billing’ section was added to Account Management Profile page for Matrix clients
New Feature or Enhancement
Description
Solicitor Data Import/Export
New Feature or Enhancement
Description
Account Management and One CSR portal Stop Saver
Account Management and One CSR portal One-time tip
One CSR portal Payment method type
Payment method type the subscription was purchased with e.g. ApplePay, GooglePay etc. is displayed on 'Payment' tab of One CSR Portal
SSOR registration for ApplePay subscription purchase
For the Apple Pay in offer selector SSOR registration is now supported (used by Tribune). The minimum NCS Circ version required is 2020.2
Account Management Stop Delivery Date hidden
The opportunity to hide Stop date when scheduling a move is added to Self-Service application
New Feature or Enhancement
Description
One CSR portal Disclaimer management
One CSR Portal redirect to classic CSR portal
Account Management and One CSR portal upgrade and downgrade
Account Management and One CSR portal Update Occupant/Subscriber information
Account Management and One CSR portal Restarts
One CSR portal New search criteria
NCS Circ system stores alternate account number which is mostly associated to subscriptions during client’s databases consolidation and migration. This feature will allow CSR to look up an account with an alternate account number as well. Please note that the client should have the latest extracts with external_id field. This feature is important for those clients who migrate their databases.
Gifting
Comp Subscriptions
Apple Pay (via Payway)
One CSR Portal Matrix integration
One CSR Portal now has new functionality supported by Matrix circulation system such as arranging a temporary stop, cancel a subscription immediately or have a scheduled cancellation, submit complaints about a dissatisfactory delivery, update billing and delivery address.
Account Management and One CSR portal EZPay change
The Grace amount now is displayed outside the grid and only in case it’s >0
Active Subscription check refactor
This page contains Release notes for major 3.15.0 Release and minor 3.15+ Releases
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
Seamless Flow updated for Credit Card Edgil Payment Method Added on 13-Oct-2023
In the seamless flow, if the Independent Address component for the payment page has been enabled, users could purchase or subscribe to a subscription with a single click after entering their credit card information. The issue occurs when the credit card details have been validated, the Submit button disappears, and the user is taken directly to the payment options, even if the fields, First and Last names, Phone, and Zip Code, have not been filled. This resulted in the AddSubscription call being triggered with incomplete information, and since the Submit iframe button is from a third-party payment site, it does not validate whether the aforementioned fields have been filled, resulting in no error warnings being displayed.
Changes have been made to allow the submission of incomplete fields if the credit card has already been validated in the seamless flow by introducing a delay time after each keystroke while filling the fields under the independent address component.
A key, "SeamlessInputDelayTime", must be added to the SP Config file with any numerical value. The value indicates the delay time in milliseconds, with the default value set at 1500 milliseconds (1.5 seconds).
For example, after entering the first name, it will wait 1.5 seconds and then call AddSubscription if no additional keystrokes have been detected. When the user starts entering the following fields, such as Last name, phone number, and zip code, the timer is reset after each keystroke, and the AddSubscription call is triggered only after a 1.5-second delay.
Note: This fix was also merged to 3.16.0.14, 3.16.1.9, 3.16.3.1, 3.15.2.4, 3.16.2.5
Seamless Flow updated for Credit Card Edgil Payment Method
Previously, when purchasing a subscription with a Credit Card, if the Independent Address
component had been enabled for the payment page of seamless flow, users would have had to go through two-step purchase verification before they could complete the transaction.
Changes have now been made so that users can now purchase or subscribe to a subscription with a single click after entering their credit card details if the Independent Address
component for the payment page has been enabled for seamless flow.
This fix was also merged to 3.16.0.7 and 3.15.2.3.
Updated on June 26th, 2023
The CMS Content module has been updated to support Transport Layer Security (TLS) version 1.2. The TLS version can now also be configured from the web.config file, and image uploads can now communicate with the AWS S3 bucket using the TLS 1.2 security protocol.
This update has been made as Amazon will no longer support TLS 1.1 for its S3 bucket. Note was updated on June 12th, 2023.
Note: If the TLS version is not configured in the web.config file, CMS now uses the TLS 1.2 security protocol by default.
This fix was also merged to 2.39.1, 2.39.1.0, 3.15.2.1, 3.16.0.13, 3.16.1.7, 3.16.2.4, and 3.16.3.
Seamless theme updated
Step Header now supports gradient.
N/A
OneTrust script added
OneTrust tag at the checkout helps manage and maintain compliance with user consent laws
N/A
N/A
PurchaseAPI now covers User validation and Syns steps
In case registrationID is provided then PurchaseAPI can use user email to support SSOR
N/A
N/A
Security improvements
Security improvements including password security and roles&permissions security
N/A
N/A
Seamless Flow updated for Credit Card Edgil Payment Method Added on 13-Oct-2023
In the seamless flow, if the Independent Address component for the payment page has been enabled, users could purchase or subscribe to a subscription with a single click after entering their credit card information. The issue occurs when the credit card details have been validated, the Submit button disappears, and the user is taken directly to the payment options, even if the fields, First and Last names, Phone, and Zip Code, have not been filled. This resulted in the AddSubscription call being triggered with incomplete information, and since the Submit iframe button is from a third-party payment site, it does not validate whether the aforementioned fields have been filled, resulting in no error warnings being displayed.
Changes have been made to allow the submission of incomplete fields if the credit card has already been validated in the seamless flow by introducing a delay time after each keystroke while filling the fields under the independent address component.
A key, "SeamlessInputDelayTime", must be added to the SP Config file with any numerical value. The value indicates the delay time in milliseconds, with the default value set at 1500 milliseconds (1.5 seconds).
For example, after entering the first name, it will wait 1.5 seconds and then call AddSubscription if no additional keystrokes have been detected. When the user starts entering the following fields, such as Last name, phone number, and zip code, the timer is reset after each keystroke, and the AddSubscription call is triggered only after a 1.5-second delay.
Note: This fix was also merged to 3.16.0.14, 3.16.1.9, 3.16.3.1, 3.15.3.5, 3.16.2.5
New editable CMS Content
The following fields can now be edited via the CMS application: /address: Address.NoPendingMovesText
DeliveryAddressLabel
EditButton
SubmitButton
CancelButton
/autopay/manage: PaymentMethod.Title
Removed Hardcoded “Not available” text
Banner:
NavBar.WelcomeMessage
NavBar.AccountMessage
/complaint:
ProductFrequency.ProductHeader
Placeholder text removed
/dashboard:
SubscriptionPanel.AccountLabel
/ebill/invoices:
EBillInvoice.NoInvoicesText
/feedback:
Placeholders for “Select a feedback category” and “Comments” have been removed
/payment:
ButtonGoDashboard
ButonPrint
/subscription/cancel:
Placeholder removed
/subscription/share:
SubscriptionShare.RemainingInvitationsText
SubscriptionShare.NoPendingInvitationsText
/temporaryStop:
TemporaryStopForm.NoVacationsText
Apple payments made using credit cards were experiencing failures, causing error messages to appear for customers. The payments initiated from Subscription Panel using Apple Credit card with Apple Pay payment method were also failing. Resolution: These issues have now been resolved by adding a new API setting key which defaults the ECI parameter value to 5.
Introduced a new MG2Control API Setting Key Edgil.SecureElectronicCommerceTransactionECI
For any client, the default value of the key is set as 5 at the root level. The ECI parameter is otherwise received from Apple Pay.
This fix was also merged to 3.15.0.4, 3.15.1.5, and 3.15.2.2.
Seamless Flow updated for Credit Card Edgil Payment Method
Previously, when purchasing a subscription with a Credit Card, if the independent address component had been enabled for the payment page of seamless flow, users would have had to go through two-step purchase verification before they could complete the transaction.
Changes have now been made so that users can now purchase or subscribe to a subscription with a single click after entering their credit card details if the independent address component for the payment page has been enabled for seamless flow.
This fix was also merged to 3.16.0.7 and 3.15.3.4.
Updated on June 26th, 2023
Apple payments made using credit cards were experiencing failures, causing error messages to appear for customers. The payments initiated from Subscription Panel using Apple Credit card with Apple Pay payment method were also failing. Resolution: These issues have now been resolved by adding a new API setting key which defaults the ECI parameter value to 5.
Introduced a new MG2Control API Setting Key Edgil.SecureElectronicCommerceTransactionECI
For any client, the default value of the key is set as 5 at the root level. The ECI parameter is otherwise received from Apple Pay.
This fix was also merged to 3.15.0.4, 3.15.1.5, and 3.15.2.3.
The CMS Content module has been updated to support Transport Layer Security (TLS) version 1.2. The TLS version can now also be configured from the web.config file, and image uploads can now communicate with the AWS S3 bucket using the TLS 1.2 security protocol.
This update has been made as Amazon will no longer support TLS 1.1 for its S3 bucket. Note was updated on June 12th, 2023.
Note: If the TLS version is not configured in the web.config file, CMS now uses the TLS 1.2 security protocol by default.
This fix was also merged to 2.39.1, 2.39.1.0, 3.15.3.1, 3.16.0.13, 3.16.1.7, 3.16.2.4, and 3.16.3.
Gigya Auth System Integration
All accounts logged in with Gigya are reflected correctly in SubCon Admin (One CSR Portal). All the actions with the accounts are supported (e.g Search, Change password, Occupant data update, add owner/guest and reporting)
N/A
N/A
Peach Payment Integration
Payments are now supported with PeachPayments.
Matrix - 38.0.34
N/A
Apple payments made using credit cards were experiencing failures, causing error messages to appear for customers. The payments initiated from Subscription Panel using Apple Credit card with Apple Pay payment method were also failing. Resolution: These issues have now been resolved by adding a new API setting key which defaults the ECI parameter value to 5.
Introduced a new MG2Control API Setting Key Edgil.SecureElectronicCommerceTransactionECI
For any client, the default value of the key is set as 5 at the root level. The ECI parameter is otherwise received from Apple Pay.
This fix was also merged to 3.15.0.4, 3.15.2.2, and 3.15.2.3.
Display external billing logo on order summary
All
All
Populating billing info from GooglePay
This new feature automatically populates the billing adress including zipcode with the data linked to the card that has been used with the Google account.
All
All
Start from CSR Portal Enhancement
Newly created subscription is not opened in CSR Portal any more. This enhancement has to be done due to using PurchaseAPI instead of old SubscriptionAPI.
All
All
ApplePay - Braintree starts
ApplePay payments are now supported in Braintree's payment processor.
NCS - 2020.2
Braintree
Zip Code filtering for Digital & Zip Only offers
All available upgrade, downgrade & stop saver digital only offers are returned for a subscription regardless of the zip code. To do that GetOffers API call has been modified to remove the zip code check
N/A
N/A
Upgrade/Downgrade feature for Matrix
Matrix - 38.0.34
N/A
Edit customerRegistrationID
N/A
N/A
Transaction History Table
Matrix - 38.0.34
Spreedly
End user session and logout when password reset is complete
If a user changes his password whilst having several sessions opened with the same login, all sessions that are not the one the password change has been done will be automatically logged out.
N/A
N/A
ApplePay - Braintree payment method
N/A
Braintree
Zip Only Offers - Mandatory Available areas
Selecting available areas for Digital and Zip Only offers is no longer mandatory.
N/A
N/A
Tags in import/export mechanism
Tag information will now be available in the json file when using the import/export offer feature in Solicitor Concierge. More information here.
N/A
N/A
Newzware - New Endpoints
In order to not affect every client that is using the /Authenticate and /DigitalAccess/Token endpoints and considering that a very custom solution was developed for an existing customer, a new set of endpoints have been created: /Newzware/Authenticate and /Newzware/DigitalAccess
N/A
N/A
Stripe Payment Integration
Stripe Payment provider is now supported in Subscription Panel, SubCon Admin (One CSR Portal) and SubCon Site (Account Mgmt)
Matrix - 38.0.34
N/A
Apple payments made using credit cards were experiencing failures, causing error messages to appear for customers. The payments initiated from Subscription Panel using Apple Credit card with Apple Pay payment method were also failing. Resolution: These issues have now been resolved by adding a new API setting key which defaults the ECI parameter value to 5.
Introduced a new MG2Control API Setting Key Edgil.SecureElectronicCommerceTransactionECI
For any client, the default value of the key is set as 5 at the root level. The ECI parameter is otherwise received from Apple Pay.
This fix was also merged to 3.15.1.5, 3.15.2.2, and 3.15.2.3.
Purchase API
PayPal support for Braintree payment processor
PayPal payments are now supported for Braintree payment processor.
There is no need for any special API configuration. The integration is transparent for the API, which is expecting to receive a Braintree Token just like with any other CC.
It's up to the Subscription Panel to use Braintree-PayPal library to generate that Token. The appropriate component must be included in presentation (PayPalBrainTreeV3) in CMS. Note: Updated on 22nd July '22 - Addition of API explanation and CMS component.
Future transactions grid in One CSR Portal
At the bottom of the Account tab there is a grid where a CSR can see future transactions scheduled for this subscription like Upgrade/downgrade, Expire, End of Grace period, Permanent Stop, Temporary stop, Billing and/or Delivery address change. Above the tabs there is a clickable info message with short information about the future transaction. No specific setup is required. Minimum NCS version required is 2020.2.1 and extract version should be version 2
Subscription Payment method type in Account Management
Subscription payment method type like Apple Pay, Google Pay, Credit Card, Bank Draft, InApp, etc. is displayed at the Billing section of Dashboard and at the Update Payment Page. This feature can be turned on/off via MG2control setting.
Landing Application
The newly developed landing application allows the business user to access One CSR Portal, CMS and Solicitor Concierge dependent on the user permission from the single landing screen without having to log in each application separately.
Videos support in Account Management
Culture-specific formatting in Account Management and One CSR Portal
This feature allows to display date in a culture-specific format in Account Management and One CSR Portal. We support American formatting (MONTH-DAY-YEAR) and European (DAY-MONTH-YEAR) one. To use this feature you have to have the Culture populated in the Countries table in the database.
Product and Service type management in One CSR portal
Manual editing of Products and Service Types is deprecated and not available from One CSR Portal anymore. Please contact your implementation manager or data team directly to add/edit a Product or Service Type.
Update Occupant enhancements
Email validation was added. Now it’s not possible to use the email that already is used by another subscriber.
Subscription search enhancements in One CSR portal
Subscription search logic on One CSR portal was enhanced. Now if House Number is provided, then Street name and Zip Code should be required too. if ZIP code is provided then any other additional field should be required too. This logic is implemented in all places where we search subscriptions against address: subscription search on the main page, subscription search when adding registration
‘Forget password’ email for One CSR portal
This feature allows the CSR to send a ‘Forget password’ email by clicking a corresponding button on the Digital tab
Solicitor Concierge payment method enhancements
inApp payment methods are disabled for Smart offers as the Smart offers cannot be sold inApp.
Paypal circ payFlow payment method is deprecated - only PayPal and PayPal Express are left
Trial subscription payment method is deprecated for all the clients except those using DSI Circ
Comp subscription payment method is hidden for all clients
Solicitor Concierge Import/Export enhancement
When importing/exporting Products and Service type the complex unique key is replaced with ProductId and ServiceTypeId, respectively
Log out from all devices for Account Management
This is a security improvement for the end-users. When they log out from one device they automatically are logged out from on all their devices
ApplePay, GooglePay and PayPal support in frictionless checkout
ApplePay, GooglePay and PayPal payment methods are now supported in frictionless checkout for NCS/Payway
Purchase API for the new starts in CircPro
Please note that the introduction of synchronous and asynchronous events will result in two Account Numbers for a subscription purchased on Subscription Panel: the confirmation number is the temporary Account Number that wil be replaced then by a permanent one. The Account number was hidden from the Confirmation page as well as LTE receipts. The users will still get the Permanent Account Number in a confirmation email.
Account Management Update Occupant/Subscriber information for CircPro
Billing and Delivery address change for CircPro
Upgrade/Downgrade Subscriptions in Self Service Portal for CircPro
Zip Only Starts for CircPro
Registration data in Feedback page in Account Management
In order to meet security standards and not to disclosure the data that might not belong to the user (in case of Guest) we now prepopulate the fields at the Feedback page with the Registration data, not Subscription. Note added 17 Oct 2022
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
Display the One Trust modal pop-up for the client in Self-Service Portal. Please note that the 2.X versions are not supported anymore. No enhancement and/or future releases are planned.
PurchaseAPI for Vindicia
Please note that the introduction of synchronous and asynchronous events will result in two Account Numbers for a subscription purchased on Subscription Panel: the confirmation number is the temporary Account Number that will be replaced then by a permanent one. So the Account number was hidden from the Confirmation page as well as LTE receipts. The users will still get the Permanent Account Number in a confirmation email
Display the One trust modal pop up for the client in Subscription Panel
The "Do Not Sell My Personal Information" link has been added to the footer section of client's Subscription Panel. When users click the link, a pop-up modal displays, allowing them to choose whether to opt out of the sale of personal information, and their preferences are stored once they click the Save Settings button.
Configuration Notes
The user can change the class by going to CMS > Subscription Panel > Presentation > Footer V3 > Link V3 > Class field.
Add class “ot-sdk-show-settings” to the “Do Not Sell My Personal Information” link in footer in CMS.
Add below in the config file under config.System in Subscription Panel.
OneTrustDomianId: '8b0b6efb-b8b2-4950-b5a0-e0d9d18b7273'
SS - The script for OneTrust Modal same as that of SP
As per the client's request, starting from this release, SS has transitioned to using the same OneTrust script as SP. Both SS and SP will now use the same OneTrust ID.
API - New subscriber entitlement not being passed
Previously, when the user's information was requested through the Auth0 API for a subscription that used an Apple ID as its customer registration ID, an error message was displayed.
The Apple IDs include a special character (.), which caused the URL to be broken since the special character is not URL encoded, and the URL rejected the request due to the incorrect Path parameter. The error has now been resolved by including a "/" at the end of the API request to indicate the Path parameter's limit.
SL - Increased the character limit of SolCon fields
The character limits validation of SolCon fields Code1-10 has been removed to support client-specific change. There will be no character limit restriction in SolCon UI.
Transport Layer Security (TLS) Upgrade to Version 1.2
The CMS Content module has been updated to support Transport Layer Security (TLS) version 1.2. The TLS version can now also be configured from the web.config file, and image uploads can now communicate with the AWS S3 bucket using the TLS 1.2 security protocol.
This update has been made as Amazon will no longer support TLS 1.1 for its S3 bucket. Note was updated on June 12th, 2023.
Note: If the TLS version is not configured in the web.config file, CMS now uses the TLS 1.2 security protocol by default.
This fix was also merged to 2.39.1, 3.15.2.1, 3.15.3.1, 3.16.0.13, 3.16.1.7, 3.16.2.4, and 3.16.3.
Multi-currency support for Vindicia clients
Naviga Subscribe now supports non-US currencies for Vindicia clients. This allows clients to sell subscriptions in local currencies across the globe. The request was originally made by Simon and Schuster so customers could buy their language products in local currency. This is available for Vindicia clients and only in 2.X version.
Please contact Naviga Support if you have additional questions about this feature.
Add class name property in the Link section in CMS application Date Updated: 11-Apr-23
Users can now add the class name input property to the Link V3 component in CMS to be used in the Subscription Panel's footer section. Configuration Notes
The user can change the class by going to CMS > Subscription Panel > Presentation > Footer V3 > Link V3 > Class field.
Transport Layer Security (TLS) Upgrade to Version 1.2
Note: If the TLS version is not configured in the web.config file, CMS now uses the TLS 1.2 security protocol by default.
The CMS Content module has been updated to support Transport Layer Security (TLS) version 1.2. The TLS version can now also be configured from the web.config file, and image uploads can now communicate with the AWS S3 bucket using the TLS 1.2 security protocol.
This update has been made as Amazon will no longer support TLS 1.1 for its S3 bucket. Note was updated on June 12th, 2023.
Exposed Code fields in the Offers endpoint Date added: 27-Jun-23
The Promotions/{promotionId}/Offers
endpoint has been modified to add a new set of fields, Code 1 through Code 10. These parameters retrieve information about the codes that support the Offer Group, which can be consumed by the consumer application.
Note: The TLS version fix was also merged to 2.39.1.0, 3.15.2.1, 3.15.3.1, 3.16.0.13, 3.16.1.7, 3.16.2.4, and 3.16.3.
Remove Chatbot from the client’s Self-Service Portal Date added: 10-Nov-23
Changes have now been made to remove client-specific Chatbot from the Self-Service Portal.
Display the One trust modal pop up for the client in Self-Service Portal
To adhere to the privacy laws, the "Do Not Sell or Share My Personal Information/Opt-Out" link has been added to the footer section of the client’s self-service portal. When users click the link, a pop-up modal displays, allowing them to choose whether to opt out of the sale of personal information, and their preferences can be set under "Manage Consent Preferences". Updated on August 17, 2023
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
Subscribe now integrated with the Matrix circulation and billing systems
The following features are supported:
New Subscription Purchases via CSR Portal and Subscription Panel.
Managing payment transactions, which enables customers to make one-time payments, enroll in auto-renewals, update their payment method, and sign up for invoice payments.
Spreedly integration
Naviga Subscribe has successfully integrated with Spreedly payment gateway. Spreedly’s payment orchestration platform connects to many other payment gateways and processors such as Opayo, Authorize.net, etc. This initiative helps address the need to integrate with different payment gateways without any additional development in the future as long as it’s supported by Spreedly. Only applicable for NCS circ clients.
Number pad for the expiration date
The expiration date field of the Edgil iFrame on the Subscription Panel is enhanced to use the number/dial pad in mobile rather than the entire keyboard.
Newsletter widget - Show all newsletters
Can now display both free and subscriber-only newsletter preferences to Subscribers using the Newsletter Widget. A new flag calledShowAll
was introduced. When the showall
and subscriberonly
flags are set to true
then both free and subscriber-only preferences will be displayed to a subscriber on the widget.
To leverage this feature, the client will have to set the showall
parameter to true on their newsletter widget page. For more details refer to the widget installation document
One CSR Portal/ NCS circ
Solicitation Preference - This feature provides CSR’s the ability to add, update or remove a subscriber from a desired solicitation preference ("Do not call"
, "Do not email"
) list in real-time. This is available on the Account Information tab of the CSR portal.
A minimum of NCS Circ 2018.5 is required.
Payment Transactions - This feature provides CSR’s the ability to view a subscription's financial transaction history in real time from circulation. It also allows a CSR to cancel paperless billing in real-time. This is available on the Payment/Bill tab of the CSR portal. A minimum of NCS Circ 2018.5 is required.
SheerID
Subscribe platform is integrated with SheerID and now allows clients to offer low price subscriptions for specific individuals such as students/military who’s been verified by our platform. Please find more details in our documentation. The feature was requested by MNG client
The feature was initially introduced in Release 3.14.0. In the current release the Solicitor Concierge behavior is updated to be more user-friendly. For more information about the feature please see ourdocumentation
Subscribe has refactored the SubscriptionAPI and introduced the new PurchaseAPI that has two execution parts: synchronous (to perform the input model validations) and asynchronous (to process all child events). The new start gets rejected if one of the synchronous steps fails while the asynchronous step(s) would fail silently without any user notification. CSRs are able to view failed events and the failure reason, update data and reprocess events via One CSR Portal. The Release 3.14.2 covers the refactor for Standard and Complimentary starts for NCS Circ+Payway. More information can be found in our documentation.
The Active check that is performed during the new start has been refactored to cover digital-only starts. The new subscription can be only created if no active subscription exists for the same product and address. Starting from this version the Active subscription check is performed via PurchaseAPI but old SubscriptionAPI. Please see our documentation to get more details
Subscribers can now use GooglePay to purchase subscriptions via panel. This integration was made for Payway payment processor. Minimum NCS Circ version required is 2020.2-1. Please see our documentation for more details
This feature allows users to purchase a low-cost, low-commitment version of a subscription that allows users to enjoy a digital subscription for a short term. We support Single Day Pass in Subscribe. Please check our documentation for more details. Minimum NCS Circ version required is 2014.5
Please see our guide for details.
Occupant/Subscriber information like first name, last name, phone, email would now be synced with Matrix circulation system. Available for Matrix Clients with 38.0.034 version. Please check our documentation for more details
This feature allows clients to offer comp (free) subscriptions. The end-user would not be asked to enter any payment information. Please check our documentation for more details. Available for Matrix Clients with 38.0.034 version and latest extracts with demographics data
This feature allows the user to upgrade the subscription to a premium offer or to downgrade it to a lower rate and service in real-time. The change can be applied immediately, at the next billing cycle, or scheduled to happen at a certain date in the future. Can be done via Account management pages or via CSR call using one CSR portal. Please find more details in our documentation. Requires minimum 38.0.034 Matrix version
Import/Export feature that was available since 3.13.1.1. was refactored to increase performance and make the interface more user-friendly. Please see more details in our documentation.
This feature allows business user to edit an offer group that has already been published, e.g. remove a division that was made redundant together with the related price plan and offers. The feature is available for the following Roles: Marketing Admin, Client Admin, MG2 Admin, MG2 Developer. See more details in our documentation.
New Audit Trail section was introduced in Solicitor where the business Admin users can see the last operations made with Solicitor data and filter them against date range, offer group id, person made changes. The feature is available for the following Roles: Client Admin, MG2 Admin, MG2 Developer. See more details in our documentation.
This feature allows users on auto-renew to add a recurring tip to the carrier that will be paid every billing cycle together with the recurring payment. This feature is available for all circulation systems. For NCS Circ the minimum required version is 2020.2.1, for other circulation systems please ensure you're using the latest version. Please see our documentation for more details
The disclaimers that are displayed to CSR rep via Subscribe Concierge Admin portal now support CMS Attributes. This feature allows business users to create more versatile disclaimers. You may find more details in our documentation.
Late route messages are displayed to users in case the delivery might be delayed due to unexpected issues. These messages are aimed to prevent credit for the late routes and decrease possible complaints amount. This feature was also available for One CSR Portal starting from Release 3.5 - please see our documentation for details
This feature will simplify the Offer set up in Solicitor Concierge - after a campaign code is added then rate code, reason code, term length and billing method will be automatically prepopulated with valid values that were set up in NCS circ. Please see our documentation for details. Minimum NCS Circ version required is 2014.5.
Subscription Purchase flow for credit card payment with Payway payment processor was refactored to offer frictionless experience for the end-users and hence improve conversion. For ZIP only starts, the seamless theme allows the user to enter payment and occupant details in a single step and supports final submission in one click. Please see our guide for details.
Firefly as an Entitlement recognition record system requires a license to be created each time a registration links a subscription on Naviga side. The Firefly license call was refactored to support the new structure. Please see our documentation for details
In case a subscription is updated from digital to print we prepopulate the delivery address with the previously entered billing address that the user is free to edit. Minimum NCS version required is 2018.5 + SP4. For more information about Upgrade/downgrade feature please check page.
Business users now can set up all the Offer Groups and Offers they might want to have in one environment where the data can be tested and approved, and then using copy them to another environment in several clicks. Please see more details in our documentation.
Business users can configure a special offer/benefit that would be presented to the CSR rep or end-user if they start the cancel subscription. The aim of the flow is to improve engagement and save subscribers from going. Business users can define actions based on reasons. Available for NCS clients from 2018.5 version. Please see more details in our documentation.
This feature allows users to pay one-time tip for subscriptions that have print products and are already on auto-renew. Available for clients with NCS Circ 2018.5+SP1+SP2. You may find more details in our documentation.
Business users would now be able to manage disclaimers to be displayed to CSR rep via Subscribe Concierge Admin portal. This is available under ‘Client management’ section of One CSR portal. You may find more details in our documentation.
Integration with Classic Portal - now One CSR portal is integrated with the classic portal for NCS circ and a Customer Service Representative can easily go to classic portal in case they want to use the functionality that is not supported yet in One CSR portal. Please see the feature details in our documentation. Requires minimum 2018.5 NCS Circ version.
Upgrade/downgrade - this feature allows the user to upgrade the subscription to a premium offer or to downgrade it to a lower rate and service in real-time. The change can be applied immediately, at the next billing cycle, or scheduled to happen at a certain date in the future. Can be done via Account management pages or via CSR call using one CSR portal. Please find more details in our documentation. Requires minimum 2018.5 + SP1 NCS Circ version.
Occupant/Subscriber information like first name, last name, phone, email would now be synced with NCS circ. Available for NCS 2018.5 Clients. Please check our documentation for more details.
Real-time restarts of a permanently stopped subscription are now available in Self-Service and One CSR Portal for NCS 2018.5 Clients. Please note that if the subscription had been stopped a long time ago that only a new start via Subscription Panel will be available. Check our documentation for more details.
Subscribe now allows end-users to purchase gifts for friends, family or self. The gift purchaser can send a gift immediately or on a certain date, e.g. to send on someone’s birthday. The person receiving the gift should be able to redeem it by clicking on the link in the gift email or manually entering the code. Clients would need to work with their email management team to send gifts on a specific date. Available for 2020.2 NCS Circ version. Please see our documentation for details
This feature allows clients to offer comp (free) subscriptions. The end-user would not be asked to enter any payment information. Please check our documentation for more details. Available for NCS clients on 2015.5+SP1+SP2 version & latest extracts with demographics data.
Subscribers can now use Apple payment to purchase subscription. Minimum NCS Circ version required is 2020.2. Please check our documentation for more details
Active Subscription check for Print/Hybrid/Digital subscription that was introduced in 3.13.0 was refactored. Please see our documentation for more details
subscription price, tax and total amount to pay are displayed right after ZIP code is entered. More information about frictionless checkout can be found . In addition, the payment checkout page interface has been modified to highlight the Total Price section. Note updated on June 29th, 2023.
See the for the pre-requisites
Logos of external billing systems are now displayed on the order summary page. The Payment Show option on the Order Summary Component will now include the Logo for the Alternate Payment Methods. These logos are tied to Payment IDs in the Naviga database associated with the payment type’s specific logo. Currently, the client is not able to change the logo. No setup required by the client. More information about the order summary component .
This might only have an impact for ZIP-only presentations as they rely on billing zip code to calculate the total price. Please see the for more details
This feature allows the user to upgrade the subscription to a premium offer or to downgrade it to a lower rate and service in real-time. The change can be applied immediately, at the next billing cycle, or scheduled to happen at a certain date in the future. Can be done via Account management pages or via CSR call using one CSR portal. Please find more details in our documentation.
CSRs now have the option to edit the customerRegistrationID field. More information
A new transaction history page has been added: '/transactions'. This table has 4 columns that shows the information on previous payments (Date, Transaction Type, Amount and Status). The column names can be edited from CMS.
A new payment method has been added in Solicitor.
The Purchase API now supports new starts in CircPro circ system, gifting and complimentary flows in NCS circ cystem, and Braintree, Cybersource and AuthorizeNet payment processors. For more information about PurchaseAPI please see the . Note: Updated on 27th June '22 - Addition of Complimentary flow for NCS.
The Benefit element in CMS now has Video property where you can add the link to the video. Please note that only youtube links are supported. In the Benefit at the main page of the Account management, you will see a thumbnail and a play icon that will launch the media player playing the video. Any client can use this component. For more information about the Benefit component, please see the
New starts in CircPro circulation system are now supported in PurchaseAPI. The new PurchaseAPI has two execution parts: synchronous (to perform the input model validations) and asynchronous (to process all child events). The new start gets rejected if one of the synchronous steps fails while the asynchronous step(s) would fail silently without any user notification. CSRs are able to view failed events and the failure reason, update data and reprocess events via One CSR Portal. More information can be found in our documentation.
Occupant/Subscriber information like first name, last name, phone, email would now be synced with CircPro circulation system. Available for CircPro Clients with 2021-1 version. Please check our documentation for more details.
Ability to change in real time both the billing and delivery addresses from SubCon admin (CSR Portal). Please check our documentation for more details.
Users can now upgrade or downgrade their subscriptions from the Self Service Portal (Digital to Print and viceversa). Please check our documentation for more details.
A Digital ZIP-only Subscription Purchase requires a subscriber to enter only a few fields to make a purchase (Email address, First Name, Last Name, Zip Code and Phone Number). Please check our documentation for more details.
PurchaseAPI that has been developed for the 3.X clients in 3.14.2 now supports Vindicia circulation system and payment processor. More information can be found in our documentation.
OneTrustUrl: "",