initiate3DSAuthentication method
Initiate 3DS authentication through backend
Implementation
Future<Map<String, dynamic>> initiate3DSAuthentication({
required String orderId,
required double amount,
required String currency,
required String userId,
String? sessionToken,
}) async {
try {
final requestBody = {
'order_id': orderId,
'amount': amount,
'currency': currency,
'user_id': userId,
'session_token': sessionToken,
'client_info': await _getClientInfo(),
};
final response = await _dio.post(
'/api/v1/payments/mastercard/3ds/initiate',
data: requestBody,
);
return response.data as Map<String, dynamic>;
} on DioException catch (e) {
throw Exception('3DS initiation failed: ${e.message}');
}
}