processPayment method
Process payment securely through backend
Implementation
Future<LokotroPayOnResponse> processPayment({
required MastercardPaymentRequest paymentRequest,
}) async {
if (!isInitialized) {
return _createErrorResponse(
'Service not initialized',
'Please initialize the service first',
paymentRequest.amount,
paymentRequest.currency,
paymentRequest.orderId,
);
}
try {
// Validate payment request
if (!_validatePaymentRequest(paymentRequest)) {
return _createErrorResponse(
'Invalid Payment Request',
'Payment request validation failed',
paymentRequest.amount,
paymentRequest.currency,
paymentRequest.orderId,
);
}
// Process through backend proxy
return await _backendProxy!.processPayment(
paymentRequest: paymentRequest,
userId: _currentUserId!,
sessionToken: _currentSessionToken,
);
} catch (e) {
return _createErrorResponse(
'Payment Processing Error',
'Failed to process payment: $e',
paymentRequest.amount,
paymentRequest.currency,
paymentRequest.orderId,
);
}
}