> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Vindicia Internal Notes for Subscribe 2021.09 Release

Release Date: September 28, 2021

**Parent topic:**[Vindicia Subscribe - 2021.09 Release Notes](2021.09_tp_subscribeReleaseNotes)

## Subscribe Features

### Push Notification 2.0 Enhancements

* Timestamp values enhanced with fractional second support: Starting from this release, Push Notification messages return 6 digit fractional second precision for the header timestamp fields `event_timestamp` and `submitted`. This improves Merchants' ability to determine ordering of messages based on when the triggering event occurred in Subscribe.For example, a datetime that was previously sent as **2021-08-26 05:15:55** now appears as **2021-08-26 05:15:55.109785**.
* Subscribe has been extended to additionally support the Push 2.0 service for push notification delivery. Based on Merchant configuration, Subscribe publishes messages to an AWS Kafka broker. These messages are consumed by an instance of the MarketONE WebHooks (M1WH) service which delivers messages to Merchant WebHook listeners.
* Additionally, Merchant Push Class configuration is automatically synchronized from Subscribe to M1WH. This synchronization, which runs every 10 minutes in Subscribe (Staging and Production), reads Merchant Push Notification configuration data from the Subscribe database and publishes to Kafka. A lambda function consumes messages from Kafka and applies configuration changes to M1WH.

(VIN-12687, 12689)

### Stackable Discounts

Starting this release, Subscribe supports **stackable discounts** whereby merchants can allow redemption of multiple discounts (campaign codes) simultaneously as part of a subscription using Subscribe's Promotion and/or Coupon Campaigns.

For Example, a customer can apply both a \$10 new customer promotion coupon and a 5% promotional student discount to a new subscription.

This feature is available for new merchants in September's release. A migration path, for existing merchants who are currently using campaign discounts, will be available in future releases.

To implement the feature, the following merchant options have been added. These merchant options are currently available through the merchant\_options table and will be added to the UI in future releases.

**Note:** The order of the merchant options shown below is important. Higher placed merchant options will supersede the lower ones when a conflict occurs.

| Field Name | Values | Description |
| - | - | - |
| default\_rest\_version | - **20210401** - **20190501** | The rest version to be used for all calls. Merchants must NOT change versions on the fly. Select between: - **20210401** for stackable discounting allowing combining of several discounts at one time (i.e. disco 2) - The default **20190501** supports single campaign discounts i.e. disco 1 **Important:** The default\_rest\_version must correlate with the discounting\_model merchant option to use the same versions. Merchants continuing with their current version do not need to make any change. |
| discounting\_model | - **1** (Single campaign discounts i.e. Disco1 using 20190501) - **2** (Multiple campaign discounting i.e. Disco 2 using REST 20210401) - **Null** (defaults to single campaign discounts i.e. Disco1 20190501) | This field indicates the discounting model being used by the merchant and supports either single campaign discounts using 20190501 (default) or stackable (multiple) discounting at once.**Important:** The default\_rest\_version must correlate with the discounting\_model merchant option to use the same REST versions. |
| discount\_application\_rule\_id | - **1** (SingleOnly) - **2** (RelativeFirst) - **3** (FixedFirst) | This field allows merchants to define the discount application order to a subscription or transaction or their relevant items. This is a generic order for all stackable discounts and will impact the discount amount. - **Single only** allows to redeem only a single discount per Subscription/Transaction/Charge. - **Relative first** means that percentage based discounts will be the first ones applied when multiple discounts are redeemed. - **Fixed first** means that fixed price discounts will be the first ones applied when multiple discounts are redeemed. |
| relative\_discount\_rule\_id | - **1** (DirectFirst) - **2** (CompoundedFirst) | This field allows merchants to define the order of applying the **percentage** discounts. For stackable discounts, percentage-based campaigns are associated a discount method (in the campaign object) which is either **Direct** (applied to the original price of the subscription/transaction/items) or **Compounded** (applied to the discounted price of the items).This is a generic field for all the merchant's stackable discounts and will impact the discount amount. - **Direct first** means that campaigns defined as Direct discount method are applied first (to the full amount of the subscription/Transaction/Item) - **Compounded first** means that campaigns defined as compounded discount method are applied first (to the discounted amount of the subscription/Transaction/Item) |
| discount\_sorting\_rule\_id | - **1** (LowestFirst) - **2** (HighestFirst) | This field allows merchants to define the order of the discounts by their discount value or percentage. Lowest/Highest First: - For percentage discounts - lowest/highest first means lowest/highest percentage applied first. - For flat amount discounts - lowest/highest first means lowest/highest flat amount applied first. |
| (VIN-10479) | | |

## Payment Features

### Checkout.com Integration via Juspay Gateway ​

​Starting this release, Vindicia is providing support for merchants using Checkout.com as their payment processor via the JusPay gateway Interface.​

To use in Subscribe, select Subscribe Hosted Pages payment method.​

To implement do the following:​

​Add this value to the **Merchant Data**:

`​JusPay:client_id`​

Add the following values to the Name-Values/Metadata on the **Subscription or Transaction**:

* `JusPay:payer_document​`
* `​JusPay:language​`
* `​JusPay:description`​

(VIN-1660)

## Internal Fixes

| Ticket | Description |
| - | - |
| VIN-12515 | Chase Data Feed Request (DFR) format was changed and in this release we have adapted our interface to accommodate it. |
| VIN-12521 | External Billing -Wrong file formatting blocked processing. |
| VIN-12599 | Visa error code 14 does not allow billing retry. The code was previously marked as a soft fail and has now been changed to a hard fail. See [VIN-12599](https://support.sm.vindicia.com/secure/attachment/84964/Error%20Code%2014%20Mapping%20to%20Hard%20Fail.xlsx) for re-mapping of the specific error code. See [VIN-10158](https://support.sm.vindicia.com/browse/VIN-10158) for the updated spreadsheet with all mapped error codes. |
| VIN-12671 | Ingenico CIT/MIT (card on file) implementation missing parameters for Merchant Initiated Request (MIT-R) calls. Parameters have been added with the following values:- CustomerID - HOSTEDINDICATOR = 0 - AUTHENTICATIONINDICATOR= 0 - PROFILETOKEN = To get profile token, we initiate ConvertProfileToken request after the first Customer Initiated Transaction (CIT), where we pass the input as “OrderID” of the earlier CIT transaction. |
| VIN-12834 | Refactoring to add support to Refund Filter by Account. Please note we haven't added Refund Fetch by Account, only the necessary refactor to support it. We have not modified anything related to refunds available via transactions endpoint. |
| VIN-12852 | Entitlement Stop and start Push notifications for 2.0 were being sent early in Subscription update scenarios. Notifications were queued prior to actual database commit for the requested Subscription changes. This issue has been fixed. |
| VIN-12888 | Subscribe Portal 2 EndPoint Analysis Metrics. See [wiki entry](https://wiki.sm.vindicia.com:8443/pages/viewpage.action?spaceKey=DEV\&title=The+Portal+Stats+File) |

## Internal Known Issues

No Internal known issues in this release.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.