Skip to main content

Step-Up Authentication

The revised Payment Service Directive, more commonly known as PSD2, outlines regulations to improve customer authentication processes that better protect customers from fraud.

PSD2 defines that strong customer authentication (SCA) via a two-factor authentication solution needs to be in place for when end-users are:

  • Accessing their payment account information, as well as
  • Initiating payments to 3rd parties.

Using the Multi APIs you can enrol your customers to different SCA options in line with PSD2 and step-up their authentication to perform certain operations.

How to step-up a token

An active user can step-up their token by completing a second authentication factor. Multi supports the following second factors:

Step-up a token using an OTP via SMS

A 6 digit one-time password is sent via text message on the end-user's registered mobile number. The one-time password needs to be submitted via the Multi APIs to complete the step-up.

The following are the steps required to complete a step-up via an OTP sent via an SMS:

  1. Initiate a challenge
  2. Verify the challenge
info

In order to complete challenge, the logged-in user must have enrolled their mobile device for strong customer authentication.

1. Initiate a challenge

You can trigger the step-up process by calling the step-up challenge API. The user will receive a text message (SMS) on the mobile number associated with their credentials.

For root users, this will be the mobile number provided when onboarding the corporate or consumer identity, while for authorised users, this will be the mobile number provided when onboarding the user.

2. Verify the challenge

You must build a page in your application where the user can enter the verification code that they received in the text message which you will need to submit via the challenge verify API.

Step-up a token using Twilio Authy

To step a token using Twilio Authy, you can send a push notification on the user's mobile phone by calling the step-up challenge via authy API.

The user must approve the push notification submitted on their mobile phone. You will receive a webhook notification once the user approves or rejects the push notification.

info

To use AUTHY as an authentication factor, consumer users, corporate users and authorised users must be enrolled for Authy in order to perform authentication using this method.

More authentication channels will be added in the future.

caution

Once the customer successfully completes the second-factor authentication, then this token will be considered stepped-up. Authentication token expire after 5 minutes of inactivity.

If a wrong verification code is provided, the token remains valid however it is not considered as stepped-up.

Actions requiring a stepped-up token

There are three levels of SCA for Payment Account Information which is being enforced depending on the endpoint being used.

Access to account details

The /managed_accounts and /managed_accounts/{id} endpoints only require the end-user to have enrolled and completed a two-factor authentication once.

Access to transaction details

Statement or transaction endpoints require the user to have completed a successful step-up in the last 180 days. If the active token is not stepped up, then only transactions executed in the last 180 days are returned. If transactions older than 180 days are required, the active token must be stepped-up.

Access to sensitive information

All card related operations require a stepped-up token. This includes viewing sensitive card information and updating the password or passcode of the end-user.

Please see the full list of endpoint and UI components requiring a stepped-up token for each call below.

info

You can control at which point the two-factor authentication is completed on the end-user so long as a stepped-up token is provided when calling the below endpoints.

danger

Two-factor authentication done for the purpose of verifying a transaction does not count towards SCA for the purpose of payment account information.

List of endpoints requiring a stepped-up token

EndpointDescription
Statement
GET managed_accounts/{id}/statementRequires the user to have completed a successful step-up in the last 180 days
GET managed_cards/{id}/statementRequires the user to have completed a successful step-up in the last 180 days
Managed Accounts
GET, POST /managed_accountFirst time access requires a stepped-up token
GET, PATCH /managed_accounts/{id}First time access requires a stepped-up token
Managed Cards
GET, POST /managed_cardsRequires a stepped-up token
GET, POST /managed_cards/{id}Requires a stepped-up token
POST /managed_cards/assignRequires a stepped-up token
GET, PATCH /managed_cards/{id}Requires a stepped-up token
POST /managed_cards/{id}/physicalRequires a stepped-up token
POST /managed_cards/{id}/physical/activateRequires a stepped-up token
GET /managed_cards/{id}/physical/pinRequires a stepped-up token
POST /managed_cards/{id}/physical/replace_lost_stolenRequires a stepped-up token
POST /managed_cards/{id}/physical/replace_damagedRequires a stepped-up token
Transactions
GET /sendsRequires the user to have completed a successful step-up in the last 180 days
GET /transfersRequires the user to have completed a successful step-up in the last 180 days
GET /outgoing_wire_transfersRequires the user to have completed a successful step-up in the last 180 days
GET /outgoing_wire_transfers/{id}Requires the user to have completed a successful step-up in the last 180 days
GET /transfers/{id}Requires the user to have completed a successful step-up in the last 180 days
GET /send/{id}Requires the user to have completed a successful step-up in the last 180 days

List of UI components requiring a stepped-up token

Password / Passcode UI Components
Password UI ComponentRequired when changing the password. Setting your password the first time does not require a stepped-up token.
Passcode UI ComponentRequired when changing the passcode. Setting your passcode the first time does not require a stepped-up token.
Card UI Components
Card Number Componentrequires a stepped-up token
Capture Card No PIN Componentrequires a stepped-up token
Show Card PIN UI Componentrequires a stepped-up token
CVV UI Componentrequires a stepped-up token