Webhooks upgrade to the SHA algorithm
- Log in to your 2Checkout account.
- Navigate to Dashboard > Integrations > Webhooks and API.
- Click on the INS Settings/IPN Settings/LCN Settings tab.
Depending on your needs, there are several options for making the switch, as shown below.
Add a new URL with SHA2/3 hash Recommended
- Click on Add endpoint.
- Add the new INS name, and URL and select the hashing algorithm. Then click on Save endpoint.
- After setting up the URL for the new endpoint, navigate to the trigger list associated with the endpoint and click on Edit to edit the trigger.
- On the next page, scroll down to the Parameters section, deselect the md5_hash parameter, select the hash parameter, and click on Save trigger.

-
The new INS endpoint with its hashing algorithm will be displayed in the URL list. When you’re ready, remove the old endpoint with MD5 and use only the one with the SHA algorithm.
-
Optionally, for enhanced security of your webhooks, you can validate the hash received in INS. Click here to learn how.

- Click on Add IPN URL.
- Add the IPN URL and select the hash algorithm.
- The new IPN URL with its hashing algorithm will be displayed in the URL list. When you’re ready, remove the old endpoint with MD5 and use only the one with the SHA algorithm.

This option is suitable for merchants already using the LCN in a production environment and processing orders through the platform.
- Click on Add LCN URL.
- Add the LCN URL and select the hash algorithm.
- The new LCN URL with its hashing algorithm will be displayed in the URL list. When you’re ready, remove the old endpoint with MD5 and use only the one with the SHA algorithm.

Keep both the SHA2/SHA3 and MD5 hash
This approach means that you will receive an IPN with multiple hash parameters. Therefore, you will first need to adjust your integration to be able to correctly process the extra hash parameter and respond with the new algorithm. Check this article for some IPN code samples.
- Click on the Edit button to edit an existing URL corresponding to your default IPN listener.
- Select the additional hash algorithm. Click on Save.
- The changes in the hashing algorithm will be displayed in the URL list.
- After you successfully manage to validate the notification using the SHA2/SHA3 hash algorithm, remove the MD5 hash from your endpoint.
This approach might be suitable for merchants that have been selling through the platform and have been using LCNs. This will allow a smooth transition from one hashing algorithm to another, as both will be sent in the LCN until August 15th, 2024.
This approach means that you will receive an LCN with multiple hash parameters. Therefore, you will first need to adjust your integration to be able to correctly process the extra hash parameter and respond with the new algorithm. Check this article for some LCN code samples.
- Click on the Edit button to edit an existing URL corresponding to your default LCN listener.
- Select the additional hash algorithm. Click on Save.
- The changes in the hashing algorithm will be displayed in the URL list.
- After you successfully manage to validate the notification using the SHA2/SHA3 hash algorithm, remove the MD5 hash from your endpoint.
Replace the MD5 hash with SHA2/SHA3
This approach is best if you are using a sandbox environment, or you can afford some service interruption. This is because we will no longer send MD5 hash to this IPN endpoint, and you will need to adapt your integration to support the SHA2/SHA3 algorithm. Check this link for more details.
- Click on the Edit button to edit an existing endpoint corresponding to your default INS listener.
- Selecting any of the SHA algorithms automatically deselects the MD5 hash. Click on Save endpoint.
- The changes in the hashing algorithm will be displayed in the endpoint list.
- After setting up the URL for the new endpoint, navigate to the trigger list associated with the endpoint and click on Edit to edit the trigger.
- On the next page, scroll down to the Parameters section, deselect the md5_hash parameter, select the hash parameter, and click on Save trigger.
- Optionally, for enhanced security of your webhooks, you can validate the hash received in INS. Click here to learn how.
- Click on the Edit button to edit an existing URL corresponding to your default IPN listener.
- Select the additional hash algorithm and deselect the MD5 hash. Click on Save.
- The changes in the hashing algorithm will be displayed in the URL list.

- Click on the Edit button to edit an existing URL corresponding to your default LCN listener.
- Select the additional hash algorithm and deselect the MD5 hash. Click on Save.
- The changes in the hashing algorithm will be displayed in the URL list.

Troubleshooting
Even after upgrading your INS/IPN/LCN webhooks from MD5 to the SHA2/SHA3 algorithm, you can make sure your daily operations are not impacted, by following these steps:
- Log into your 2Checkout account.
-
Navigate to Dashboard > Reports center > API & Webhooks.
-
Select Webhooks as Event source, IPN (Instant Payment Notification), LNC (License Change Notification), or INS (Instant Notification Service) as Webhooks and Fail as Status. You can also filter your search by INS/IPN/LCN Order reference. Press on Search.

-
The failed INS(s)/IPN(s)/LCN(s) will be displayed. Select the Action icon to see more information.
-
The retry mechanism is only for the failed INS/IPN/LCN. You can see which one failed via the report and request/response details of each webhook.
- Additionally, on the order level, you can click on Resend IPN and on the subscription level, you can click on Resend LCN feature in debug mode, to be able to see how your setup behaves:
Resend INS
-
Select the failed webhook and click on Resend.

- Click on Proceed for the INS webhook to be resent.

Resend IPN
- Click on the order number, from the Order reference list.
- Select Resend notification(s).
- Mark the Debug IPN? checkbox and click on Re-send.
- On the debugger you can see why the IPN failed and what hash signature was used.
-
Resend LCN
- Click on the license number, from the License reference list.
- Select Resend notification(s).
- Mark the Debug LCN? checkbox and click on Re-send.
- On the debugger you can see why the LCN failed and what hash signature was used.
- Click on the license number, from the License reference list.
API Authentication upgrade to the SHA algorithm
For API authentication and instructions on how to generate the hash code check the API Authentication documentation.
ConvertPlus Trials Flow
In order to generate a Convert Plus trial link, it’s mandatory to have the following parameters in the buy link URL.
Mandatory parameters for all type of buy links (trials included)
- Merchant ID (merchant=ID)
- Template (tpl=default)
- Catalogue Product ID (prod=ID)
Mandatory parameters for the trials flow
- Signature: for building a Trial buy link it is required to generate a signature - ConvertPlus Buy-Link Signature for Catalog Products
- Price (define trial price for the corresponding currency - 0 for free trial, higher than 0 for paid trial); example: tprices=USD%3A10%2CEUR%3A0
- Period (define period – not less than 7 days); example: tperiod=7
- Currency (define currency); example: currency=USD
- Quantity (define quantity – 1 is the only value supported); example: qty=1
How your URL should look like:
https://store.checkout.com/checkout/buy?merchant=merchant&tpl=default&p…¤cy=USD&tprices=USD%3A10%2CEUR%3A0&tperiod=7&signature=e9xe3a3cf015a3ff4ad687b02ba55207de20abb1d24194dcfc53a140d882fc4b
For more details on parameters setup, check ConvertPlus URL parameters.
Limitations:
- the trial period/price applies to a single product
- the trial period can be a minimum of 7 days
- 2Checkout uses the custom prices and ignores the per-product pricing configuration
- supported payment methods: credit and debit cards, PayPal, and Direct Debit
- 2Checkout automatically converts the trial to a paid subscription when the trial interval expires by charging shoppers based on the payment-on-file information. Customers can opt-out at any time using their myAccount
Cumulative promotions
Overview
The cumulative promotion option enables you to offer the shopper the opportunity to apply two different discounts on the same product. This means that shoppers can add a discount coupon to their checkout carts while still benefiting from the time-limited promotion that you offer.
Benefits
- Expand your customer base
- Increase recurring revenue
- Enhance and consolidate customer loyalty and satisfaction.
Availability
The feature is only available on demand. If you are interested in using this feature, please contact our sales representatives or 2checkout support.
A cumulative promotion can be applied on top of the following types of promotions:
Limitations
The feature can be applied to all promotions with the following limitations:
- You cannot apply more than two promotions per product.
- When the cumulate promotions feature is enabled, the order promotion feature is then automatically set as unavailable.
- This feature cannot be applied to automatic renewals. The feature can only be applied to new acquisition orders and manual renewals.
- The shopper cannot apply two cumulative promotions for the same product. You can only apply one standard (non-cumulative) and one cumulative promotion per product.
- It only applies to eCommerce orders.
- This does not apply to Convert Plus carts.
Use Cases
Use Case 1: Gift coupons from affiliates
- You sell your product and services through your online platform
- You offer discount coupons to affiliate partners.
- You set a separate auto-applied promotion for the same product of 10%.
- The shopper has a promotion coupon from one of the affiliates.
- If the cumulative price promotion feature is activated, the promotion coupon discount will be added on top of the auto-applied 10% promotion.
Use Case 2: Time-Limited Offers
- You provide a 20% discount for the Black Friday weekend on a series of products.
- The shopper has a 10% discount voucher they received compensation for a past purchase exceeding 100 EUR.
- The cumulative price promotion feature enables the shopper to receive the Black Friday purchase discount as well as the 10% voucher.
- The shopper gets a 30% discount on their purchase.
Add a cumulative promotion
To add a cumulative promotion follow the steps below:
- Log in to your Merchant Control Panel account.
- Go to Marketing tools -> Promotions -> Regular promotions.
- Click Add regular promotion.
- Give a suggestive title and description to your promotion. Shoppers can see the promotion title during purchase.
- Make sure that you select to apply the promotion to eCommerce orders.
- Select when you want the promotion to run. You can limit promotions to a specific time interval or let them run indefinitely. To start a promotion as soon as you mark it Active, leave the start date empty. If you don't set the end date, the promotion will stop when the maximum number of orders has been reached or will continue to run if the maximum number of orders is unlimited.
- Select if you want to apply the Cumulative promotion option or not by clicking on Yes or No.

- If the promotion is cumulative, you need to select the tax category for the discounted product as well, by selecting an option from the Product tax category drop-down list.
- Choose the coupon/voucher type:
- Single - one voucher to impact multiple orders;
- Multiple - individual and unique, per-order vouchers.
- Select the discount type:
- Percentage
- Fixed
- Choose whether or not to apply discounts automatically. Only available for single coupons. This option applies discounts to all selected products in all orders, without allowing shoppers to enter the coupon manually.
- Choose whether or not to publish the promotion to the 2Checkout Affiliate Network.
- Activate the promotion.
- Select the products to be included in the promotion.
- Click Save.
- You can see your cumulative price promotions displayed on the Regular Promotions page, with the Promotion type set to Cumulative.

How it works
After the cumulative price promotion is created, it is applied to the shopping cart in the following way:
- At any given moment, there can be a maximum of 2 promotions applied for a product: 1 cumulative and 1 non-cumulative.
- The cumulative price promotion is always applied last to the purchase.
- A promo can replace another promo only if it's the same type (cumulative or non-cumulative. For example, a shopper has two discounts applied to a product and wants to add a third coupon code. If that third coupon code is a cumulative promotion, then it will replace the cumulative coupon previously added to the cart. If that third coupon code is a non-cumulative promotion, then it will replace the non-cumulative coupon previously added to the cart.
- If the discount is higher than the value of the order, limit the order value to 0. In other words, any discounts that give a negative price order value should be set to 0.
- The nominal value of the cumulative promotion also appears on the invoice sent to the shopper, as a separate entry in the product list.
Best Price Promotions
Overview
The best price promotion feature enables you to offer the shopper the opportunity to get the best discount out of the available options. The feature calculates which is the most advantageous promotion out of two different promotions, when the shopper attempts to introduce a coupon to the cart. After the calculation, the feature will apply the best coupon out of the two.
Benefits
- Expand your customer base
- Increase recurring revenue
- Enhance and consolidate customer loyalty and satisfaction
- Reduce cart abandonment
Availability
The feature is only available on demand. If you are interested in using this feature, please contact our sales representatives or 2checkout support.
The feature can be applied to the following types of promotions:
- Regular promotions
- Multi-product promotions
- Special price promotions
- Cross-sell promotions
- Upsell promotions
Limitations
The feature can be applied to all promotion types with the exception of order promotions.
Use Case
- You sell your product and services through your online platform.
- You offer discount coupons to affiliate partners.
- You set a separate auto-applied promotion for the same product of 10 per cent.
- The shopper has a promotion coupon from one of the affiliates of 15 per cent.
- If the best price promotion feature is activated, the affiliate coupon will be applied instead of the auto applied one as it offers a greater discount.
How it works
After the best price promotion is activated by the Verifone Administrator, the feature is applied automatically for every shopper transaction.
- When the shopper applies a discount coupon to the order and an auto-applied promotion is already running, the best price promotion feature will ensure that the promotion with the best discount will be applied only.
- When the shopper applies two vouchers one after the other for the same order, only the one with the best discount will be applied.
- If the latest coupon applied results in a lower discount than the previous one, you will be alerted by the following error message: The previous discount is offering you a better deal. You can only change it with a more advantageous coupon.

Renewal with a new product version
Overview
The feature facilitates your customer to experience faster and easier updates to your products. Renewal with a new product version enables your customer to automatically get an updated version of your product during the subscription renewal process. The feature also enables you to choose which version the shopper updates to, whether it is the latest version or another version which predates the latest one.
Benefits
- Enabling easier updates for your customers
- Enhancing their user experience and assuring customer satisfaction
Availability
The feature is available to all merchants using subscription services.
Limitations
The feature can be applied to all subscriptions with the limitation that the intermediary upgrade option is only available upon request.
Use Cases
Use Case 1: Renewal with the Latest Product Version
- You have an online shop selling digital products, amongst these being anti-virus software that is being updated yearly.
- A customer has the 2022 version of the product.
- Upon renewal, the new product on the subscription will be the 2023 version of the product, without any additional actions for the shopper.
Use Case 2: Multi-Step Renewal with an Intermediary Product Version for better customer retention
- You have an online shop selling your products.
- You want to offer differentiated product packaging for renewing customers, depending on the current version of their subscription plan. For the customer that initially subscribed to the standard version of your product, you can reward them by automatically updating their plan to a product with more features when they renew the first time.
- For the same customers, the next time they renew you can reward them by automatically updating their product and their subscription plan with even more features and benefits.
Use Case 3: Silent upgrade & intermediary silent upgrade in Channel Manager
Channel Manager now supports renewal with a different product version and allows merchants to deprecate old products and transition partners to new versions. If the targeted product at renewal is not in the partner's price list, the subscription should renew with the same product.
The intermediary silent upgrade enables merchants to offer partners different renewal prices depending on the number of renewals. For example, if a merchant sells product A with a 10% new acquisition discount to their partner, after one year, the partner gets a 15% renewal discount; if the partner renews a second time, the renewal discount is 25%.
The silent upgrade can be leveraged by any merchant using Reseller management.
Renewal with a new product version
To apply a renewal with a new product version, you must follow the following steps:
- Navigate to Products, under Setup, and run a search to identify the upgraded product. Click to edit it, and then select the Upgrade tab.
- Choose the upgradable products from the list in the Edit your upgrade options area. Multiple selections are possible when holding down the CTRL key.
- In the Renewal with a new product version section, you can select the following options:
- This is an intermediary version before upgrading to the final product version if you want to make an intermediary update to a closer version before updating to the latest version
- 2Checkout Monthly Subscription is a newer version of other products if you want to update the customers to the latest version

How it works
After the renewal with a new product version is activated, it is applied in the following way at renewal time:
- For the intermediary upgrade mode, it will first upgrade from the deprecated version to the next product version in the upgrade schema. At the next renewal, the subscription will be upgraded to the newer/last product version. This is illustrated in the diagram below.

- If the intermediary upgrade is not activated, then the deprecated version will be directly updated to the latest version of the product. This is illustrated in the diagram below.

Adobe Analytics with Datastreams
Overview
The newly developed “alloy.js” library from Adobe is a JavaScript library that helps merchants measure how users interact with their website.
The new approach of the current “alloy.js” is that it improves:
- Page performance by loading a smaller tracking library.
- Use the same visitor identifier across different solutions from Adobe platform.
- On client-side data, it minimizes the transmissions from website to Adobe platform.
Implementing Adobe Analytics using the Adobe Experience Platform Web SDK (alloy.js) probably will charge fees, so be in touch with your Adobe provider. For more information on the Adobe Experience Platform Web SDK and how to install it, click here.
Setting the Adobe Analytics configuration
To implement Adobe Analytics on your website, follow these steps:
- Log into your 2Checkout (now Verifone) Merchant Control Panel and navigate to Setup.
- Select Ordering Options.
- Click on the Analytics tab.
- Click on the Convert Plus & Inline Checkout button.
- In the Adobe Analytics panel click on Setup.
- Fill in the two fields. The information can be extracted from the datastream creation in the Adobe platform.
The Adobe Analytics Edge Configuration ID and Experience Cloud Organization ID can be found in Adobe Experience Platform.- The Edge Configuration ID means Datastream ID and represents the ID of the configuration that is set on the datastream created for transferring data to the Adobe Analytics module.
- The Organization ID means the ID that Adobe is creating for a user and helps the Adobe Platform to recognize the user between the changes from different module/applications.
- Click on the Inactive button to activate the configuration credentials for Adobe Analytics.
Setting the Adobe Experience Platform for using Adobe Analytics
To implement a report in Adobe Analytics from the data sent in the shopping cart, first you need to create a datastream and a schema to set the logic data into the datastream.
- Go to Adobe Experience Platform and click on the Schemas option from the left side panel. Then, click on the Create schema button. This schema should use the XDM Adobe pre-build schemas in order for the data to be recognized in the Adobe Analytics report.
The XDM ExperienceEvent is used as the primary selection for the Adobe pre-build class because this is the way that Adobe Analytics service can recognize the schema in the datastream.
- In the new schema, go to Scheme properties and enter the Display name and Description. In the left-side panel, go to the Fields group and click on Add; this will open the pre-built schema for Adobe Analytics to be selected.
This step is very important as here we get the data that will be mapped in the datastream with the data sent from the shopping cart. - After saving the schema, go back to the Datastreams section, and create a New Datastream, selecting the already created schema from the Event schema drop-down option.
The steps on how to map the data will be treated in the section Mapping the data to Adobe Analytic context.
All of these 3 steps can be reproduced in the Adobe Experience Platform Data Collection module from the same Adobe Experience Cloud environment.
Mapping the data to Adobe Analytics context
For mapping the correct data into Adobe Analytics module, the 2Checkout comes with the schema that is sent from the shopping cart. For mapping the data, you need to know two aspects, one of the data that is sent from 2Checkout, and secondly, the data recognized (or created as new evar/events) in the Adobe Experience Platform.
Data sent from 2Checkout
A general overview of this data is presented in the code snippet below:
{
"event": "checkout",
"ecommerce": {
"currencyCode": "string required",
"sessionId": "string required",
"checkout": {
"actionField": {"<< ActionField object >>"},
"products": ["<< List of product object >>"]
},
"purchase": {
"actionField": {"<< ActionField object >>"}
},
"products": ["<< List of product object >>"],
"add": {
"products": ["<< List of product object >>"]
},
"remove": {
"products": ["<< List of product object >>"]
},
"impressions": ["<< List of impression object >>"]
},
"PAGE_NAME": "string => string",
"VENDOR_CODE": "string => string",
"ONESTEPCART": "true => bool",
"SHORT_FORM": "true => bool",
"PURCHASE_COMPLETE": "bool",
"TEST_ORDER": "bool => bool",
"PRODUCT_SOURCE": "string",
"CART_LOCK": "bool => bool",
"DISCOUNT_COUPON_STATUS": "string",
"AUTO_RENEWAL": "string => string",
"PURCHASE_TYPE": "string => string",
"LANGUAGE": "string => string",
"BILLING_COUNTRY": "string",
"VISITOR_COUNTRY": "string",
"BILLING_CURRENCY": "string",
"COMPANY_NAME": "string",
"ORDER_EXT_REF": "string",
"CUSTOMER_EXT_REF": "string",
"TEMPLATE_LAST_MODIFIED_DATE": "string",
"TEMPLATE_CREATION_DATE": "string",
"PAGE_STYLE_NAME": "string",
"ADDITIONAL_HIDDEN_FIELDS": "array",
"SELLER_TYPE": "string",
"PAYMENT_METHOD": "string",
"PAYMENT_METHOD_TYPE": "string",
"QUANTITY_CHANGED": "string",
"CART_STEP": "string",
"ADDITIONAL_FIELDS_COUNT": "number",
"SOURCE": "string",
"PURCHASE_FLOW": "string",
"CREDIT_CARD_INSTALLMENTS": "string",
"LEAD_MANAGEMENT": "string",
"PAYMENT_CATEGORY": "string",
"time": "number"
}In the next tables, each event is described in detail:
| Object ecommerce (key "ecommerce" on the event name "checkout") | ||
|---|---|---|
| Key | Content | |
currencyCode |
String (required) | |
| The currency code | ||
sessionId |
String (required) | |
| The session ID | ||
checkout |
Object (required) | |
| The object that will implement the checkout event. Will have two keys: “actionField” and “products” | ||
actionField |
Object (required) | |
products |
Array of objects (required) | |
coupon |
String | |
| If there is a promotion, a coupon will be needed | ||
orderDiscountCoupon |
String | |
| The discount from the added coupon | ||
| Object actionField (key “actionField” on the event name “checkout”) | |
|---|---|
| Key | Content |
step |
Integer (required) |
| The step | |
checkout_revenue |
String (required) |
| Checkout revenue | |
checkout_revenueUSD |
String (required) |
| Checkout revenue USD | |
checkout_tax |
String (required) |
| Checkout tax | |
checkout_taxUSD |
String (required) |
| Checkout tax USD | |
checkout_shipping |
String (required) |
| Checkout shipping | |
checkout_shippingUSD |
String (required) |
| Checkout shipping USD | |
| Object product (key “products”, array of product) | |
|---|---|
| Key | Content |
name |
String (required) |
| The name of the product | |
id |
String (required) |
| The ID of the product | |
price |
String (required) |
| The price | |
discountAmount |
String (required) |
| The amount of the discount | |
quantity |
Number (required) |
| The quantity | |
type |
String (required) |
| The type of the product | |
group |
String (required) |
| The group | |
tax |
Number (required) |
| The tax amount | |
format |
String (required) |
| The format | |
coupon |
String |
| If there is a promotion, a coupon will be needed | |
discountCoupon |
String |
| The discount from the added coupon | |
itemExtRef |
String |
| The product external reference | |
isDynamic |
Boolean |
| The product is dynamic | |
dynamicType |
String |
| The type of dynamic product | |
dynamicRecurrence |
String |
| The recurrence of dynamic product | |
dynamicDuration |
Number |
| The duration of a dynamic product | |
dynamicRenewalPrice |
Number |
| The renewal price for a dynamic product | |
options |
Array of strings |
| Extra option for the product | |
hiddenAdditionalFields |
Array of strings |
| Additional hidden fields that are set by the merchant in the Control Panel application | |
| Object ecommerce (key “ecommerce” on the event name “purchase”) | ||
|---|---|---|
| Key | Content | |
currencyCode |
String (required) | |
| The currency code | ||
sessionId |
String (required) | |
| The session ID | ||
purchase |
Object (required) | |
| The object that will implement the purchase event will have one key: “actionField” | ||
actionField |
Object (required) | |
orderTimestamp |
String (required) | |
| The timestamp of the place order | ||
products |
Array of objects (required) | |
| The product object | ||
| Event name “cartUpdate” | |
|---|---|
| Key | Content |
PAGE_NAME |
String |
| The name of the page | |
VENDOR_CODE |
String |
| Vendor code | |
ONESTEPCART |
Boolean |
| One step cart value | |
SHORT_FORM |
Boolean |
| Short form value | |
PURCHASE_COMPLETE |
Boolean |
| The purchase is completed | |
TEST_ORDER |
Boolean |
| The order is for testing purpose | |
PRODUCT_SOURCE |
String |
| The product source | |
CART_LOCK |
Boolean |
| The cart is locked | |
DISCOUNT_COUPON_STATUS |
String |
| The status for the discount coupon | |
AUTO_RENEWAL |
String |
| Auto renewal value | |
PURCHASE_TYPE |
String |
| The type of the purchase | |
LANGUAGE |
String |
| The language code | |
BILLING_COUNTRY |
String |
| The billing country | |
VISITOR_COUNTRY |
String |
| The visitor country | |
BILLING_CURRENCY |
String |
| The billing currency | |
COMPANY_NAME |
String |
| The company name | |
ORDER_EXT_REF |
String |
| The order external reference | |
CUSTOMER_EXT_REF |
String |
| The customer external reference value | |
TEMPLATE_LAST_MODIFIED_DATE |
String |
| Template last modified date | |
TEMPLATE_CREATION_DATE |
String |
| Template creation date | |
PROFESSIONAL_SERVICES |
String |
| Professional services value | |
PAGE_STYLE_NAME |
String |
| Page style name | |
ADDITIONAL_HIDDEN_FIELDS |
Array of strings |
| Additional hidden fields that are set by the merchant in the Control Panel application | |
SELLER_TYPE |
String |
| Seller type value | |
PAYMENT_METHOD |
String |
| Payment method value | |
PAYMENT_METHOD_TYPE |
String |
| Payment method type value | |
QUANTITY_CHANGED |
Number |
| The new quantity of the cart updated event | |
CART_STEP |
String |
| The step of the cart | |
ADDITIONAL_FIELDS_COUNT |
Number |
| The count of the additional fields | |
SOURCE |
String |
| The source value | |
PURCHASE_FLOW |
String |
| The purchase flow value | |
CREDIT_CARD_INSTALLMENTS |
String |
| The credit card installments | |
LEAD_MANAGEMENT |
String |
| The lead management value | |
PAYMENT_CATEGORY |
String |
| The payment category | |
time |
Number |
| The timestamp on which the event is created | |
REVIEW_FLOW |
String |
| The review flow value | |
| Event name “addToCart” | |||
|---|---|---|---|
| Key | Content | ||
currencyCode |
String (required) | ||
| The currency code value | |||
ecommerce |
Object (required) | ||
| Ecommerce object that will have a key named “add” | |||
add |
Object (required) | ||
products |
Array of objects (required) | ||
| The product object | |||
| Event name “removeFromCart” | |||
|---|---|---|---|
| Key | Content | ||
ecommerce |
Object (required) | ||
| Ecommerce object | |||
currencyCode |
String (required) | ||
| The currency code value | |||
sessionId |
String (required) | ||
| The session ID value | |||
remove |
Object (required) | ||
products |
Array of objects (required) | ||
| The product object | |||
coupon |
String | ||
| If there is a promotion, a coupon will be needed | |||
orderDiscountCoupon |
String | ||
| The discount from the added coupon | |||
| Event name “productImpression” | ||
|---|---|---|
| Key | Content | |
ecommerce |
Object (required) | |
| Ecommerce object that will have a key named “impressions” | ||
impressions |
Array of objects (required) | |
| The impression object | ||
| Object impression (key “impressions”, array of impression) | |
|---|---|
| Key | Content |
name |
String (required) |
| The name of the product | |
id |
String (required) |
| The ID of the product | |
price |
String (required) |
| The price | |
discountAmount |
String |
| The amount of the discount | |
type |
String |
| The type of the product | |
group |
String (required) |
| The group value | |
format |
String (required) |
| The format | |
isDynamic |
Boolean |
| The product is dynamic | |
dynamicType |
String |
| The type of dynamic product | |
hiddenAdditionalFields |
Array of strings |
| Additional hidden fields that are set by the vendor in the cPanel application | |
position |
Number |
| The position of the impression | |
Data needed from Adobe Experience Platform
Go back to the new created datastream from Adobe Platfom, and click on the Edit Mapping section.
Here is an example of a partial mapped scheme:
How to create Events and Variables in the Adobe Analytics application
- Log into Adobe Analytics.
- Go to Admin > Report Suites.
- Click on the Report suites for which you want to build variables or events.
Example on how to build a custom event in Adobe Analytics:
- Click on Edit Settings > Conversion > Success Events to build custom events.
- Click on Add New and then define the new event, for example event10: write a name for the event (ex: “Product Discount Value”).
- Under the Type column, select Currency if a monetary value is sent under this event, as in the example below. The other fields should be left as preselected by Adobe in this example.
- Click the Save button at the bottom of the page.
- After the event was created, it will appear in Adobe Analytics Workspaces, if you search for “event10” in the left-side panel.
Example on how to build a custom variable in Adobe Analytics
A. Session level variable – example evar8 Order ID (order ID/ purchase ID is not captured automatically by Adobe; if we want to capture this value, then it needs to be captured under a custom evar)
- Click on Edit Settings > Conversion > Conversion Variables to build custom variables.
- Click on Add New and define the new variable, for example evar8, add as name Order ID. Select Linear as allocation for order ID.
- Click Save at the bottom of the page.
- After the evar was created, it will appear in Adobe Analytics Workspaces, if you search for evar8 in the left-side panel.
B. Merchandising variable (this is a product level variable) – example evar26 Product Discount Coupon Value
- Click Add New and define the new variable with Product Name “Product Discount Coupon Value”
- Click Enable merchandising (this is only applicable for merchandising evars – evars that send information specific for certain products, e.g., certain products in an order can have different coupon discounts).
- For Merchandising click Product Syntax from the drop-down list and Allocation Most Recent (Last).
- Click Save at the bottom of the page.
- After the evar was created, it will appear in Adobe Analytics Workspaces, if you search for evar26 in the left-side panel.
Upgrade from MD5 to SHA2/SHA3 algorithm
Overview
We will stop supporting the MD5 algorithm in our platform and impacted merchants will have to switch to SHA. The decommissioning will be carried out in two stages, having the deadline for the first phase on 15th of August, 2024 and the deadline for the second phase on 30th of June, 2025.
Availability
Areas in which MD5 will no longer be available are the following:
Phase One (deadline: 15th of August, 2024)
- API
- Webhooks (IPN and LCN)
- Shopping cart integrations
- Electronic delivery
- Buy links generated using MD5 hash
Phase Two (deadline: 30th of June, 2025)
- Finish page (BACK_REF parameter)
- Instant Notification Service (INS)
- Instant Refund Notification (IRN)
- Instant Delivery Notification (IDN)
- Instant Order Search Export (ISE)
Benefits
- Keeping up to date with technical security advancements.
- Increasing the security for authentication and removing potential security breaches.
- Secure and robust while being compatible with the existing algorithms in terms of the number of bits and representation size
Keep posted on the latest updates in the 2Checkout Control Panel and in this article for transitioning to the SHA algorithm.