Kount#
Overview#
Kount allows you to grow your business and protect against sophisticated digital fraud by using Kount’s next-generation AI, combining machine learning with 12 years of experience analyzing billions of transactions across 180+ countries and multiple payment networks all from the convenience of the Miva admin. With Kount, each order is given an “Approve” or “Decline” from Kount in real-time giving you the tools to decide which orders to ship and which orders to decline.
Setup & Configuration#
The Kount module can be downloaded from the Miva App Store here. Upload the module under “Modules” then assign it to your store under Logging Settings.
Create Item#
Kount requires an item to be created and assigned to the following two pages:
OSEL
OPAY
This item is used to output the JavaScript tracking code for Kount. This tracking code is used to initialize the Device Data Collector, which collects information about the device which is used by Kount in its fraud decision.
Example Code:
<script type="text/javascript" src="https://ssl.kaptcha.com/collect/sdk?m=XXXXXX&s=a6b3944ed34f495f18760a4e9e408eb7"></script>
<script type="text/javascript">
var client=new ka.ClientSDK();
client.autoLoadEvents();
</script>
Note
The test URL is https://tst.kaptcha.com
Page Template Changes#
The following page template changes are required on both OSEL
and OPAY
to enable to Device Data Collector JS to be output and run:
- Add the following to the body tag:
class='kaxsdc' data-event='load'
- Add this item right above the close body tag
<mvt:item name="kount" />
Kount Settings#
Merchant ID
- This is given to you via your Kount welcome email. Contact your Kount rep to get this value if you do not have it.
Site
- This is the Website ID you create in the Kount interface under Fraud Control -> Websites -> Add Website
API Key
- This is created in Kount under Admin -> API Keys -> Create API Key
Give the Key a name and check both RIS and API Environment
- Sandbox or Production
Pre or Post Authorization
- This setting determines when the order data is sent to Kount. Pre authorization sends the order data before the payment has been sent to the gateway for authorization. Things like the card number, AVS and CVV are not sent to kount. Post Authorization sends the order data including any available payment data to Kount
KHASH
- This value is required if you are using Post Authorization as it’s used to encrypt the card data (if available). Contact your Kount rep to get this value.
Notification Email
- Leave blank if you don’t want any notification email. If populated, you will receive a simple text email for each order approved by Kount.
Automatically Cancel Declined Orders
- When set to yes, if Kount sends back a decline status for an order, the order will get updated to a cancelled status in Miva.
Note
This process does not automatically refund the order. Any refunds or voids will need to be processed manually in the Miva admin.
If you are using pre auth with this setting set to true and Kount sends back a Decline as the status, the customer’s payment will not be set to the gateway for authorization. Instead the customer will see a generic “Your Order has been declined” error message.
Kount ENS URL
-
This is a URL specific to your store which gets created once the module is installed. You’ll use this URL when you are creating the website in Kount. The URL will have the following format:
https://www.domain.com/mm5/json.mvc?Store_Code=STORE_CODE&Function=Module&Module_Code=kount&Session_Type=runtime&Module_Function=JSON_WebHook
Kount ENS stands for Event Notification System. When order data is sent to Kount to get a score, most orders get an immediate response such as Approve or Decline. In some cases additional time is needed to review the orders. In these cases a notification will be sent to Miva to update the Kount status in Miva using the ENS URL.
Clear Log Table
- The Kount module has a database table which is used to track requests and responses sent to Kount. It is recommended that this table be cleaned up periodically to prevent it from growing too large.
Kount Status#
Kount has 4 possible status values it will return for each order:
A
= ApprovedR
= ReviewE
= Escalate - https://support.kount.com/s/article/Escalate-Order-StatusD
= Declined
The Kount status is viewable in the Miva admin in 3 locations:
-
Order Batch List - There are two columns available to be added to the orders batch list:
- Kount Transaction
- Kount Status
-
Order Detail Screen - Notice the Link for Kount also has Status = A embedded in the name so you can view the status code at a glance without having to open the popup.
-
Export Orders - Under Data Management -> Export Orders to Flat File you can choose to include the Kount Transaction ID and Kount Status
Admin (Manual) & Subscription Orders#
Both orders placed via the Miva admin such as a phone order and orders created by Miva’s subscription system will not be sent to Kount and no Kount status will exist.
Order Workflows#
The response data Kount sends Miva for each order is available to use in an Order Workflow. The correct syntax would look like this:
order:CustomField_Values:kount:kount_status
order:CustomField_Values:kount:kount_tran
Miva Order Workflows allow you to automatically add or remove orders for specific queues in Miva based on the results of the Kount status.
JSON API#
Both Kount Status and Kount Transaction ID are available via the Miva JSON API. To access them you need to pass the following in your OrderList_Load_Query API call for the ondemandcolumns
.
"CustomField_Values:kount:*"
Example API Request#
{
"Store_Code": "test",
"Function": "OrderList_Load_Query",
"Count": 0,
"Offset": 0,
"Filter": [
{
"name": "ondemandcolumns",
"value": ["customer", "items", "charges", "coupons", "discounts", "payments", "payment_data", "notes", "CustomField_Values:kount:*"]
}
]
}
Note
You can also get the Kount data in your response if you are requesting all custom field data: customfield_values:_
*
Example API Response#
"CustomField_Values": {
"kount": {
"kount_status": "A",
"kount_tran": "123XXXXXXXXXXX"
}
}
Note
The above response is a snippet of a larger response returned from OrderList_Load_Query
Logging#
The module automatically logs requests and responses from Kount into a table s0x_kount_log
. This data can be used to help troubleshoot problems. It can only be viewed directly in the database.