> For the complete documentation index, see [llms.txt](https://docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verifone.com/psdk-latest/reference-material/self-assessment.md).

# Self-Assessment

{% columns %}
{% column width="41.66666666666667%" %} <i class="fa-clock">:clock:</i> 6 minutes reading time\ <i class="fa-calendar">:calendar:</i> Last updated: 10th October, 2025
{% endcolumn %}

{% column width="24.999999999999986%" %}

{% endcolumn %}

{% column %}
✅ Introduction\
✅ Log Collection\
✅ FAQ's
{% endcolumn %}
{% endcolumns %}

## Introduction

PSDK Assessment is an validation process of the customer POS application which integrates Verifone PSDK Library. Validation is performed by review of the PSDK logs submitted by the customer using the POS application. PSDK Assessment is required when Customer has completed integrating POS application and wants to go-live.

### Pre-Requisites

* Customer must fill the self-assessment form **PSDK Self-Assessment Form.docx**
* Customer must submit the logs for the test cases as mentioned in **PSDK Assessment Test Cases.docx** using the POS app through an JSD(Jira Service Desk) Please refer **Steps for Log collection**
* PSDK Support team will validate the logs submitted and approve if the logs meet the expectations of the test cases as listed in PSDK Assessment Test Cases.docx document.
* Once assessment is completed, customer application will be signed and deployment process for production will be initiated.

## Log collection

### On-Device

For On-device integrations PSDK logging will be enabled by default. Below are the commands for capturing logs.

```powershell
// clears the logcat buffer 
adb logcat -c

//captures and filters log with PSDK messages adb logcat -s “PSDK”
//captures PSDK filtered log to a file with name psdk.log 
adb logcat -s "PSDK" > psdk.log

//captures full logs (PSDK + terminal) logs to file with name terminal.log 
adb logcat > terminal.log

//stops logging ctrl + c
```

### Off-Device

PSDK logging should be enabled explicitly, API’s from paymentSDK class can be used for logging. PaymentSDK (PSDK)

1. public static boolean configureLogFile(String filename, long size)
2. public static void configureLogLevel(PsdkLogLevel level)
3. public static boolean configureLogFileWithRotation(String filename, long size, long rotate)

Sample code to enable logging using the API's configureLogFile and configureLogLevel

```java
//Filepath of the log file to be saved
String a = System.Windows.Forms.Application.LocalUserAppDataPath; 
PaymentSdk.ConfigureLogFile( a + "psdk.log", 2048);
PaymentSdk.ConfigureLogLevel(PsdkLogLevel.LOG_DEBUG);
```

Sample code to enable logging using the API configureLogFileWithRotation, which captures logs in different files based on the rotate field specified in the API.

```java
//Filepath of the log file's to be saved
String a = System.Windows.Forms.Application.LocalUserAppDataPath; 

// 5 Log files each size of 100Kb will created
PaymentSdk.configureLogFileWithRotation( a + "psdk.log", 100, 5); 
```

Sample Log which shows PSDK creation, Initializing and Login successfully.

{% code fullWidth="true" %}

```django
06:51:04.896 2462 2545 I : VFITS [psdk_id=0] PaymentSdk creating. 
06:51:04.897 2462 2545 I PSDK : VFITS [psdk_id=0] PaymentSdk created. 
06:51:04.949 2462 2570 I PSDK : VFITS [psdk_id=0] AdvanceToState NOT_LOGGED_IN 
06:51:04.949 2462 2564 I PSDK : VFITS [psdk_id=0] Notifying CommerceListener2 of type STATUS_INITIALIZED with status 0 
06:51:04.950 2462 2564 I PSDK : VFITS [psdk_id=0] getState for session (nil) 
06:51:04.953 2462 2564 I PSDK : VFITS [psdk_id=0] loginWithCredentials user (null) and shift (null) and operator locale (null) 
06:51:04.953 2462 2564 I PSDK : VFITS [psdk_id=0] AdvanceToState LOGGING_IN 
06:51:04.974 2462 2564 I PSDK : VFITS [psdk_id=0] sendMessageToListener TRANSACTION_NOTIFICATION for session detached 
06:51:04.974 2462 2564 I PSDK : VFITS [psdk_id=0] Notifying CommerceListener2 of type TRANSACTION_NOTIFICATION with status 0 
06:51:04.975 2462 2564 I PSDK : VFITS [psdk_id=0] getState for session (nil) 
06:51:05.007 2462 2564 I PSDK : VFITS [psdk_id=0] sendMessageToListener TRANSACTION_NOTIFICATION for session detached 
06:51:05.007 2462 2564 I PSDK : VFITS [psdk_id=0] Notifying CommerceListener2 of type TRANSACTION_NOTIFICATION with status 0 
06:51:05.008 2462 2564 I PSDK : VFITS [psdk_id=0] getState for session (nil) 
06:51:05.673 2462 2564 I PSDK : VFITS [psdk_id=0] sendMessageToListener DEVICE_VITALS_INFORMATION_EVENT for session detached 
06:51:05.673 2462 2564 I PSDK : VFITS [psdk_id=0] Notifying CommerceListener2 of type DEVICE_VITALS_INFORMATION_EVENT with status 0 
06:51:05.695 2462 2585 I PSDK : VFITS [psdk_id=0] AdvanceToState LOGGED_IN 
06:51:05.696 2462 2564 I PSDK : VFITS [psdk_id=0] sendMessageToListener LOGIN_COMPLETED for session detached 
06:51:05.696 2462 2564 I PSDK : VFITS [psdk_id=0] Notifying CommerceListener2 of type LOGIN_COMPLETED with status 0
```

{% endcode %}

### FAQ's

**Q**: Do I need to do a reassessment for the new version of the POS app?\
**A**: Yes, a lite assessment will be required if it is minor changes or full assessment if major changes.

**Q**: Do I have to go through an assessment when upgrading PSDK to a newer version?\
**A**: If an upgrade is performed, a lite assessment will be performed (mandatory cases)

**Q**: Do I need to do a reassessment if it take the same solution to a new country?\
**A**: No, a reassessment is not necessary provided you are using the same version.

**Q**: Do I need to do a reassessment if I migrate to new hardware? **A**: Yes, a new assessment will be required.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verifone.com/psdk-latest/reference-material/self-assessment.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
