PSD2 Compliant Authentication with Authy
As of November 2022, Twilio no longer provides support for Authy SMS/Voice-only customers. Customers who were also using Authy TOTP or Push prior to March 1, 2023 are still supported. The Authy API is now closed to new customers and will be fully deprecated in the future.
For new development, we encourage you to use the Verify v2 API.
Existing customers will not be impacted at this time until Authy API has reached End of Life. For more information about migration, see Migrating from Authy to Verify for SMS.
The European Payment Services Directive (PSD2) regulation requires Strong Customer Authentication (SCA) for all transactions over €30 by 31 December 2020 (14 September 2021 for the UK). This page will show you how to implement a compliant solution for your application using the Authy API. For more detail on PSD2, SCA, and dynamic linking, check out this post.
The Authy API supports 3 channels for PSD2 compliant authorization.
SMS Authorization for PSD2
Use the action
and action_message
parameter to tie the verification to a specific transaction. The same values are required to verify the token.
Resources:
Push Authorization for PSD2
Display transaction details in the Authy App. Each authorization is signed by the end user's device and linked to that specific transaction.
Resources:
- Push Authentication documentation
- PSD2 Compliant Authorization: Verifying Sensitive Actions with Python, Flask and Authy Push
Soft Token (TOTP) Authorization for PSD2
Offline support with transactional TOTP codes in the Authy app. Transaction details are mixed with the application secret to create a unique code tied to the transaction.
Resources:
Need some help?
We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.