Payment Method Authentication Service Overview
Overview
The Payment Method Authentication Service manages 3D Secure (3DS) authentication flows using the Python SDK. 3DS adds an extra layer of security for online card payments by verifying the cardholder's identity with their bank.
Business Use Cases:
Fraud prevention - Shift liability to issuers for authenticated transactions
Regulatory compliance - Meet Strong Customer Authentication (SCA) requirements
Risk-based - Request 3DS for high-risk transactions
Global payments - Required for many European and international transactions
Operations
Initiate 3DS flow before payment. Collects device data for authentication.
Starting 3D Secure flow
Execute 3DS challenge or frictionless verification. Performs bank authentication.
After pre_authenticate, complete the 3DS flow
Validate authentication results with issuer. Confirms authentication decision.
After customer completes 3DS challenge
SDK Setup
from hyperswitch_prism import PaymentMethodAuthenticationClient
auth_client = PaymentMethodAuthenticationClient(
connector='stripe',
api_key='YOUR_API_KEY',
environment='SANDBOX'
)Common Patterns
3DS Flow
Flow Explanation:
Pre-authenticate - Start 3DS flow, collect device data, determine frictionless vs challenge.
Challenge (if needed) - Customer completes bank challenge (password, SMS, etc.).
Post-authenticate - Validate the authentication result with the bank.
Authorize - Proceed with payment authorization using 3DS data.
Frictionless vs Challenge
Frictionless
No interruption
Low risk, returning customer, device recognized
Challenge
Customer enters code
High risk, new device, large amount
Next Steps
Payment Service - Complete payment after 3DS
authorize - Use 3DS result for authorization
Additional Resources
Understanding 3D Secure 2.0
SCA compliance guide
Risk-based authentication
Last updated
Was this helpful?

