40 lines
1.2 KiB
Dart
40 lines
1.2 KiB
Dart
import 'package:marco/helpers/services/api_service.dart';
|
|
import 'package:marco/helpers/services/app_logger.dart';
|
|
|
|
class PaymentService {
|
|
/// Create a Razorpay order on backend
|
|
Future<Map<String, dynamic>?> createOrder(double amount) async {
|
|
try {
|
|
logSafe("🟢 Calling createPaymentOrder API with amount: ₹$amount");
|
|
final response = await ApiService.createPaymentOrder(amount);
|
|
logSafe("🧩 Raw response in PaymentService: $response");
|
|
|
|
return response;
|
|
} catch (e) {
|
|
logSafe("❌ Error in createOrder: $e", level: LogLevel.error);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/// Verify Razorpay payment signature
|
|
Future<Map<String, dynamic>?> verifyPayment({
|
|
required String orderId,
|
|
required String paymentId,
|
|
required String signature,
|
|
}) async {
|
|
try {
|
|
logSafe("🟢 Calling verifyPayment API...");
|
|
final response = await ApiService.verifyPayment(
|
|
orderId: orderId,
|
|
paymentId: paymentId,
|
|
signature: signature,
|
|
);
|
|
logSafe("✅ VerifyPayment API response: $response");
|
|
return response;
|
|
} catch (e) {
|
|
logSafe("❌ Error in verifyPayment: $e", level: LogLevel.error);
|
|
return null;
|
|
}
|
|
}
|
|
}
|