Kount is a leading innovator of solutions for fraud and risk management. The Kount “decision engine” platform is ideal for managing fraud in online/telephone channels that process payments and onboard new customers. Kount is committed to offering an end-to-end, single-source solution focused on speed, simplicity and ease of use — with a no-compromise approach to providing real-time accuracy in results.
The Kount SalesForce Commerce Cloud (SFCC) cartridge provides rapid integration for SFCC implementations. The Kount cartridge is a self-contained cartridge that can easily integrate into any project. This cartridge can be configured in the Business Manager and contains all elements necessary to perform a successful best practices implementation of Kount. The cartridge can also be used for Store Front Reference Architecture (SFRA), and Salesforce Service Cloud (SFSC).
Kount aggregates and evaluates data from three primary sources, the Device Data Collector (DDC), the Risk Inquiry Service (RIS), and the Kount Persona technology. From these three sources Kount provides a risk score and a response based upon merchant administered rules.
The Data Collector gathers information from a customer’s device by redirecting the device browser momentarily to Kount then back to the merchant. This passive analysis obfuscates Kount interaction with the customer and does not affect the customer’s purchasing experience.
The Risk Inquiry Service evaluates the data provided by the DDC and the order-form data submitted to the merchant from the customer to create a fraud score. Merchant specified rules are assessed for each transaction during this evaluation process.
The Kount Persona is comprised of linked data points across the breadth of Kount merchants which provide behavioral analytics related to a transaction.
The SFCC Workflow Diagram provides an overview of how a transaction flows through SFCC when the Kount SFCC Link Cartridge is enabled.
The Kount SFCC Link Cartridge is written by a third party development firm, support and point releases are ongoing. If additional Link Cartridges or customizations have been added to your instance of SFCC, conflicts may occur and may result in additional support and/or maintenance fees outside the Kount standard integration.
Requirements
- All steps from UX Studio Installation and Sandbox Setup Guide (from SFCC) have been completed
- A SFCC Development Resource: The Integration and installation process includes deployment of a generic cartridge and modification of storefront code & controllers.
Functional Overview
Kount Link Cartridge includes:
- RIS (Risk Inquiry System) HTTPS Post
- Device Data Collector implementation within checkout process
- Supported payment types
- Credit card type
- PayPal
- Gift Certificate
- ENS (Event Notification System) update to SFCC instance
- UDF (User Defined Field) Support
- Device Data Exclusion Array (Support for Phone Orders)
- Multiple Websites
- Email Notifications for Errors, ENS, and Risk Change Events
- API/RIS Key (instead of older Certificate/Key configuration)
Limitations/Constraints
- No AVS or CVV information has been passed
- Only listed payment methods will be sent to Kount
- For orders made with a credit card saved in the customer profile before cartridge integration, an empty payment token will be send to Kount.
Compatibility
Cartridge designed for SFCC API version 18.9.0 (Compatibility Mode: 16.2) and Kount version 0630.
Privacy/Payment
Kount supports different payment types and depends on chosen by the customer payment type (payment tokens are required). If chosen payment method not supported by Kount, then a value of NONE should be passed.
The integration uses customer profile data, and then transfers it to Kount. Hashed credit card data is sent to Kount system. The following credit card data is sent:
- Hashed Credit Card Number (using KHASH - Salted Irreversible Hash; PCI Level 1 Compliant)
- Customer Name on Order
- Credit Card Type
Kount Environments
Kount has separate environments for testing and production. The initial integration will first take place in the Kount TEST environment. Boarding documents containing the information for the TEST environment are contained in the “Welcome Email” provided to a merchant when they begin the boarding process with Kount.
The test environment is not engineered to support load testing; it is designed primarily to verify connectivity and proper data submission. Many features such as order linking, scoring, device location, and persona related information are disabled or limited in the test environment.
- Test credit cards can be passed into the test environment but will fail in the production environment.
- Port 443/HTTPS is required for submission and receipt of data in both the test and production environments.
- API Keys are required to authenticate to Kount. Each environment requires a separate API key.
- For instructions on creating an API key, refer to How to Create an API Key for Authentication to Kount.
- Check both the RIS and API checkboxes when creating the API key.
- The API keys must reside on each server that is posting to Kount.
Integration Certification
Upon verification that the correct data is being passed for both the Data Collector and Risk Inquiry Service the merchant will be issued a Certification Letter along with an additional boarding document providing the Production environment information.
Any customized data created in the test environment will have to be re-created in the production environment, this includes, users, rules, site IDs, user defined fields, and API keys.
The test environment will continue to be available to the merchant for testing purposes, but must not be used with production traffic from the merchant.
Logging
To facilitate troubleshooting ensure that logging is enabled in the SFCC Link Cartridge. The Kount Link Cartridge will not interfere with default checkout flow of a site. If an error occurs within the Kount Link Cartridge or if the Kount Service cannot be reached errors are written into separate log files.
Logs are located in Development Setup.
- Go to Administration, Site Development, and then Development Setup.
- Navigate to the Log Files section. The log file naming convention is:
custom-Kount-blade0-4-appserver-<date stamp>.log
Notifications can also be enabled to deliver email messages to specific addresses if an error were to occur.
Example of the email body for a notification email:
Error during execution
Site Name - Kount
Errors description - Kount method/script - PostRiskInqueryService.ds;ERROR - java.net.SocketTimeoutException: Read timed out
SFCC Workflow
Within the SFCC workflow, if an order is declined with a Kount Rule there is a generic decline message that displays on the checkout page when the customer is attempting to place their order. The displayed message can be customized within SFCC.
- To customize the Decline message, open the kount.properties folder:
int_kount/cartridge/templates/resources/kount.properties
- Change the text of kount.DECLINED to your desired message. Refer to the following example for reference:
Implementation Setup
The int_kount and int_kount_sfra cartridges are required for the integration. Click Get It Now from the SFCC app store. If you encounter any problems, email support@kount.com.
Configuration
There are six configuration steps:
- Import the
kount_metadata.xml
file - Create Services in DW Business Manager
- Kount Site Preferences
- Create API key in Kount Admin Panel
- Assign the Cartridge to a Site
- (Optional) Configure the Event Notification Service
Step 1: Site Import
Use the kount_metadata.xml
file to create the custom System Object definitions and configure the Kount Site Preferences.
- After logging into SFCC Business Manager, go to Administration, and then Site Development.
- Select Import & Export.
- Select Upload to upload the
kount_metadata.xml
file. - Select Choose File, and then find and select
kount_metadata.xml
. - Select Upload.
Note: Thekount_metadata.xml
file is now listed within the Manage Import Files page. - Go back to the Import & Export page, and then select Import.
- Select the radio button next to the
kount_metadata.xml
file, and then select Next. An XML Validation runs. - Select Import.
After the import has finished, a Success status displays.
Note: If the Success status does not display, check the DW Sandbox Setup (Site Genesis), and then attempt the import again.
Step 2: Import Service
- Log into Business Manager and go to Import & Export.
- Click Upload in the Import & Export Files section.
- Click Choose File, and then select
kount_service.xml
file from metadata folder. - Click Upload.
- Click Back.
- Click Import in the Services section.
- Select the
kount_service.xml
radial button, and then click Next. - After file validation, click Next.
- On the next page, select the Merge radial button, and then click Import.
Step 3: Kount Site Preferences
Kount site preferences must be added to the fields on this page. The script file displays the default values to the right of the screen, but does not populate the fields automatically.
- Verify the site preferences by navigating to Merchant Tools, Site Preferences, and then Custom Preferences.
- From the Custom Preferences page, select Kount to display the Custom Site Preferences page. All Sandbox Boarding information needed for this page is provided by your Customer Success Manager.
- See the Custom Site Preferences section below for further information.
Custom Site Preferences
-
Kount API Key: This is where the API/RIS Key is entered. Refer to Kount Environments if you have questions about API/RIS Key creation.
Note: The API Key requires RIS permissions to function properly. - Enable Event Notification Service: Toggles on or off (yes or no in the drop-down menu). The ENS service communicates status changes in Kount to SFCC and updates them within the order. Refer to Step 7 for additional steps to enable and configure ENS.
- Kount ENS Email list: If you want email notifications to be sent when ENS events are posted, enter an email address in this textbox, and then click Add.
- Array of Internal IP Addresses to exclude from Data Collection: This text field is designed for internal IP Addresses that ignore device data. For instance, if your organization accepts phone orders, you can enter the internal IP Addresses of the agents who accept those orders so their devices are not attached to the independent orders being taken over the phone.
- Website ID: Typically default, although website values can be passed. The corresponding Website values must be created inside the AWC. To do so, navigate to the Fraud Control tab, and then Websites.
-
Merchant ID: The MID value is provided by your Customer Success Manager.
Note: Kount does not provide email notifications for any events. The SFCC Link Cartridge has the ability to provide email notifications for various features within SFCC, this is not a feature provided by Kount but rather SFCC. - Kount ERROR Notification Email: A list of email addresses that you would like any errors or warnings sent to that have occurred within SFCC concerning the Kount Link Cartridge. See the Error Logging and Notifications section of this document for more information about the log files.
The next six fields after Kount ERROR Notification Email are various ENS email notifications. If any of these events are triggered, an email will be distributed to anyone listed in email field in the Kount ENS Email List.
After the ENS email notification section, continue with Kount UDF fields.
- Kount UDF fields: Can be established in the field. There are additional steps to enabling and configuring UDF values please refer to How to Manage User Defined Fields (UDF).
- Enable Kount: Enables the Kount service to run against orders being passed into the environment.
- Authorization type: Kount allows two different order workflow types as Pre-Authorization and Post-Authorization.
- Mode: Test mode for Test Environment production for Production Environment
-
Core cartridge (controllers): Kount uses your storefront controller cartridge, please fill this field with name of this cartridge. For example this cartridge can be named app_storefront_controllers or storefront_controllers. You find the name on the Cartridges input page (Administration > Sites > Manage Sites > NAME_OF_YOUR_SITE Settings > Cartridges input).
Example: app_storefront_controllers - Enable Test Verifications: For testing purposes you can turn on/off the Enable Test Verifications field, which is displayed in the storefront on the summary page (in checkout steps).
- Hash Salt Key: The Hash Salt Key is used for hashing credit card numbers.
Step 4: Assign Cartridge to Site
The Cartridge must be assigned to the customer's website and business manager.
- Go to Administration, then Sites, and then Manage Sites.
- Select Kount off the site list, and then choose the Settings tab.
- Enter the following text into the Cartridges field:
int_kount_sfra:int_kount:
Note: Make sure to include the colon after kount in the example above. - Click Apply.
Step 5: Setup validation services
If you are using address or credit card validation services, save the response from the used service to the basket custom attributes:
- Address Verification System Street –
basket.custom.kount_AVST
- Address Verification System Zip Code –
basket.custom.kount_AVSZ
- Card Verification Value –
basket.custom.kount_CVVR
Use the below values for the response:
Value |
Description |
X |
Unsupported |
M |
Match |
N |
Not a Match |
For testing purposes only, there is a modified template: int_kount_sfra/cartridge/templates/default/checkout/checkout.isml
, with line:
<isinclude url="${URLUtils.url('K-ExampleVerification')}"/>
For the same test purposes, the client JavaScript file is also updated:int_kount_sfra/cartridge/client/default/js/checkout/checkout.js
In section stage === 'placeOrder' are added lines:
var kountExampleVerification = $('.kount-selector').serialize(); data: kountExampleVerification,
Step 6: The SFRA version does not need Storefront modifications
The following upgrades are described in case of conflict with other cartridges.
In the template, checkout/billing/paymentOptions.isml, the following line is added:
<isinclude url="${URLUtils.url('K-DataCollector')}"/>
In the controller, controllers/CheckoutServices.js, the following library is added:
var KHash = require('int_kount/cartridge/scripts/kount/KHash');
In the same file, in the SubmitPayment handler, the following lines are added:
wrap(function() {
currentBasket.custom.kount_KHash = paymentInstrument.raw.custom.kount_KHash || null;
});
var RISresult = Kount.preRiskCall(currentBasket, null, true);
if (RISresult && RISresult.KountOrderStatus == 'DECLINED') {
result = {
error: true,
fieldErrors: [],
serverErrors: [Resource.msg('kount.DECLINED', 'kount', null)]
};
}
In the same file, in the PlaceOrder handler, the following line is changed from:
var handlePaymentResult = COHelpers.handlePayments(order, order.orderNo);
To:
var handlePaymentResult = Kount.postRiskCall(COHelpers.handlePayments, order, true);
In the same file, in the PlaceOrder handler, the following line is changed from:
sendConfirmationEmail(order, req.locale.id);
To:
if(!Kount._isKountEnabled() || handlePaymentResult && handlePaymentResult.KountOrderStatus == "APPROVED") {
COHelpers.sendConfirmationEmail(order, req.locale.id);
}
In the controller, controllers/PaymentInstruments.js, the following line is added:
custom.kount_KHash = KHash.hashPaymentToken(formInfo.cardNumber);
Step 7: Configure the Event Notification Service (optional)
To configure the Event Notification Service (ENS), a Merchant URL must be set within the Kount AWC and must be enabled within the Site Preferences in SFCC (use this link for the location of this setting). All events are sent to the ENS URL as an XML post(s).
The cartridge does not typically require adding IP or port to whitelist. Communication works through port 443 which is not blocked by SFCC.
If needed, refer to the following list of IP Addresses that need to be whitelisted on your server in order to receive the XML posts from Kount:
Sandbox:
208.75.115.254
208.75.112.254
Production:
208.75.115.253
208.75.112.253
209.81.12.251
Configuring ENS
- Identify your unique Merchant URL. The default value might be different if the merchant is using a language other than English
Example of an ENS URL:
The rest of the URL consists of static values.
Note: There is a difference between the SFCC and SFRA URLs. The SFCC URL ends with /K_ENS-EventClassifications and the SFRA URL ends with /KENS-EventClassifications. - Set the ENS URL within Kount. Go to the Fraud Control tab, and then Websites.
- Click Settings, and then click Edit. The Edit Row dialog displays.
- Select ENS Enabled. Enter the ENS URL (unique to your merchant account) within the Merchant ENS URL.
- Click Update Website.
A green checkmark indicates the website was successfully edited.
External Interfaces (communication between Kount and SFCC)
The cartridge uses ENS to synchronize with Kount.
Callback Controllers:
Notifications from Kount are sent to the cartridge as a series of events formatted in XML. Handlers for these events are implemented as controllers described below. One of them (K_ENS-EventClassifications) is an event sorter. It uses the configuration described in Step 6.
- The event sorter determining classification of the event is: K_ENS-EventClassifications
- The different event handlers are: WorkflowStatusEdit, WorkflowReevaluate, RiskChangeScor, RiskChangeReply, RiskChangeVelo, RiskChangeVmax, RiskChangeGeox, RiskChangeNetw, RiskChangeReas
User Defined Fields Setup and Configuration
The syntax must be formatted to match the values shown in the graphic in order to map correctly within Kount. The System Object Names within SFCC that can be accessed with UDFs are as follows:
Object Name |
Label Name |
Example Use |
Order |
order |
Date|order.date |
Shipping Address |
shippingaddress |
State|shippingaddress.state |
Billing Address |
billingaddress |
City|billingaddress.city |
*Customer Profile |
profile |
DOB|profile.dob |
Configuration of User Defined Fields within Kount (optional)
Kount provides a way for merchants to include additional information related to their business that may not be a standard field in Kount by creating UDFs. UDFs should be first setup in the Kount admin panel.
- From the Fraud Control tab, select User Defined Fields.
- UDF field has type Number by default. In order to change the type, select the appropriate value using the Type drop-down (alphanumeric is the only value that can contribute to the VIP List).
Note: When creating UDFs there may be a few minutes delay from the time of creation to the display within the AWC.
UDF Settings within SFCC Custom Preferences
- To pass information into UDFs, navigate within the DW Business Manager. Go to Site Preferences, and then Custom Preferences.
- Select Kount, and then scroll down to the Kount UDF fields.
Modifying UDF Map within SFCC
- To support other SFCC objects, additional mapping must be done by adding
getUDFObjectMap
in scriptLibKount.js
. - Add the following new object to the map:
UDFMap.put(<label of the object>, {
"meta" : <DW object>.describe(),
"object" : <DW object>
});
Error Logging and Notifications
The Kount Link Cartridge does not interfere with default checkout flow of a site. If an error occurs within the Kount Link Cartridge or if the Kount Service cannot be reached, errors are written into separate log files.
Example of the Log file naming convention:
custom-Kount-blade0-4-appserver-<date stamp>.log
Notifications can also be enabled to deliver email messages to specific addresses if an error were to occur. Refer to Step 3: Kount Site Preferences to set notification emails.
Example of the email body for a Notification Email:
Additional Resources
Upgrading/Updating the Link Cartridge
If you have a previous version of Kount SFCC Link Cartridge integrated, you will need to perform the following steps to update/upgrade to the latest Link Cartridge.
- Delete the instance of int_kount from eclipse studio. Save all changes and clear the project by navigating to Project > Clean
- Import the latestxml file provided with the latest instance of the Link Cartridge. Specific instructions are here.
- Import new version of cartridge to your eclipse studio (int_kount)
- If you were using 14.x version of the SFCC Link Cartridge, (or older), you will need to use the new SFCC Service Framework. Instructions for adding this service is located here.
- If you were using 14.x version (or older) of the Kount SFCC Link Cartridge you will need to update to the new Kount RIS/API Key to authenticate the RIS HTTPS submission to Kount, (instead of self-signed certificate methodology).
- Remove the old certificate from Business manager. Navigate to Administration > Operations > Private Keys choose the checkbox next to the certificate and select the Delete
- Changes are made to the coding and controllers with each version of the SFCC Link Cartridge, please review ALL Custom Coding Requirements and update them into the storefront code. Please refer to the release notes for specific changes from version to version of the cartridge
SFCC Order Post-Authorization Workflow
This section contains examples of the workflow within a default installation of the Kount Link Cartridge and the expected workflow diagram.
Kount Review/Escalate
This is an example of an order that has triggered a Review or Escalate rule action in Kount.
Kount Approved
This is an example of an order that has not triggered a rule or was manually Approved in Kount.
Kount Decline
This is an example of an order that triggered a Decline rule action or was manually Declined in Kount.
Test Cases
Verifying the Functionality of the Cartridge: Test Cases
Controllers/Pipelines
- Pre-Authorization
- Post-Authorization
Requirements for Test Cases
- Link to sandbox/test server and Business Manager credentials
- Access to the Kount sandbox/test environment (https://awc.test.kount.net)
- Browser utility installed (like Firebug or another tool), to monitor actions within html code source.
Prerequisites
- Log into BM, and then open Kount.
- Go to Settings (Administration > Sites > Manage Sites > Kount > Settings).
- Fill Cartridges field int_paypal:int_kount:app_storefront_core:app_storefront_controllers.
- Apply changes.
Test Case 1: Verify all fields and choices are present within the Business Manager (BM) after installing the Kount Link Cartridge
- Log into BM.
- Select the site to be verified.
- Go to Site Preferences, Custom Preferences, and then Kount.
- Verify the following components are available and set:
- Enable Kount toggle
- Authorization type selector has Pre and Post values.
- Kount UDF fields
- Mode selector has Test and Production values
- Array of Internal IP Addresses to exclude from Data Collection (text area)
- Website ID field
- Merchant ID field
- Kount ERROR Notification (Email field(s))
- Kount ENS Email list (Email field(s))
- Enable Event Notification Service toggle
- RISK_CHANGE_NETW dropdown
- RISK_CHANGE_GEOX dropdown
- RISK_CHANGE_VMAX dropdown
- RISK_CHANGE_SCOR dropdown
- RISK_CHANGE_VELO dropdown
- RISK_CHANGE_REPLY dropdown
- Kount API Key
- Verify the following components are absent:
- AWC link
- DC Server URL
- Kount RIS Server URL field
Test Case 2: Verify the Attributes values within the Order Attributes tab within the BM
- Log into BM.
- Select the site to verify, and then go to Orders.
- Click Find.
- Open the Attributes tab.
- Verify the Kount Order Status displays with one of the following values.
- Approved
- Hold
- Declined
- Verify the following fields display with values.
- Kount Order Transaction ID
- Kount Order GEOX
- Kount Order NETW
- Kount Order SCOR
- Kount Order VELO
- Kount Order VMAX
- Kount Order BROWSER
- Kount Order OS
- Kount Order IP_ORG
- Kount Order CARDS
- Kount Order EMAILS
- Kount Order DEVICES
- Kount Order COUNTRY
- Kount Order REPLY
Part 1.1. Pre-Authorization
Prerequisites
- Log into BM.
- Select the site to verify, and then go to Site Preferences, Custom Preferences, and then Kount.
- Verify the mode selector is set to Test.
- Verify Authorization type selector is set to Pre.
- Save the changes.
Test Case 3: Testing the Functionality of the iFrame
- Open the Store Front instance of SFCC, and then place items in the cart.
- Start Checkout as Guest.
- Enter a shipping address, select the shipping method, and then click Continue.
- Scroll down the Billing page.
- Verify that in the bottom-left corner of the page there is a pixel (little blue rectangle).
- Right-click on the pixel, and then choose Inspect Element.
- Verify that pixel is defined as a div with class iframe_test and is contained inside the iFrame component.
- Using prompt in the prerequisites set, set the mode selector to production.
- Open the Billing page again, and then verify that pixel is not visible (the little blue rectangle should be absent).
- Open the page sources (e.g. using Firebug), and then search for the iFrame.
- Verify that iFrame component is still there and div around it is without the test class.
Test Case 4: Verify internal orders do not collect Device Data via the iFrame
Prerequisites
- Log into BM.
- Select the site to verify, and then go to Kount (Site Preferences > Custom Preferences > Kount).
- Enter your current public IP Address to Array of Internal IP Addresses to exclude from data collection.
- Save the changes.
- Open Store Front instance of SFCC, and then place items in the cart.
- Start Checkout as Guest.
- Enter a shipping address, select shipping method, and then click Continue.
- Scroll down Billing page.
- Verify that in the bottom-left corner of the page there is NOT a pixel (little blue rectangle).
- Open the page sources, and then search for iFrame.
- Verify that there is no available iFrame component on page (there is a disabled one with id="_atssh").
- Select or enter a billing address, enter payment data, and then and click Continue.
- Submit the order.
- Open the order within the BM (log into BM, choose the site to verify, and go to Orders).
- Navigate to the Attributes tab and verify that Kount Order COUNTRY value is No data available.
Test Case 5: Session ID values for both iFrame collection and HTTPS RIS post are matching
- Open the Store Front instance of SFCC, and then place items in the cart.
- Start Checkout as Guest.
- Enter a shipping address, select shipping method, and then click Continue.
- Scroll down the Billing page.
- Verify that in the bottom-left corner of the page there is a pixel (little blue rectangle).
- Right-click on pixel and click Inspect Element.
- Verify the iFrame component src parameter and collect the value (within Notepad, a screenshot, etc.) after “s=”.
Example: s=45TaxQ66Yp5Bhn4I_EvN2pY0bc1qMiaa. - Select/Enter a billing address, enter payment data, and then click Continue.
- Submit the order.
- Log into Kount, and then open Order Search from the Reports page.
- Using Start Date, find your report, and then click the details link.
- Verify that the Session ID, which is in Transaction Summary, is in iFrame.
Test Case 6: Send data to Kount. Check that guest user and order data sent correctly to Kount.
Prerequisites
- Open Store Front.
- Select a product, add it to the cart, and then start Checkout as Guest.
- On the Shipping page, enter a shipping address, select shipping method, and then Continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Click Submit Order.
- Log into Kount, and then open Order Search from the Reports page.
- Using Start Date, find your report, and then click the details link.
- Verify that next data has been sent correctly:
- Transactional Summary section: Date, Order Num
- Customer: Created, Name, Email, Ship Email, Cust. ID (empty)
- Payment: Total, Type
- Device: Location, IP Address (to find out your address, use http://www.myipaddress.com)
- Addresses: Billing Address, Shipping Address
- Phone Numbers: Billing Phone, Shipping Phone
- Shopping Cart
- Bank Information
Test Case 7: Send data to Kount. Check that registered user and order data sent correctly to Kount.
Steps
- Open Store Front.
- Log in as registered user (or register a new one).
- Select a product, add it to the cart, and then begin checkout.
- On the Shipping page, enter a shipping address, select shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Click Submit Order.
- Log into Kount, and then open Order Search from the Reports page.
- Using Start Date, find your report and click the details link.
- Verify that next data sent correctly:
- Transactional Summary section: Date, Order Number
- Customer: Created, Name, Email, Ship Email, Cust. ID
- Payment: Total, Type
- Device: Location, IP Address (to find out you address can use e.g. can use http://www.myipaddress.com)
- Addresses: Billing Address, Shipping Address
- Phone Numbers: Billing Phone, Shipping Phone
- Shopping Cart
- Bank Information
Test Case 8: Decline Order. Check that declined order return user to billing page with proper message.
Prerequisites
Set Rules on Kount that decline orders:
- Log into Kount.
- Open Rule Sets from the Fraud Control page.
- Copy Rule Set, and then make all rules action to Declined.
- Open Rule Set, and then click Activate Rule Set. Each order that Kount receives is now Declined.
Steps
- Open Store Front.
- Log in as registered user (or register a new one).
- Select a product, add it to the cart, and then begin checkout.
- On the Shipping page, enter a shipping address, select shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Click Submit Order.
- Verify that you are redirected to the Billing page. The following prompt appears: "We were unable to process your transaction at this time. Please contact customer support."
Test Case 9: Workflow Reevaluate. Check that order status changed in OMS (BM), when it changed on Kount.
Prerequisites
Enable ENS
- Log into BM, and then open Kount (Site Preferences > Custom Preferences > Kount).
- Select the Enable Event Notification Service checkbox.
- Apply changes.
Steps
- Open Store Front.
- Log in as registered user (or register a new one).
- Select a product, add it to the cart, and then begin checkout.
- On Shipping page, enter a shipping address, select shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Click Submit Order.
- Log into Kount, and then open Order Search from the Reports page.
- Using Start Date, find your report, and then click the details link.
- Verify order status and Transaction ID.
- Log into BM, and then find and open your order.
- Open the Attributes tab, and then verify that the Order Status and Transaction ID have the same values as on Kount.
- Open the order again on the Kount page, and then change the status using the form at the bottom of page.
- Open the order in BM, and then verify that order status changed.
Test Case 10: Risk Change Score. Check that order risk evaluation changed OMS (BM), when it changed on Kount.
Prerequisites
Enable ENS
- Log into BM, and then open Kount (Site Preferences > Custom Preferences > Kount).
- Select the Enable Event Notification Service checkbox.
- Apply changes.
Steps
- Open Store Front.
- Log in as registered user (or register a new one).
- Select a product, add it to the cart, and then start checkout.
- On the Shipping page, enter a shipping address, select a shipping method, and then continue checkout.
- Select or enter a billing address, enter the payment data, and then click Continue.
- Click Submit Order.
- Log into Kount, and then open Order Search from the Reports page.
- Using Start Date, find your report.
- Click the details link.
- Verify the data in the Current Risk Evaluation block.
- Log into BM, and then find and open your order on the Orders page.
- Open the Attributes tab, and then verify that the Order Status and Transaction ID have the same values as on the Kount page.
- Make the XML posts for the RISK EVENT changes, and then the Re-evaluate change events.
- Open order in BM, and then verify that the order RISK EVENT attribute changed.
Test Case 11: Additional Payment Types verification
- Open Store Front.
- Select a product, add it to the cart, and then start Checkout as Guest.
- On the Shipping page, enter a shipping address, select a shipping method, and then continue checkout.
- Select or enter a billing address, enter different payment method, fill in the correct data (important for PayPal), and then click Continue.
- Click Submit Order.
- Log into Kount, and then open Order Search from the Reports page.
- Using Start Date, find your report, and then click the details link.
- Verify that next data sent correctly:
- If PayPal is used, then PayPal is shown on Kount.
- If a credit card is used, then Credit Card is shown on Kount.
- If a gift card is used, then Gift Card is shown on Kount.
- If a gift card and a credit card are used together, then Credit Card is shown on Kount.
- If a gift card and PayPal are used together, then PayPal is shown on Kount.
Test Case 12: User Defined Fields verification
- Log into BM, and then open Kount (Site Preferences > Custom Preferences > Kount).
- Set up UDF fields in the SFCC instance. Fill in the Kount UDF fields textbox with three values:
- For Order DW object (example: TESTUDF1|order.Order Attribute Definition ID)
- For OrderAddress DW object (example: TESTUDF2|shippingaddress.OrderAddress Attribute Definition ID)
- For Profile DW object (example: TESTUDF3|profile.Profile Attribute Definition ID)
- On the Kount admin page, set three UDF fields (same as for step 2 above).
- Open Store Front.
- Select a product, add it to the cart, and then start checkout.
- On the Shipping page, enter a shipping address, select a shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Click Submit Order.
- On the Kount admin page, verify UDF fields values for the placed order.
- Log into BM, and then open Kount (Site Preferences > Custom Preferences > Kount).
- Change UDF to have incorrect values.
For Order DW object (example: TESTUDF1|xxx.Order Attribute Definition ID) - Open Store Front.
- Select a product, add it to the cart, and then start checkout.
- On the Shipping page, enter a shipping address, select a shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Click Submit Order.
- Data for incorrect UDF is not sent to Kount.
- An error occurs. The log file contains appropriate info about error in custom - <kount> - <hostname> - appserver - <creation date of the file in GMT>.log.
- Log into BM, and then open Kount (Site Preferences > Custom Preferences > Kount).
- Change UDF to have correct values.
For Order DW object (example: TESTUDF1|order.Order Attribute Definition ID). - In the Kount admin panel, delete TESTUDF1.
- Open Store Front.
- Select a product, add it to the cart, and then start checkout.
- On the Shipping page, enter a shipping address, select a shipping method, and the continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Click Submit Order.
- Data for TESTUDF1 is not sent to Kount.
- An error occurs. The log file contains appropriate info about error in custom - <kount> - <hostname> - appserver - <creation date of the file in GMT>.log.
Test Case 13: Errors logging and email notification verification
- Log into BM, and then open Kount (Site Preferences > Custom Preferences > Kount).
- Fill the Kount Notification Email field with one or multiple emails.
- Сreate a test situation where Kount service is unavailable.
- Go to the Details page (Administration > Operations > Services > Kount > Details).
- Deselect the Enable checkbox.
- Click Apply.
- Open Store Front.
- Select a product, add it to the cart, and then start checkout.
- On the Shipping page, enter a shipping address, select a shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Click Submit Order.
- Log into BM, and then open the Logs folder (Administration > Site Development > Development Setup > Open Logs folder).
- Verify separate log file availability: custom - <kount> - <hostname> - appserver - <creation date of the file in GMT>.log.
- Verify log file content has following format:
[error time in GMT] <error type> <system description> <custom description>
- Go to the mailboxes.
- Verify email availability for each email box. Recipient data contains the following:
- from – noreply@noreply.com
- to – value from site preferences
- cc – empty
- bcc – empty
Test Case 14: Risk Change Score. Check that email with old and new Evaluation data receiving, when Risk and Reevaluation events changed.
Prerequisites
Enable ENS
- Log into BM, and then open Kount (Site Preferences > Custom Preferences > Kount).
- Select the Enable Event Notification Service checkbox.
- Add your email to Kount Email list.
- Select the checkbox for all RISK_CHANGE parameters.
- Apply changes.
Steps
- Open Store Front.
- Log in as registered user (or register a new one).
- Select a product, add it to the cart, and then start checkout.
- On the Shipping page, enter a shipping address, select shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Click Submit Order.
- Log into Kount, and then open Order Search from the Reports page.
- Using the Start Date, find your report.
- Click the details link.
- Verify data in the Current Risk Evaluation block.
- Log into BM, and then find and open your order on the Orders page.
- Make the XML posts for the RISK EVENT changes and the Re-evaluate change events.
- Open your email.
- Verify availability of email with old and new Risk Evaluation data.
Test Case 15: Decline Order. Check that declined order returns user to billing page with proper message.
Prerequisites
Set Rules on Kount that decline orders:
- Log in to Kount.
- Open Fraud Control, and then Rule Sets.
- Copy the Rule Set, and then set all rules action to Declined.
- Open Rule Set, and then click Activate Rule Set. Each order that Kount receives is now Declined.
Steps
- Open Store Front.
- Log in as registered user (or register a new one).
- Select a product, add it to the cart, and then begin checkout.
- On the Shipping page, enter a shipping address, select a shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Verify that the following prompt appears: “We were unable to process your transaction at this time. Please contact customer support.”
Test Case 16: Order in Review. Check that order in review is displayed correctly in Kount and DW BM.
Prerequisites
Set Rules on Kount that places orders to Review:
- Log in to Kount.
- Open Fraud Control, and then Rule Sets.
- Copy Rule Set, and then set all rules action to Review.
- Open Rule Set, and then click Activate Rule Set. Each order that comes to Kount is now Reviewed.
Steps
- Open Store Front.
- Log in as registered user (or register a new one).
- Select a product, add it to the cart, and then start checkout.
- On the Shipping page, enter a shipping address, select a shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Open Kount and find the order. Order should NOT have an order number.
- Click on Details, and then check that all the data is present in Kount and that the Order status is set to Review.
- Go back to Store Front, and then click Submit Order.
- On Kount order number must be the same as on the Confirmation page.
- User receives NO confirmation email.
- In BM Order status is HOLD.
Test Case 17: Approved Order. Check that approved order is displayed correctly in Kount and DW BM.
Prerequisites
Set Rules on Kount that will put orders to Approved:
- Log into Kount.
- Open Fraud Control, and then Rule Sets.
- Copy Rule Set, and then set all rules actions to Approve.
- Open Rule Set, and then click Activate Rule Set.
So each order which come to Kount will become Approved.
Steps
- Open Store Front.
- Log in as registered user (or register a new one).
- Select a product, add it to the cart, and then start checkout.
- On the Shipping page, enter a shipping address, select a shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Open Kount, and then find the order. Order must have NO order number.
- Click Details, and then check that all the data is present in Kount and that the order status is set to Approved.
- Go back to Store Front, and then click Submit Order.
- On Kount Order number should be the same as on Confirmation page.
- User receives confirmation email.
- In DW BM and Kount Order status is Approved.
Part 1.2: Post-Authorization
Test Case 18: Decline Order. Check that declined order return user to billing page with proper message.
Prerequisites
Set Rules on Kount that decline orders.
- Log in to Kount.
- Open Rule Sets from the Fraud Control page.
- Copy the Rule Set, and then set all rules actions to Declined.
- Open Rule Set, and then click Activate Rule Set. Each order received by Kount is now Declined.
Steps
- Open Store Front.
- Log in as registered user (or register a new one).
- Select a product, add it to the cart, and then start checkout.
- On the Shipping page, enter a shipping address, select a shipping method, and the continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Click Submit Order.
- Verify that you are redirected to the Billing page, and that the following message appears: “We were unable to process your transaction at this time. Please contact customer support.”
Test Case 19: Order in Review. Check that order in review is displayed correctly in Kount and DW BM.
Prerequisites
Set Rules on Kount that will put orders to Review :
- Log in to Kount.
- Open Rule Sets from the Fraud Control page.
- Copy the Rule Set, and then set all rules action to Review.
- Open Rule Set and click Activate Rule Set. Each order received by Kount is now Reviewed.
Steps
- Open Store Front.
- Log in as registered user (or register a new one).
- Select a product, add it to the cart, and then start checkout.
- On the Shipping page, enter a shipping address, select a shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and then click Continue.
- Click Submit Order.
- On the Kount page, the order number must be the same as on the Confirmation page.
- User receives NO confirmation email.
- In BM Order status is set to HOLD.
- Click Details, and then check that all the data is present in Kount and that the Order status is set to Review.
Test Case 20: Approved Order. Check that approved order is displayed correctly in Kount and DW BM.
Prerequisites
Set Rules on Kount to Approved.
- Log in to Kount.
- Open Rule Sets from the Fraud Control page.
- Copy the Rule Set, and then set all rules action to Approve.
- Open Rule Set, and then click Activate Rule Set. Each order received by Kount is now Approved.
Steps
- Open Store Front.
- Log in as registered user (or register a new one).
- Select a product, add it to the cart, and then start checkout.
- On the Shipping page, enter a shipping address, select a shipping method, and then continue checkout.
- Select or enter a billing address, enter payment data, and click Continue.
- On Kount order number must be the same as on the Confirmation page.
- User receives confirmation email.
- In DW BM and Kount Order status is now Approved.
- Click on Details and check that all the data is present in Kount.
Test Case 21: Test values for address and credit card validation system are passing.
Prerequisites
Enable Example Verification System in Business Manager (BM) > Merchant Tools > Site Preferences > Custom Preferences > Kount.
Steps
- Open Store Front.
- Select a product which will be approved by Kount.
- Proceed to the Place Order page.
- Select any values for each field: Address Verification System Street, Address Verification System Zip Code, and Card Verification Value.
- Place the order and remember, take note of, or copy the order number.
- Open Order Details from the Orders page (BM > Merchant Tools > Ordering > Orders).
- Open Attributes tab.
- Compare address and credit card validation values with values set in step 4.
- Open the Kount dashboard.
- Find the same order.
- Compare address and credit card validation values with values set in step 4.
Test Case 22: Card number is sent in the correct format.
Prerequisites
Set a valid value in BM > Merchant Tools > Site Preferences > Custom Preferences > Kount > Hash Salt Key field.
Steps
- Open Store Front.
- Select a product to be approved by Kount.
- Place an order and note the order number.
- Open the Kount dashboard.
- Find the order by the order number, and then open it.
- Verify that BIN string has the format: 411111-1111.
Manual Integration Steps
Create System Object Definitions (manual integration method)
- Create the following system object definitions:
- Order
- Kount Order Status
- id: kount_Status
- display name: Kount Order Status
- type: Enum of Strings
- mandatory: false
- externally managed: true
- values:
- value: APPROVED, display value: Approved
- value: HOLD, display value: Hold
- value: DECLINED, display value: Declined
- value: CHANGE, display value: Change
- value: TIME OUT, display value: Time Out
- value: TIME OUT PAYMENT, display value: Time Out Payment Authorization
- Kount Order NETW
- id: kount_NETW
- display name: Kount Order NETW
- type: String
- mandatory: false
- externally managed: true
- Kount Order GEOX
- id: kount_GEOX
- display name: Kount Order GEOX
- type: String
- mandatory: false
- externally managed: true
- Kount Order SCOR
- id: kount_SCOR
- display name: Kount Order SCOR
- type: String
- mandatory: false
- externally managed: true
- Kount Order TRAN
- id: kount_TRAN
- display name: Kount Order TRAN
- type: String
- mandatory: false
- externally managed: true
- Kount Order VELO
- id: kount_VELO
- display name: Kount Order VELO
- type: String
- mandatory: false
- externally managed: true
- Kount Order VMAX
- id: kount_VMAX
- display name: Kount Order VMAX
- type: String
- mandatory: false
- externally managed: true
- Kount Order Browser
- id: kount_BROWSER
- display name: Kount Order BROWSER
- type: String
- mandatory: false
- externally managed: true
- Kount Order OS
- id: kount_OS
- display name: Kount Order OS
- type: String
- mandatory: false
- externally managed: true
- Kount Order IP_ORG
- id: kount_IP_ORG
- display name: Kount Order IP_ORG
- type: String
- mandatory: false
- externally managed: true
- Kount Order Cards
- id: kount_CARDS
- display name: Kount Order CARDS
- type: String
- mandatory: false
- externally managed: true
- Kount Order DEVICES
- id: kount_DEVICES
- display name: Kount Order DEVICES
- type: String
- mandatory: false
- externally managed: true
- Kount Order COUNTRY
- id: kount_COUNTRY
- display name: Kount Order COUNTRY
- type: String
- mandatory: false
- externally managed: true
- Kount Order EMAILS
- id: kount_EMAILS
- display name: Kount Order EMAILS
- type: String
- mandatory: false
- externally managed: true
- Kount Order REASON CODE
- id: kount_REASON_CODE
- display name: Kount Order REASON CODE
- type: String
- mandatory: false
- externally managed: true
- Kount Order Status
- Site Preferences
- Enable Kount
- id: kount_IsEnabled
- display name: Enable Kount
- type: Boolean
- mandatory: false
- Kount DC Server Url
- id: kount_DCUrl
- display name: Kount DC Server Url
- description: Kount Data Collector Server Url.
- type: String
- mandatory: false
- default value: https://tst.kaptcha.com
- Kount RIS Server URL
- id: kount_RISServerUrl
- display name: Kount RIS Server URL
- description: Kount RIS Server URL
- type: String
- mandatory: false
- default value: https://risk.test.kount.net
- Array of IP
- id: kount_IPFilter
- display name: Array of IP
- description: Allows to skip step for particular IP address(es). E.g. 192.168.0.1, 10.10.10.1, ...
- type: Text
- mandatory: false
- Website ID
- id: kount_WebsiteId
- display name: Website ID
- type: String
- mandatory: false
- minimum value: 1
- field length: 8
- Merchant ID
- id: kount_MerchantID
- display name: Merchant ID
- description: Merchant Number
- type: String
- mandatory: false
- Kount AWC link
- id: kount_AWCLink
- display name: Kount AWC link
- description: Copy and put this link to Browser, that would be go to Kount Agent Web Console
- type: String
- mandatory: false
- default value: https://awc.test.kount.net
- Enable Event Notification Service
- id: kount_ENS
- display name: Enable Event Notification Service
- description: Enable/Disable ENS
- type: Boolean
- mandatory: false
- Kount ENS Email list
- id: kount_EmailList
- display name: Kount ENS Email list
- description: Email list for ENS
- type: Set of String
- mandatory: false
- Kount ERROR Notification Email
- id: kount_NotificationEmail
- display name: Kount ERROR Notification Emai
- description: In case errors entered email will be notified
- type: Set of String
- mandatory: false
- RISK_CHANGE_GEOX
- id: kount_RISK_CHANGE_GEOX
- display name: Kount Email list
- description: Enable/Disable notification mail
- type: Boolean
- mandatory: false
- RISK_CHANGE_NETW
- id: kount_RISK_CHANGE_NETW
- display name: Kount Email list
- description: Enable/Disable notification mail
- type: Boolean
- mandatory: false
- RISK_CHANGE_REAS
- id: kount_RISK_CHANGE_REAS
- display name: Kount Email list
- description: Enable/Disable notification mail
- type: Boolean
- mandatory: false
- RISK_CHANGE_REPLY
- id: kount_RISK_CHANGE_REPLY
- display name: Kount Email list
- description: Enable/Disable notification mail
- type: Boolean
- mandatory: false
- RISK_CHANGE_SCOR
- id: kount_RISK_CHANGE_SCOR
- display name: Kount Email list
- description: Enable/Disable notification mail
- type: Boolean
- mandatory: false
- RISK_CHANGE_VELO
- id: kount_RISK_CHANGE_VELO
- display name: Kount Email list
- description: Enable/Disable notification mail
- type: Boolean
- mandatory: false
- RISK_CHANGE_VMAX
- id: kount_RISK_CHANGE_VMAX
- display name: Kount Email list
- description: Enable/Disable notification mail
- type: Boolean
- mandatory: false
- Kount UDF fields id:
- Id: kount_UDF
- display name: Kount UDF Fields
- description: Kount UDF Fields
- type: Set of String
- mandatory: false
- Kount API Key:
- Id: kount_APIKey
- display name: kount API Key
- type: String
- mandatory: false
- Enable Kount
- Create an attribute group for Kount site preferences and add fields.
- id: Kount
- display name: Kount
- attributes:
- kount_IsEnabled
- kount_DCUrl
- kount_RISServerUrl
- kount_IPFilter
- kount_WebsiteId
- kount_MerchantID
- kount_AWCLink
- kount_ENS
- kount_EmailList
- kount_RISK_CHANGE_NETW
- kount_RISK_CHANGE_GEOX
- kount_RISK_CHANGE_VMAX
- kount_RISK_CHANGE_SCOR
- kount_RISK_CHANGE_VELO
- kount_RISK_CHANGE_REPLY
- kount_UDF
- kount_NotificationEmail
- kount_APIKey
Errors Description
Error Message |
Possible Causes/Solutions |
Kount method|script - Update Orders; ERROR - KOUNT: UpdateCustomAttribute.js: Order not found |
1. Check API callback link at the Kount - Fraud Control - Websites |
Kount method|script - EventClassifications; ERROR - KOUNT: K_ENS.js: Error when parsing ENS xml |
Ensure that you using latest version of Kount cartridge |
Kount method|script - PostRISRequest; ERROR - The service is not enabled |
Ensure that your Kount Service is enabled (BM - Administration - Operations - Services) |
Kount method|script - Update Orders; ERROR - KOUNT: UpdateOrder.ds: kount_REPLY custom field wasn't save |
Please, check your error logs for details |