Please find below our Integration documentation that outlines each stage in Integrating the Trustev anti-fraud system to your Site. For more detail on API documentation, please follow the links attached in each section or visit https://app.trustev.com/help.
High Level Integration Overview
At Trustev we try to make Integration to our platform as straight-forward and seamless as possible.
We have included a Glossary, FAQ section, Testing Guide, API Libraries, and sample code segments to assist you. Our Integration Team are also available at integrate@trustev.com should you have any queries.
At a high level, Integration can be broken into four main stages:
- Setting Up
- JavaScript Integration
- API Integration
- Going Live
Merchant Integration Checklist
The following checklist outlines the steps that must be followed before an Integration is considered complete.
| Step # | Process |
|---|---|
| Setting Up: | |
| 1 | Sign Up To signup, please conact the Integration Team who will carry out this process for you. You can contact them at integrate@trustev.com. |
| JavaScript Integration: | |
| 2 | Add Trustev.js Trustev.js works behind the scenes to gather your customer information. |
| 3 | Extract TrustevV2.SessionId Publicly accessible variable in our Trustev.js, required when Adding a Trustev Case |
| API Integration: | |
| 4 | Get A Token Using your Test API Keys, this method involves getting an Authentication Token to begin API calls. |
| 5 | Add A Case Involves sending Transaction information, Customer information, Item details, Payment details, and Status details. |
| 6 | Get a Trustev Decision Using a Case Id, and based on all Trustev.js information & details added to the Trustev Case, this API call returns the Trustev Decision. |
| 7 | Add a Status When a Trustev Decision has been returned, a Status must be forwarded to Trustev outlining what decision was made by the Merchant on the 'transaction'. |
| Going Live: | |
| 8 | Get Live API Keys Similar to the process of getting your Test API Keys, once integration is finished, the Integration Team will swap these out for the Live Keys, which will be sent to you. |
| 9 | Integration Team confirmed Integration complete This section involves our Integration Team working with our Fraud Team to review all the requests received to ensure data is being gathered correctly. |
| 10 | Update Terms & Conditions, and Privacy Notices All privacy notices on the Merchant's Site must be updated to advise that Trustev has been implemented. |
| 11 | Pilot Phase Once a good level of Live data is generated, our Fraud Team creates a bespoke configuration to return accurate Trustev Decisions. |
Contact Us
We're constantly trying to improve and simplify our integration process. Any feedback on improvements big or small that we could make would be greatly appreciated. Please drop us a line at integrate@trustev.com.
Setting Up
The first stage in the Integration Process involves getting set-up to use Trustev’s services.
Sign Up
To sign up for a Trustev account, you can email our Integration Team (integrate@trustev.com).
The Integration Team will work with you to set up your account. They will register your site name and email, and will subsequently provide you with your Test API Keys, which you will need in order to communicate with the Trustev API.
If you are having difficulty, please see our FAQs for more detail.
JavaScript Integration
The second stage involves inserting the Trustev JavaScript code into your web site so that we can gather details on your customer’s activity on your site.
Add Trustev.js
This involves adding the Trustev JavaScript (Trustev.js) to as many pages of your website as possible. This ensures that we can track your customer’s behaviour as they move throughout your site. Before you add Trustev.js to your site, you will require your Public Key. This will have been provided to you by our Integration Team at initial set up. This Public Key should be added into our Trustev.js code as indicated below:
TRUSTEV.JS
(function() {var tv = document.createElement('script'); tv.type = 'text/javascript'; tv.async = true;tv.src = 'https://app.trustev.com/api/v2.0/TrustevJS?key=publickey';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(tv, s);})();</script>
NB:Make sure to replace publickey with your Public Key value.
Trustev.js is a secure, server generated JavaScript file responsible for gathering details about each session and device that visits your site. These details are then returned to the Trustev Platform and will eventually form part of the Trustev Decision. For more information, see What is Trustev.js?. Trustev.js will load asynchronously which allows it to run in the background without affecting your customer experience should any issues arise.
If you are experiencing any difficulties with the Trustev.js, please see our detailed FAQ - which describes how to verify that the Trustev.js is implemented correctly - or contact support@trustev.com.
Store TrustevV2.SessionId
Once Trustev.js is integrated into your website, you will need to extract the publicly accessible variable, TrustevV2.SessionId. This variable can be accessed from any page that has the Trustev.js code included. You should store this variable, as this TrustevV2.SessionId is required at a later stage in the Integration when adding a Trustev Case.
API Integration
API Overview
The Trustev API is REST based. See http://en.wikipedia.org/wiki/Representational_state_transfer.
It is designed to:
- have predictable, resource-oriented URLs
- use HTTP Server Response codes to indicate API errors.
- provide detailed error information in the HTTP Header of the Server Responses – should errors occur.
HTTP Messages
The HTTP Server Response Messages are as informative as possible. If you run into any issues during Integration, look at the Response Message we send back – these should usually pinpoint where the issue lies. Please see our FAQ for more information.
cURL and SSL
If you are using PHP and communicating with our API through cURL then some issues may arise due to SSL. By default, cURL is set up to not trust any CAs.
There are two ways to solve this problem:
1. Configure cURL to accept any server certificate. This isn’t optimal from a security point of view as it will cause cURL to blindly accept any server certificate, without any verification as to whether it is trusted or not.
CURLOPT_SSL_VERIFYPEER => false2. Get the CA certificate from https://app.trustev.com by selecting the security details and exporting the CA certificate. Please ensure you save the CA cert in the format/type X.509 Certificate (PEM). You can now include this certificate in your php.ini file or within each cURL option. See below:
For PHP.ini File: curl.cainfo = '{absolute path to}/cacert.pem'For cURL option: CURLOPT_CAINFO => 'C:\...\cacert.pem'High-Level API Integration Overview
The third stage in the Integration process is the API Integration. For full details on our API reference, please see https://app.trustev.com/help.
API Endpoint: https://app.trustev.com/api/v2.0
In order to communicate with the Trustev API, you must have an API Token. An API Token is an alphanumeric string that is returned from a successful HTTP POST to the “Get a Token” method.
This request message is made up of your Site UserName and the current Timestamp, along with two parameters ‘PasswordHash’ and ‘UserNameHash’ which are hashed values made up of the Timestamp, your Site Password, your Site Secret, and your Site UserName. Please see the "Get a Token" step for more information on forming these hashed values correctly.
If a successful request is made then the API Token is returned from the “Get a Token” call. API Tokens expire after 30 minutes. An ‘ExpireAt’ DateTime parameter is included in the response header so that you may validate your API Token before using it.
This API Token is required on all subsequent calls to the API along with your Site UserName. It must be passed with all requests in the request header in the format:
“X-Authorization: UserName APIToken”
E.G. “X-Authorization: TrustevTest 4b312a24-2495-4ba4-8f85-d891bab1cac8”
Trustev Decisions are made on Trustev Cases. That is, data is gathered in a Trustev Case and a Trustev Decision is generated based on that data. Use the “Add a Trustev Case” method to add data to a Trustev Case.
There are a number of different data fields available, however you may exclude these from the request message if the data is not available. A Trustev Case is composed of:
Please see our Case object for more details.
When Adding a Case you must create a request message with all the data you wish to forward, attaching your API Token and UserName in the request header as described above.
A Trustev Decision will use all information gathered through the Trustev.js along with all the information sent through the Trustev API. Once a Trustev Case has been successfully added then the response will include a Trustev Case. There will be an Id attached to this Case. This Id should be stored for later use as it is the reference Id required when you wish to get a Trustev Decision.
During debugging it might be helpful to view the Trustev Case that is being returned to you – if all data is being sent correctly to the Trustev API then you should receive the same Trustev Case and data back in the response header .
Please note: our API will attach an Id to each object within the Trustev Case – Transaction, Transaction Address, Customer, Customer Address, Item, Email Address, Payment, and Status. These Ids can also be stored for later use with the Trustev API should you wish to update this object’s information. Please see our FAQ on this for more information.
Once a Trustev Case has been added then you may request to get a Trustev Decision on the Trustev Case. A Trustev Decision will be a recommendation based off all of the data sent, and whether we consider it fraudulent or not. For more information please see our FAQs. You must include your API Token and UserName in the request header. Further, the endpoint that you communicate with must also include the Trustev Case Id that was received from the Trustev API, when the Trustev Case was added.
https://app.trustev.com/api/v2.0/Decision/ + CaseId
E.G. https://app.trustev.com/api/v2.0/Decision/123456
After a Trustev Decision has been returned, then you must call the “Add a Status” method to update the status information for the Trustev Case. Please see our FAQ on the importance of adding Statuses for more information. There are pre-defined status types from 0 – 9, see here for details, and there is also a comments field if you need to include more information.
Note: it may be required to update the Status of a Trustev Case days or weeks after the Case has been processed. For instance, if Chargebacks are charged on the Trustev Case then the Status of the Case should be updated to reflect this.
We suggest that when Integrating the Trustev API you allow for scenarios where, if the Trustev API is unavailable, that your site should function ‘normally’ but without the Trustev features – this should allow for minimal impact to your customer’s experience should our services become unavailable for any reason.
Get a Token
To communicate with the Trustev API, you will require an API Token. An API Token is an alphanumeric String returned from the Trustev API that must be provided by the Merchant in the request header for all subsequent API calls. A Merchant can access an API Token through our Get a Token API method. This involves sending a HTTP POST request message with your API Key details.
To Get a Token, you will require your Test API Keys. Please see API Keys: Explained for more information.
An API Token request, requires four data fields:
1. UserName: This is your Site UserName, available in your Test API Keys
2. Timestamp: This is the Current Timestamp in UTC in the format yyyy-MM-ddTHH:mm:ss.fffZ.
See What format is accepted for the Timestamp? for more information.
3. PasswordHash: This is a hashed value involving two steps:
Part 1. Create a Sha256Hash of a String in the format of {0}.{1}, where {0} is the Timestamp above, and {1} your Site Password which is available from your Test API Keys
Part 2. Create a Sha256Hash of a String in the format of {0}.{1}, where {0} is the result of Part 1, and {1} is your Shared Secret which is available from your Test API Keys
4. UserNameHash: This is a hashed value involving two steps:
Part 1. Create a Sha256Hash of a String in the format of {0}.{1}, where {0} is the Timestamp above, and {1} is your Site UserName which is available from your Test API Keys.
Part 2. Create a Sha256Hash of a String in the format of {0}.{1}, where {0} is the result of Part 1, and {1} is your Shared Secret which is available from your Test API Keys.
Example in PHP
$passwordHash = $this->Get256Hash($timestamp . "." . $password);$passwordHash = $this->Get256Hash($passwordHash . "." . $secret);$usernameHash = $this->Get256Hash($timestamp . "." . $username);$usernameHash = $this->Get256Hash($usernameHash . "." . $secret);
For Authentication in our other API calls, you will require the ‘APIToken’ parameter that is passed down in the response body when a successful Get a Token request has been made. We advise that you store this APIToken for re-use in subsequent calls to our API. Once the API Token expires, you can request a new token from our API and continue as normal. Please note that the APIToken will stay valid for 30 minutes. We include an ‘ExpireAt’ parameter in the response also which can be used a check before running into expired API Token errors.
Sample Get Token Response Message
{ "ExpireAt": "2014-12-19T16:05:19.001493Z", "APIToken": "dcfdcbba-a15e-4a5f-9388-d2db642b314f", "CredentialType": 1}Please see, What is an API Token and how do I access it? for more information on accessing this.
PHP HTTP Get A Token Request:
$request = json_encode(TOKEN REQUEST);$url = "https://app.trustev.com/api/v2.0/token";$contentType = "Content-type: application/json";$curl = curl_init($url);curl_setopt_array($curl, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => $request, CURLOPT_HTTPHEADER => [ $contentType ]]);$exec = curl_exec($curl);$result = json_decode ($exec, true);$result['APIToken']; -- This is your API Token$result['ExpiresIn']; -- This is the Expiry Time in UTCcurl_close($curl);
Add a Case
This API method allows you to ‘Add a Case’. A ‘Trustev Case‘ is our term used for the accumulation of all the data fields relevant to a particular ‘transaction’ which can fall under any of these catagories: Transaction Information, Customer Information, Item Details, Payment Details, and Status Details. This method allows you to add all these data fields in one API call.
See What’s a Case? for more information.
Before adding a Case, you must ensure you have the following information:
- The TrustevV2.SessionId which we asked you to store in Step 3.
- The APIToken that you received from our Get Token API request in Step 4, along with your Trustev UserName, available in your Test API Keys.
- A Case Number, which is a String that you may choose. It must be unique to you as a Merchant. We generally suggest that you use your own internal reference number which you associate with the ‘transaction’ as this Case Number. By doing this, it will allow for an easy reference point should you need more information on the Trustev Case through our Trustev Dashboard.
During Integration, you will be using Test API Keys which means that the Trustev Decision you receive on a Trustev Case will not be based off the data provided, but will be a random generated result. By altering the Case Number that you provide when Adding a Trustev Case, you can influence the Trustev Decision returned during Testing. Please see our Testing Guide for more information.
The more data fields that you can provide, the better the scoring accuracy, however should you not have some of the data fields (we refer to these as ‘case objects’) listed in a Case, then you can simply leave these sections out.
Please see code below that shows how to forward a Case to the Trustev API. Clicking on the ADD CASE REQUEST below will bring you to our detailed technical document that outlines all the available parameters and data types required.
PHP HTTP Add A Case Request
$username = SITE USERNAME;$token = API TOKEN FROM STEP 5:GET A TOKEN;$request = json_encode(ADD CASE REQUEST)$url = "https://app.trustev.com/api/v2.0/case";$contentType = "Content-type: application/json";$auth = "X-Authorization:" . $username . " " . $token;$curl = curl_init($url);curl_setopt_array($curl, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => $request, CURLOPT_HTTPHEADER => [ $contentType, $auth, ]]);$exec = curl_exec($curl);$result = json_decode($exec, true); //Extract CaseId for use in Step 7: Get a Trustev Decision & Step 8: Add a Statuscurl_close($curl);
Something important to note, is that our API is structured to handle a maximum of 10 Case Requests per sessionId. If you try to add more than 10 cases to a session you will receive a Http 403 Forbidden, and in that scenario you should start a new session.
Once you have successfully added a Case, we will pass a Case Id back down in the Response. This Id parameter should be extracted and stored as it is required for use in the final two steps.
The data gathered from Trustev.js will also now fall under the unique Trustev Case you have created.
Get a Trustev Decision
This API method allows you to retrieve a Trustev Decision. You will require the Case Id that was returned in the ‘Add a Case’ method above.
Please see our FAQ for more information on the Trustev Decision. During Integration, you will be using Test API Keys, and this will mean that the Trustev Decision returned to you will be a randomly generated result. We provide a Testing Guide at the end of the documentation that outlines how to get expected results from the API.
The Trustev Decision is a decision formulated after utilizing all the data that has been gathered in compiling your Trustev Case. This includes all the data gathered as your customer browsed your Site through our Trustev.js, and all the information that was supplied in the ‘Add a Case’ method. Once a Trustev Case has been added, and a request to get a Trustev Decision has been made, our API will return a Trustev Decision. A Trustev Decision will indicate either: Pass, Flag or Fail.
Before retrieving a Trustev Decision, you must ensure you have the following information:
- The APIToken that you received from our Step 4: Get a Token API request, along with your Trustev UserName, available in your Test API Keys.
- The Case Id that is returned in Step 5: Add a Case API request. This Case Id will be added to the end of the URL to get a Trustev Decision.
Format: “https://app.trustev.com/api/v2.0/Decision/” + Case Id
Example: “https://app.trustev.com/api/v2.0/Decision/12345”
PHP HTTP Get Trustev Decision Request
$username = SITE USERNAME;$token = API TOKEN FROM STEP 4:GET A TOKEN;$caseId = CASEID FROM STEP 5:ADD A CASE;$url = "https://app.trustev.com/api/v2.0/Decision/" . $caseId;$contentType = "Content-type: application/json";$auth = "X-Authorization:" . $username . " " . $token;$curl = curl_init($url);curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
$contentType,
$auth,
]]);$exec = curl_exec($curl); // Extract Result & Confidence parameter in Response Body.curl_close($curl);
Based off all of the information forwarded, you will be returned a Result parameter in the Response Body of the API call. This Result will indicate:
| Decision | Meaning | Description |
|---|---|---|
| 0 | Unknown | This result should not be returned to you. It means that an error has occurred and a Trustev Decision has not been made on your Trustev Case. Please contact support@trustev.com should this occur. Please provide the Case Number and Case Id when sending this request. |
| 1 | Pass | This result indicates that the Trustev Case shows no signs for suspicion and the 'transaction' should be accepted. |
| 2 | Flag | This result indicates that the Trustev Case contains elements for suspicion which should be reviewed before a final decision is made. |
| 3 | Fail | This result indicates that the Trustev Case contains a number of fraudulent features and the 'transaction' should be rejected. |
Part of the response body will also contain a Confidence parameter. Please see, What’s a Trustev Confidence Score?, for more information. The Trustev Confidence Score will be a number from 0 – 100, with 100 having 100 percent confidence and 0 having 0 percent confidence in the accuracy of the decision. Our Trustev Confidence score indicates our confidence level in score accuracy based on volume and type of data we have received as part of the Trustev Decision. Certain data fields are weighted higher than others in calculating our confidence levels. The Trustev Confidence score and Trustev Decision should be considered in parallel when making your overall decision.
Sample Get Trustev Decision Response Message
{ "Id": "656b662a-3e15-4c09-8643-c0a7628d6ae3", "Version": 1, "SessionId": "efc54b16-17ed-4f57-9a78-6707c2109a23", "Timestamp": "2014-12-19T15:17:20.4228252", "Type": 0, "Result": 3, "Score": 475, "Confidence": 54, "Comment": "C# Decision"}
For example, you may receive a Decision of Pass, with a Confidence of 10, which means that although the information we received was good, we didn’t receive enough data to be confident that this is/isn’t fraudulent. These scenarios should be flagged for review and our Fraud Team will work with you to configure scoring once Integration is complete.
For a more detailed breakdown of the decision returned, you can login to your Trustev Dashboard. Simply select our reporting features, entering in the Case Number you supplied to see the main elements that influenced the Trustev Decision on any particular Case.
Please note that during Integration you will be using Test API Keys, so the Trustev Decision and Trustev Confidence results returned will not be based off the data provided, but will instead be randomly generated.
Add a Status
The final step in the Integration process is adding a Status to reflect the outcome of the Trustev Case, once you have received a Trustev Decision. During the Add a Case step, all transactions automatically receive the status of 8 Placed. That being said, this is a temporary status which should be updated to reflect the Decision. Please see Why send Statuses? for further information. This is a critical step in assessing Fraud accuracy and it ultimately feeds our machine learning model to eliminate your Fraud. The Statuses you forward will become a collection of Statuses on the Trustev Case, so our system can see the decisions you’ve made throughout the process.
As outlined in Step 6: Get a Trustev Decision, the result returned to you will indicate whether or not Trustev recommends processing the ‘transaction’. Merchants can face a number of scenarios, and each customer may not be as simple as Yes/No, therefore we require that a Status is forwarded to Trustev, indicating what the final outcome was.
Please see the statuses that can be forwarded to us:
| Status Type | Status Reason |
|---|---|
| 0 | Completed |
| 1 | RejectedFraud |
| 2 | RejectedAuthFailure |
| 3 | RejectedSuspicious |
| 4 | Cancelled |
| 5 | ChargebackFraud |
| 6 | ChargebackOther |
| 7 | Refunded |
| 8 | Placed |
| 9 | OnHoldReview |
Please Note: It is important that Statuses continue to be added to accurately reflect the outcome, as our system will learn off your decisions. This may involve adding a Status several weeks after a Trustev Case has been evaluated. For instance, when a Chargeback occurs, Merchants should have a process in place to add the Status of the Case and communicate this back to the Trustev API.
PHP HTTP Add a Status Request
$username = SITE USERNAME;$token = API TOKEN FROM STEP 4:GET A TOKEN;$caseId = CASEID FROM STEP 5:ADD A CASE;$request = json_encode(ADD STATUS REQUEST)$url = "https://app.trustev.com/api/v2.0/case/" . $caseId . "/status";$contentType = "Content-type: application/json";$auth = "X-Authorization:" . $username . " " . $token;$curl = curl_init($url);curl_setopt_array($curl, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => $request, CURLOPT_HTTPHEADER => [ $contentType, $auth, ]]);$exec = curl_exec($curl);$result = json_decode($exec, true); curl_close($curl);
Webhook
Trustev provide a mechanism to ensure that the Order data in a Merchant’s system can stay synchronised with the Order data stored in Trustev’s system.
This is implemented via a webhook which is used to send back an Order Status update to the Merchant’s Site as Status changes take place in other parts of the system.
For example, in your Order Review Screen - https://app.trustev.com/dashboard, you will see the option to update the Status of an order.

On Submit, the Trustev system sends back a JSON object to a specified endpoint. This allows the Merchant to have both the Trustev system and their own internal order processing system up-to-date.
This is an optional feature, however in order to complete integration, we require that a Merchant provides us with an endpoint on their system that can receive a JSON object.
This JSON object:
{
CaseNumber": "96f9868d-5ff5-4a5c-becc-1ca030d3422b",
"CaseId": "edffc5f6-2bf8-411c-974e-04ff24968a4d|9288c4b2-5f66-4664-84d6-efd70b9f9d4c",
"Status": 0
}
-
CaseNumber: This is the CaseNumber field that was supplied in your Add Case request. We recommend during Integration that you use your internal order number for this to allow for uniformity across Trustev systems and your own.
-
CaseId: This is the ID field that was returned from the Trustev API during the POST Case request. This ID field is used with Decision and Status endpoint on the API.
-
Status: This is the Status code that was assigned. These are the possible Status codes that you can receive:
| 0 - Completed | 5 - ChargebackFraud |
| 1 - RejectedFraud | 6 - ChargebackOther |
| 2 - RejectedAuthFailure | 7 - Refunded |
| 3 - RejectedSuspicious | 8 - Placed |
| 4 - Canceled | 9 - OnHoldR |
Please note: The Trustev webhook will send a Status update to the endpoint you provide when any Status updates occur. As such, if you update the Status directly through the Trustev API Status endpoint - POST api/v2.0/case/{caseId}/status - our API will also POST back what the Status change was.
Communication between Merchant and Trustev API with webhook:


Going Live
The fourth and final stage involves replacing your Test API Keys with Live API Keys, our Integration Team confirming Integration is complete, and moving you into the Pilot Phase.
Get Live API Keys
At this stage, our Integration Team will activate your Live API Keys. Live API Keys, which include your Site UserName, Site Password, Shared Secret, and Public Key, will need to replace your Test API Key information within your code. The Integration Team will provide these to you, in the same way they did with the Test API Keys.
This involves replacing your Public Key in Step 2: Add Trustev.js, replacing the credentials used in Step 4 when Getting a Token, and also replacing the UserName section that is forwarded with your API Token in any of our API calls that require Authentication.
Integration Team confirm Integration completed
Once you have successfully completed all the above stages and our Integration Team have confirmed that all the data is being gathered correctly on our system, then your Integration to Trustev is complete.
The Integration Team will organize a handover call with the Fraud Team at this stage. Following this, both teams will monitor your site for 24 hours, to confirm all API requests are successful, and then you will be in the Pilot Phase.
Update Terms & Conditions, and Privacy Policies
We advise that all Merchants update their Terms & Conditions, and Privacy Policies, to advise all visitors to your Site that Trustev has been implemented.
Pilot Phase
Once this is completed, you will have entered the Pilot Phase and you will be handed over to our Fraud Team. Our Fraud Team will work with you to recommend the expected Trustev Confidence level for your Trustev Decisions, which may be changed during the Pilot Phase. Our Fraud Team will monitor the Trustev Decisions returned to you for your Live Transactions (Trustev Cases), and ensure that the expected results are being given based off all the data fields forwarded. Should you require assistance at any stage in this section, please contact fraud@trustev.com.
Resources
API Libraries
Please find below a link to our API Libraries, available on GitHub.
C# Library
https://github.com/Trustev/netclientapiPHP Library
https://github.com/Trustev/phpclientapiJava Library
https://github.com/Trustev/javaclientapi
For any queries, please contact our Integration Team (integrate@trustev.com)
Testing Guide
Our Testing Guide allows developers to simulate expected outcomes by adding the words “pass”, “flag” or “fail” to the Case Number that is supplied in Step 5: Adding a Case.
You will be returned the corresponding result when you make a call in Step 6: Get A Trustev Decision. Please note, that it is case sensitive, so you must ensure that these are lower case. If you do not wish to use this option, then the Trustev Decision returned will be randomly generated.
Manual Review Screen/Dashboard Guide
Overview
The following document is aimed at walking developers through the Manual Review Screen available on the Trustev Dashboard. This is our online portal that Merchants can access to review orders. The Trustev Dashboard is where you will see the Transactions processed by Trustev. During the integration phase the Manual Review Screen can be used to validate that Requests have been received, that Statuses are being updated and the Transaction data is being correctly processed etc.
The workflow will typically be as follows:- A transaction is submitted on the Merchants web site.
- The Developer or Merchant will:
- Log into the Trustev Dashboard.
- Use the Search functionality to locate the Transaction using the Merchant’s Case Number.
- Click on the Search results listing for the Transaction to display the detailed results on the Manual Review screen.
This is discussed in detail below.
Log In to the Trustev Dashboard
The first step is to log in to the dashboard. This is available here. You will be presented with the following screen:

The credentials you will need are as follows:
-
Merchant Code: This will have been given to you via email by the Integration Team when you first began Integrating.
-
Username: This will be the email you provided to the Integration Team during the initial phone call.
-
Password: This will have been given to you via email by the Integration Team when you first began integrating. Upon first login you will be prompted to change the password to one of your choosing.
Using the Trustev Dashboard Search Features
There are a number of features available on the Trustev Dashboard to help you review transactions and analyse fraud issues.
Transactions Overview Screen
The first screen that you will be presented with is the Transaction Overview Screen:

On the Transaction Overview Screen there are a number of functions available:
-
Filter transaction by date: this allows you to give a time range in which to review transactions.
-
Search for a specific Transaction by Case Number: this allows you to search by specific Case Number, to review the details of a single Transaction.It is also possible to do partial searches, by using an asterisk (*).
-
View Transactions: Here you will see the details of the transactions. Unless specified by date or Case number, you will see the last placed transactions in chronological order, from newest to oldest. You will be presented with:
-
The date and time of the transaction.
-
The Case Number.
-
The current Status of that transaction.
-
The Currency.
-
The Value of that transaction.
-
The Decision that Trustev returned, on whether this was a fraudulent transaction or not.
Understanding the Manual Review Screen
From the Transaction Overview Screen above, you can click through to manually review each transaction. Depending on the result of each transaction (i.e. “good” transaction or “failed” transaction) you will be presented with a screen that breaks down all the details of the transactions into the following groups:
Decision Summary:

The Decision Summary shows what the decision was on this particular transaction. It is colour coded in relation to the Decision; green being the best, red being the worst. The higher your score, the the greater the evidence of fraud in the transaction. In the example above, we can see that this was a fraudulent transaction.
In this transaction, we can see on the right hand bar that anything 200 or above will result in a Fail decision. This colour coded bar reflects the thresholds configured by our Fraud Team, to reflect your site’s fraud needs. That’s to say, each customer will get a personalized configuration of what score is a pass, fail, or flag. Please see “What is a Trustev Score?” for a deeper explanation.
This transaction has hit a score of 1,455 and is therefore fraud. We can also see that Trustev’s confidence in this score is 100%. See “What is the Trustev Confidence Score?” for more information on this.
It is necessary to note that when Test Keys are used the Decisions are randomized. For example, they request through the API a Decision for order 123, and receive a Pass. If they went into the Order Review Screen, they might see a Fail for this order. Live API Keys are needed for accurate Decisions, therefore during Integrations you should not be taking these Decisions as accurate.
Fact Summary:

The Fact Summary breaks down the decision, into what “facts” were hit with this transaction. Again, these facts are colour coded, with red being the heaviest weightings and highest in terms of fraud, and green being the lowest.
In the example above, we see “Email Address Blacklisted” and “Device Blacklisted” in red. This means that they are regarded as serious indications of fraud. In comparison, “BIN country not does not match Merchant Location” although still adding to the score, is not regarded as serious.
The Fact Summary allows you to review on a per transaction basis, to get a comprehensive overview of what factors made this transaction pass or fail, and why. The facts shown above are just an example for demo purposes. The Fraud Team will work closely with you during the Pilot Phase, to learn more about your fraud problems, and which of these facts should weigh heavier than others.
Case Details: 
In the above screen, we can see the Case details. This is all of the data that is passed through your Case Request during the API call “Add Case”. Essentially, these are the details inputted by the customer of your website when they checkout. We see their name, email, address and address type (e.g. billing/main/shipping) , etc. We can also see some additional details identified by Trustev, like IP Country-City, and some of the card details (note: these are not PII, the BIN just allows us to tell the country of issue). We can also see the breakdown of what this customer ordered. In certain cases this can be an identifier of fraud if the Total Value is significantly higher than the average.
Overall Transaction History:
Here we can see the history of transactions that have been processed from the same device and/or email address. Above we can see that although there is different email addresses being used in different cities, they are coming from the same device. This function can be used to pick up on any devices or emails that need to be blacklisted. Further, it can help to eliminate the likelihood of Trustev failing a good customer, as it is possible to whitelist also.
Update Status:
As mentioned in the documentation, it is necessary to update the status of each transaction. Ideally this should be done with your company's manual review system, which can be synced to Trustev. However if needed, we provide this functionality also. As explained in the documentation, transactions are automatically given the status of Placed when the Case is added (i.e. transaction is processed). Once Trustev have returned a decision, you will need to update the system on the outcome of this, by updating the status of the order from Completed to one of the options below:

Trustev provide a mechanism to ensure that the Order data in a Merchant’s system can stay synchronised with the Order data stored in Trustev’s system.
This is implemented via a webhook which is used to send back an Order Status update to the Merchant’s Site as Status changes take place in other parts of the system. You can view the documentation around this here.
If at any time the following screen pops up, you will need to log in again:

Any issues during your use of the Manual Review screen can either be directed at the Fraud Team (fraud@trustev.com) or at our Support Team (support@trustev.com).
FAQs
Please see our detailed Trustev FAQs, at http://www.trustev.com/developers-faq
Glossary
| API Token | An API Token is an alphanumeric GUID that is returned from the Trustev API when a successful request has been made to Get a Token. An API Token must be used anywhere Authentication is required. This is accessible in Step 4: Get a Token of the Trustev API. |
| API Keys | To communicate with Trustev, a set of API Keys are required. Each Trustev Site has its own set of API Keys, which are provided to you by our Integration Team at set up. |
| BIN Number | The first 6 digits of the credit or debit card used for payment. |
| Case | A Case is made up of Transaction Information, Customer Information, Payment Information, and Status Information. Please see What's a Case? for more information. |
| CaseId | The Case ID uniquely identifies a Trustev Case. It is returned from the Trustev API through the response header in Step 5: Add a Case. This Case Id should be stored as it needs to be used in Step 6: Get a Trustev Decision and Step 7: Add a Status. |
| Case Number | The Case Number can be any alphanumeric String. A Case Number is required in Step 5: Add A Case. You may choose what the Case Number is set to. This means, should you have a query on a Trustev Case at a later date then you will be able to access all the information on this Trustev Case by referencing this Case Number on the Trustev Dashboard. |
| Live API Keys | Live API Keys are access keys used on the live decisioning system in contrast to Test API Keys used during initial Integration. Merchants obtain their Live API Keys from the Integration Team. Please see "Test API Keys VS Live API Keys" for more information. These are needed after the Integration steps 1 – 8 are complete and our Integration Team have confirmed that all data is being accurately received. |
| LongTermAccessToken | This is the long term access token that is received from the relevant Social Network API. It allows access to a Merchant's customer data on a Social Account. |
| LongTermAccessTokenExpiry | This is the long term token expiry datetime that is received from the relevant Social Network API. See LongTermAccessToken above. |
| Merchant Code | A Merchant Code is required for log in to the Trustev Dashboard. It is sent to you by the Integration Team. After the Integration Team have signed you up, an email is sent that includes your Merchant Code. |
| Public Key | This is your Site Public Key, which is part of your API Keys sent to you by the Integration Team. This is required when you Integrate Trustev.js to your website. There is a Test API Key version and a Live API Key version of your Site Public Key. |
| Session | A Session is the container used to record all customer movements throughout the website, right up until purchase. |
| Server Responses | The Trustev API uses REST. We use HTTP Response Codes to indicate any API Errors. See What does the Response Code mean? for more information. |
| ShortTermAccessToken | This is the short term access token which is received from the relevant Social Network API. |
| ShortTemAccessTokenExpiry | This is the short term token expiry datetime that is received from the relevant Social Network API. |
| Site Password | Part of your API Keys is a password field. API Keys are provided by the Integration Team at sign up.This is your Site Password (NOTE: different from Trustev Dashboard Password). It is used in Step 4: Get a Token. There is a Test API Keys version and a Live API Keys version of your Site Password. |
| Site Username | This is your Site Username (NOTE: different from Trustev Dashboard Username).This is part of your API Keys, which are provided by the Integration team. It is needed in Step 4: Get A Token, and also at any stage that Authentication is required. There is a Test API Keys version and a Live API Keys version of your Site Username. |
| Site Shared Secret | This is your Site Shared Secret, available from the Trustev Dashboard. It is used in Step 4: Get a Token. There is a Test API Keys version and a Live API Keys version of your Site Shared Secret. |
| Social Network Account Secret | This is the Secret that is attached to your Social Network Developer's Account. |
| Social Network Id | The Social Network ID, i.e. the Facebook Account ID. |
| Social Network Type | Codes that represent the different Social Network Types, e.g. Facebook. See Social object for more information. |
| Test API Keys | These are required in order to communicate with the Trustev API. They are provided during the sign up process by our Integration Team. These are required in order to communicate with the Trustev API. |
| Timestamp | Current Timestamp in UTC. Accepted format: yyyy-MM-ddTHH:mm:ss.fffZ See http://www.trustev.com/developers-faq#what-format-is-accepted-for-the-timestamp for more information. |
| Trustev.js | This is JavaScript code that you must insert into each page of your site. It works in the background to collect data on your customers. |
| TrustevV2.SessionId | For every unique Session created by a user or a device, Trustev.js generates a TrustevV2.SessionId. This is required during communication with the Trustev API. TrustevV2.SessionId is a publicly accessible JavaScript variable. |
| Trustev Account | A Trustev Account is an account on the Trustev Dashboard. In order to begin Integration to Trustev, you will require a Trustev Account. This will be set up for you by our Integration Team. They can be contacted at integrate@trustev.com |
| Trustev Confidence | A Trustev Confidence score represents our confidence over a decision based on the level of details supplied within a Trustev Case. It has a range of zero to 100. Higher Confidence Score represents higher confidence. |
| Trustev Confidence Threshold | A Confidence Threshold is the minimum value that you should Flag Trustev Decisions for. During Integration, we would advise setting a Confidence Threshold of 40. This Confidence Threshold is subject to review during your Pilot Phase, and our Fraud Team may recommend lowering or raising this level as per the data that is received. |
| Trustev Dashboard | Trustev's Dashboard, available at https://app.trustev.com/dashboard . The Trustev Dashboard includes access to the order review screen. |
| Trustev Dashboard Password | In order to login to the Trustev Dashboard, you will need a password. The Integration Team will send this this password at sign up, and upon first login you will be prompted to change this to a password of your choice. There is a 'Forgot Password' option at login to the Trustev Dashboard if required. |
| Trustev Dashboard Username | At log in to the Trustev Dashboard, this username refers to the email address given to the Integration at signup. |
| Trustev Decision | The Trustev Decision is based off all the data that has been gathered on a Trustev Case. A Trustev Decision will return 0 - Unknown, 1 - Pass, 2 - Flag, 3 - Fail. |
| Trustev Score | A Trustev Score is generated based on the information supplied within a Trustev Case and will return a score ranging from zero to possibly thousands depending on the number of fraudulent features. The Trustev Score will determine the Trustev Decision. A Trustev Score between 0-225 will result in a Pass Decision (1). 225 -299 Flag (2) and 300 and above Fail (3). |