SCA on users
Read about how SCA impacts user endpoints
Introduction
When a Mangopay Account is created, the account holder must enroll in SCA.
A Mangopay account is created when a Natural or Legal user is assigned the UserCategory
of OWNER
, because these users accept and are bound by Mangopay’s T&Cs and are being provided with Mangopay payment and/or e-money services.
To facilitate SCA enrollment in the User objects, Mangopay has released new endpoints. These endpoints create the same kind of resource as the legacy ones, but they return a PendingUserAction.RedirectUrl
and apply a new UserStatus
value.
Your platform needs to use the RedirectUrl
to redirect the individual to Mangopay’s hosted-webpage so they can enroll. See SCA session for more details on how to do this.
Natural user integration
For Natural users, SCA redirection is fully available to integrate, using the individual’s phone number and email. The Email
is already required for Natural users. To simplify adoption, your users can provide their phone number during the SCA session – you don’t have to send it via the API.
Legal user integration
For Legal users, SCA redirection is fully available to integrate for Soletraders. The individual’s email must be provided via the API, in the LegalRepresentative.Email
property, but the phone number can be entered by the individual during the SCA session.
For the other Legal user types (Business, Partnership, Organization), Mangopay is developing functionality to designate additional authorized individuals who can complete SCA on behalf of the entity.
Until then, if LegalPersonType
is BUSINESS
, PARTNERSHIP
or ORGANIZATION
, then the SCA-enabled user endpoints do not return the SCA redirection link.
Note – Integration the new endpoints for all Legal User types
Your platform should still implement the new endpoints and SCA redirection logic if you only have Legal Users whose LegalPersonType
is BUSINESS
, PARTNERSHIP
or ORGANIZATION
.
The legacy user endpoints will be deprecated in 2026.
To simulate the PendingUserAction.RedirectUrl
during your integration, set the LegalPersonType
to SOLETRADER
to get the RedirectUrl
in the response.
Existing user integration
Existing users will not be immediately restricted by the introduction of SCA (see below).
For existing users, SCA redirection will be triggered in the following scenarios:
- For existing
PAYER
users, when you change their category toOWNER
using PUT Categorize a Natural User or PUT Categorize a Legal User (available now) - For existing
OWNER
users, when you:- Enroll them proactively using POST Enroll a User (available now)
- Register a Recipient (bank/payment account) for them (when SCA feature launched)
- Request a user-initiated transfer for them to another
OWNER
(when SCA feature launched) - Request to access their wallet balance or transaction history (when SCA feature launched)
Mangopay’s SCA session allows the user to enroll or authenticate as required.
We recommend inviting your active Owner users to enroll when they interact with your platform, which you can do using the POST Enroll a User endpoint.
Mangopay may be required to start introducing consequences on users if they haven’t enrolled in SCA, but this will be done with sufficient notice to platforms. You will also be informed of the consequences of non-enrollment, which may include removing certain permissions, blocking the account, reverting the category to PAYER
, or closing the account.
Mangopay’s objective is to protect your users when they benefit from our services, via an authentication solution that is easy for your platform to adopt in its integration. We remain committed to maintaining the highest standards of security and compliance.
Mangopay will also be shortly providing an endpoint that allows you to close inactive user accounts.
Integration action required on Users
Action required now:
For new Natural and Legal Users (of all types):
- Integrate the new endpoints for user creation. Read how →
- Integrate the new endpoints for changing a
PAYER
to anOWNER
. Read how → - Integrate the new endpoints for re-enrollment of enrolled users. Read how →
The new endpoints must be integrated for PAYER
users too, regardless of whether they are likely to be come OWNER
.
For existing users (Natural and Legal Soletrader):
- Integrate SCA enrollment existing
OWNER
users at an appropriate moment in your user journey using the dedicated endpoint. Read how →
Possible exemptions on Users:
- None, because these actions are enrollment or re-enrollment.
User status
The new user endpoints for SCA introduce a new possible value for the UserStatus
response parameter.
For users created prior to or without SCA, UserStatus
has two possible values, which were the same for PAYER
and OWNER
.
UserStatus value | Without SCA and for all PAYER |
---|---|
| The user is active and can access Mangopay features. |
| The user is permanently deactivated (Mangopay use only). |
For the OWNER
category with SCA, the property can have a new value, PENDING_USER_ACTION
, which is assigned by default. Once the user has completed SCA, their status changes to ACTIVE
.
UserStatus value | OWNER with SCA |
---|---|
| The user must successfully enroll in SCA before for their account to become |
| The user account is active and can access Mangopay features, such as wallets and KYC/B verification. Note that |
| The user is permanently deactivated (Mangopay use only). |
Caution – Changing category with legacy PUT
The PENDING_USER_ACTION
status is only returned on the SCA-enabled endpoints, but it is possible to change the UserCategory
using the legacy PUT Update a Natural/Legal User.
If you do this (for example, in the Mangopay Dashboard), then you need to use the POST Enroll a User endpoint to enroll them as an existing OWNER
.
When the user’s UserStatus
is PENDING_USER_ACTION
, they are unable to access Mangopay features. For example, a call to POST Create a Wallet for this user returns an error:
Restrictions on existing users
Note – Existing users not restricted
Initially, existing users will not be restricted by the introduction of SCA.
Existing users, who already have ACTIVE
as their UserStatus
, will not be restricted or transitioned to PENDING_USER_ACTION
if you attempt to enroll them using POST Enroll a User and the SCA session is not successful.
On Recipients, Transfers, and Account Access they will also not be restricted (their status remains ACTIVE
), but the relevant action will not succeed. In this case, you need to retry the Recipient creation or Transfer to allow the user to complete SCA successfully.
In future, Mangopay may be required by regulators to start introducing consequences on users if they haven’t enrolled in SCA, but this will be done with sufficient notice to platforms. These consequences may include removing certain permissions, blocking the account, reverting the category to Payer, or closing the account.
Webhooks
There are two new event types for which you can create webhook notifications. In both cases the RessourceId
of the notification received is the UserId
.
USER_ACCOUNT_VALIDATION_ASKED
– The Owner user has triggered SCA enrollment, meaning that theirUserStatus
has changed toPENDING_USER_ACTION
.USER_ACCOUNT_ACTIVATED
– The Owner user has been successfully enrolled in SCA and theirUserStatus
has changed fromPENDING_USER_ACTION
toACTIVE
.
Note – Webhooks not triggered for non-SCA Owners
The user account webhooks are not triggered for:
- Payers
- Owners if they are created or categorized with the non-SCA endpoints
Enrollment in the user lifecycle
The following scenarios describe how you can enroll your users in SCA to create their Owner user account. For an overview, see the diagram below.
In each case, the API call triggers SCA and returns the PendingUserAction.RedirectUrl
redirection link. And in each case, the way you need to redirect the user and handle the outcome is the same. For more detailed guidance on this redirection process, SCA session.
SCA triggers in Sandbox
In Sandbox, SCA is triggered on the SCA-enabled POST and PUT endpoints when all of the following are true:
UserCategory
isOWNER
- The type of the user is Natural or Soletrader
In Sandbox, SCA is not triggered if any of the following are true:
UserCategory
isPAYER
- The legal user’s
LegalPersonType
isBUSINESS
,PARTNERSHIP
, orORGANIZATION
Notes:
- POST Enroll a User returns
PendingUserAction.RedirectUrl
regardless of the user type - The PUT endpoints only trigger SCA redirection if
PhoneNumber
,PhoneNumberCountry
, orEmail
are changed
Testing
To test the OTP factor in Sandbox, you can use the PhoneNumber
+33611111111
(or 0611111111
and FR
) and the passcode 702100 to simulate a successful flow. You can also use a real phone number to receive the SMS OTP.
Best practice – Explore using Postman collection
Mangopay’s Sandbox API Postman collection contains the user SCA endpoints ready for you to test the solution. For help getting started with Mangopay’s collection, see the dedicated guide.
Register an Owner for the first time
The following flow should be used to create new Owners and enroll them in SCA at the same time. Any users Owner created on the non-SCA endpoints will need to be enrolled separately (in the flow described below).
Call the Mangopay API to provide user data and trigger SCA
Call the POST Create a Natural User (SCA) endpoint to register an Owner and enroll them in SCA:
- Set
UserCategory
toOWNER
- Set
TermsAndConditionsAccepted
totrue
(ensuring you have obtained the user’s acceptance of Mangopay’s T&Cs) - Provide the required data for Owners
If you provide the PhoneNumber
, it will be pre-populated in the hosted SCA experience for them to confirm or change; otherwise, they will be asked to provide it.
Call the POST Create a Natural User (SCA) endpoint to register an Owner and enroll them in SCA:
- Set
UserCategory
toOWNER
- Set
TermsAndConditionsAccepted
totrue
(ensuring you have obtained the user’s acceptance of Mangopay’s T&Cs) - Provide the required data for Owners
If you provide the PhoneNumber
, it will be pre-populated in the hosted SCA experience for them to confirm or change; otherwise, they will be asked to provide it.
Call the POST Create a Legal User (SCA) endpoint to register an Owner and enroll them in SCA:
- Set
UserCategory
toOWNER
- Set
TermsAndConditionsAccepted
totrue
(ensuring you have obtained the user’s acceptance of Mangopay’s T&Cs) - Set the
LegalPersonType
asSOLETRADER
(as per their local structure) - Provide the required data for Owners
If you provide the LegalRepresentative.PhoneNumber
, it will be pre-populated in the hosted SCA experience for them to confirm or change; otherwise, they will be asked to provide it.
In the API response:
UserCategory
isOWNER
UserStatus
isPENDING_USER_ACTION
PendingUserAction.RedirectUrl
contains the unique URL for the user’s SCA session
The PENDING_USER_ACTION
status triggers a webhook notification for the USER_ACCOUNT_VALIDATION_ASKED
event type – set up this Hook to be notified.
Redirect the user to the SCA session
Define a URL to which the user will be redirected after the SCA session. Encode the URL and append it to the RedirectUrl
value as the returnUrl
query parameter (for details see How to redirect a user for an SCA session (Step 2 onwards)). Then, redirect the user.
Confirm success or retry the session
After the SCA session, when the user is returned on your returnUrl
, check the controlStatus
and actionStatus
query parameters attached by Mangopay (as described in Step 5 and 6).
The Owner user is successfully SCA enrolled and their account created when the UserStatus
changes from PENDING_USER_ACTION
to ACTIVE
.
Set up a webhook notification for the USER_ACCOUNT_ACTIVATED
event type to be notified of this.
Transition a Payer to Owner
Note – Flow for all existing Payer users
You can use this flow to transition users Payer created before the introduction of SCA as well as those created on the new endpoint.
Call the Mangopay API to provide user data and trigger SCA
Call the PUT Categorize a Natural User (SCA) endpoint to transition an existing Payer:
- Set
UserCategory
toOWNER
- Set
TermsAndConditionsAccepted
totrue
(ensuring you have obtained the user’s acceptance of Mangopay’s T&Cs) - Provide the required data for Owners
If you provide the PhoneNumber
, it will be pre-populated in the hosted SCA experience for them to confirm or change; otherwise, they will be asked to provide it.
Call the PUT Categorize a Natural User (SCA) endpoint to transition an existing Payer:
- Set
UserCategory
toOWNER
- Set
TermsAndConditionsAccepted
totrue
(ensuring you have obtained the user’s acceptance of Mangopay’s T&Cs) - Provide the required data for Owners
If you provide the PhoneNumber
, it will be pre-populated in the hosted SCA experience for them to confirm or change; otherwise, they will be asked to provide it.
Call the POST Create a Legal User (SCA) endpoint to register an Owner and enroll them in SCA:
- Set
UserCategory
toOWNER
- Set
TermsAndConditionsAccepted
totrue
(ensuring you have obtained the user’s acceptance of Mangopay’s T&Cs) - Set the
LegalPersonType
asSOLETRADER
(as per their local structure) - Provide the required data for Owners
If you provide the LegalRepresentative.PhoneNumber
, it will be pre-populated in the hosted SCA experience for them to confirm or change; otherwise, they will be asked to provide it.
In the API response:
UserCategory
isOWNER
UserStatus
isPENDING_USER_ACTION
PendingUserAction.RedirectUrl
contains the unique URL for the user’s SCA session
The PENDING_USER_ACTION
status triggers a webhook notification for the USER_ACCOUNT_VALIDATION_ASKED
event type – set up this Hook to be notified.
Redirect the user to the SCA session
Define a URL to which the user will be redirected after the SCA session. Encode the URL and append it to the RedirectUrl
value as the returnUrl
query parameter (for details see How to redirect a user for an SCA session (Step 2 onwards)). Then, redirect the user.
Confirm success or retry the session
After the SCA session, when the user is returned on your returnUrl
, check the controlStatus
and actionStatus
query parameters attached by Mangopay (as described in Step 5 and 6).
The Owner user is successfully SCA enrolled and their account created when the UserStatus
changes from PENDING_USER_ACTION
to ACTIVE
.
Set up a webhook notification for the USER_ACCOUNT_ACTIVATED
event type to be notified of this.
Enroll an existing Owner
Note – Flow for existing Owner users
You can use this flow to transition of Owner users created before the introduction of SCA, meaning any Owner user:
- Created on the non-SCA endpoint (POST Create a Natural User or POST Create a Legal User)
- Categorized on the legacy PUT Update a Natural/Legal User endpoints (including via the Dashboard)
Read more about integrating SCA for existing users.
Call the Mangopay API to trigger SCA
Call the POST Enroll a User in SCA endpoint to obtain an SCA session link for the user to enroll in SCA.
If the PhoneNumber
(Natural Users) or LegalRepresentative.PhoneNumber
(Legal Users) is already present in the user object, it will be pre-populated in the hosted SCA experience for them to confirm or change; otherwise, they will be asked to provide it.
On the enrollment endpoint, the API returns only the PendingUserAction.RedirectUrl
property containing the unique URL for the user’s SCA session.
The user’s UserStatus
still changes to PENDING_USER_ACTION
, which triggers the a USER_ACCOUNT_VALIDATION_ASKED
webhook.
Redirect the user to the SCA session
Define a URL to which the user will be redirected after the SCA session. Encode the URL and append it to the RedirectUrl
value as the returnUrl
query parameter (for details see How to redirect a user for an SCA session (Step 2 onwards)). Then, redirect the user.
Confirm success or retry the session
After the SCA session, when the user is returned on your returnUrl
, check the controlStatus
and actionStatus
query parameters attached by Mangopay (as described in Step 5 and 6).
The Owner user is successfully SCA enrolled and their account created when the UserStatus
changes from PENDING_USER_ACTION
to ACTIVE
.
Set up a webhook notification for the USER_ACCOUNT_ACTIVATED
event type to be notified of this.
Re-enroll an enrolled Owner
Re-enrollment is required when the PhoneNumber
, PhoneNumberCountry
, or Email
user properties are modified.
Call the Mangopay API, triggering SCA
Call the PUT Update a Natural User (SCA) endpoint setting the required parameters:
UserCategory
toOWNER
TermsAndConditionsAccepted
totrue
If you modify the PhoneNumber
and/or PhoneNumberCountry
, then the SCA session pre-populates the phone number value for the user to confirm and enroll.
If you modify only the Email
, then the new email is confirmed using the PhoneNumber
which was previously enrolled. In this case, the user is not given the opportunity to modify their phone number during the session.
Call the PUT Update a Natural User (SCA) endpoint setting the required parameters:
UserCategory
toOWNER
TermsAndConditionsAccepted
totrue
If you modify the PhoneNumber
and/or PhoneNumberCountry
, then the SCA session pre-populates the phone number value for the user to confirm and enroll.
If you modify only the Email
, then the new email is confirmed using the PhoneNumber
which was previously enrolled. In this case, the user is not given the opportunity to modify their phone number during the session.
Call the PUT Update a Legal User (SCA) endpoint setting the required parameters:
UserCategory
toOWNER
TermsAndConditionsAccepted
totrue
If you modify the LegalRepresentative.PhoneNumber
and/or LegalRepresentative.PhoneNumberCountry
, then the SCA session pre-populates the phone number value for the user to confirm and enroll.
If you modify only the LegalRepresentative.Email
, then the new email is confirmed using the LegalRepresentative.PhoneNumber
which was previously enrolled. In this case, the user is not given the opportunity to modify their phone number during the session.
In the API response:
UserCategory
isOWNER
UserStatus
isPENDING_USER_ACTION
PendingUserAction.RedirectUrl
contains the unique URL for the user’s SCA session
The PENDING_USER_ACTION
status triggers a webhook notification for the USER_ACCOUNT_VALIDATION_ASKED
event type – set up this Hook to be notified.
Note – PhoneNumber entered during SCA session not updated in API
The phone number provided during the SCA session is not updated retroactively in the API user object. This also applies if the PhoneNumber
is already present and the user changes it during the SCA session.
Any PUT call that changes the PhoneNumber
value triggers SCA, even if the user just completed SCA.
Redirect the user to the SCA session
Define a URL to which the user will be redirected after the SCA session. Encode the URL and append it to the RedirectUrl
value as the returnUrl
query parameter (for details see How to redirect a user for an SCA session (Step 2 onwards)). Then, redirect the user.
Confirm success or retry the session
After the SCA session, when the user is returned on your returnUrl
, check the controlStatus
and actionStatus
query parameters attached by Mangopay (as described in Step 5 and 6).
The Owner user is successfully SCA enrolled and their account created when the UserStatus
changes from PENDING_USER_ACTION
to ACTIVE
.
Set up a webhook notification for the USER_ACCOUNT_ACTIVATED
event type to be notified of this.
Integrate new user endpoints for Payers
SCA is not applicable to PAYER
users.
However, the SCA endpoints must be integrated to register and update PAYER
users:
- POST Create a Natural User (SCA)
- PUT Update a Natural User (SCA)
- POST Create a Legal User (SCA)
- PUT Update a Legal User (SCA)
In this non-SCA scenario:
UserCategory
isPAYER
UserStatus
isACTIVE
PendingUserAction
isnull
These are the same endpoints that are used with Owners.
Note – Integrate new endpoints to manage Payers
Payers are not subject to SCA. However, you must integrate the new SCA-enabled endpoints above to register new Payers and update existing ones, regardless of whether they are likely to become Owners in the future.
Mangopay intends to deprecate the legacy User endpoints, because they will have been made redundant by the new SCA-enabled versions.
View and list users
There is a new version of the GET View a User (SCA).
For Natural users, the response object is the same as the legacy one with the addition of PendingUserAction
(which is always null
on the GET endpoint).
For Legal users, the new GET View a User (SCA) endpoint returns the same data as the legacy one but in the new format: with the LegalRepresentative
parent object.
Note – UserStatus values apply on both versions
The PENDING_USER_ACTION
value for UserStatus
can be returned on both versions of the GET endpoint.
On the POST and PUT, it can be only be triggered by the new SCA endpoint routes (with /sca/
).
There is no new version of the GET List Users because it only returns a summary of key user data, rather than the full object, so no new endpoint is necessary.
User lifecycle diagram: Categories
The introduction of SCA to create an Owner user changes the lifecycle of a user because they cannot become an Owner without SCA. The following diagram shows how SCA impacts the user lifecycle for setting up Payers and Owners.
Note – Not shown in diagram
The diagram below doesn’t show:
- The PUT Update a User endpoints in all their use cases (e.g. updating Payers)
- KYC/B verification, which a user can request once they are an Owner
- The possibility of a user being blocked (which may happen to Payer or Owner)
Related resources
Was this page helpful?