Skip to main content

Vulnerabilities

Introduction

The Vulnerabilities service allows you to retrieve and update a customer's recorded vulnerabilities within your mobile application.

Vulnerable customers are individuals who, due to personal circumstances, are especially susceptible to detriment, particularly when a firm is not acting with appropriate levels of care.

These circumstances are grouped into three categories:

  • Health — physical or mental health conditions that affect the customer's decision-making capabilities or day-to-day functioning, such as a physical disability, low mental capacity, or a gambling addiction.
  • Competence — low financial literacy, poor language skills, or limited digital ability that make navigating financial decisions more challenging.
  • Life — temporary or situational factors, such as caring responsibilities, bereavement, or geographic exposure to fraud, which can temporarily impair judgment or financial stability.

In addition to the categorised vulnerabilities, the customer can describe any further support or accessibility requirements in plain text via additionalSupportNeeds.

Key Features:

  • Get the customer's recorded vulnerabilities grouped by category.
  • Update the customer's vulnerabilities.

Prerequisites

Before integrating the Vulnerabilities service, ensure you have:

  • A valid Paysafe account with appropriate permissions.
  • Set up the Paysafe SDK as described here: Android or iOS.

To get started, initialize the VulnerabilitiesService instance in your app as shown below:

import com.paysafe.wallet.android.core.wallet.Wallet

val vulnerabilitiesService = Wallet.getInstance().getVulnerabilitiesService()

Functionalities

Get Customer Vulnerabilities

Use the get method to retrieve the customer's recorded vulnerabilities grouped by category - CustomerVulnerabilities.

try {
val vulnerabilities = vulnerabilitiesService.get()
// Display vulnerabilities
} catch (exception: Exception) {
// Handle exception
}

Update Customer Vulnerabilities

note

Only the categories and fields you provide are modified; omitted ones are left unchanged. The request is accepted only if at least one property is modified.

Use the update method to update the customer's vulnerabilities by providing a CustomerVulnerabilities object.

val vulnerabilities = CustomerVulnerabilities(
health = HealthVulnerabilities(
physicalDisability = true,
lowMentalCapacity = false,
gamblingAddiction = false
),
competence = CompetenceVulnerabilities(
financeManagement = false,
poorLiteracy = true,
poorLanguageSkills = false,
poorDigitalSkills = false
),
life = LifeVulnerabilities(
caringResponsibilities = true,
fraudulentLocation = false
),
additionalSupportNeeds = "Please use plain language in all communications."
)

try {
val updatedVulnerabilities = vulnerabilitiesService.update(vulnerabilities)
// Display updated vulnerabilities
} catch (exception: Exception) {
// Handle exception
}

Error Handling

Both the get and update methods throw a WalletException (Android) or WalletError (iOS) when the Paysafe Wallet API returns an error. For the full list of error types and recommended handling patterns, see the Error Handling guide.

You can also review and update the customer's broader personal information through the Profile Information service.