Files
intaleq_driver/lib/controller/payment/smsPaymnet/pay_out_syria_controller.dart
2025-09-21 15:02:12 +03:00

46 lines
1.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:sefer_driver/controller/functions/crud.dart';
class PayoutService {
final String _baseUrl =
"https://walletintaleq.intaleq.xyz/v1/main/sms_webhook";
static const double payoutFee = 5000.0; // عمولة السحب الثابتة
/// دالة لإنشاء طلب سحب جديد على السيرفر
///
/// تعيد رسالة النجاح من السيرفر، أو رسالة خطأ في حال الفشل.
Future<String?> requestPayout({
required String driverId,
walletType,
payoutPhoneNumber,
required double amount,
}) async {
final url = ("$_baseUrl/request_payout.php");
try {
// هنا يمكنك إضافة هيدرز المصادقة (JWT) بنفس طريقتك المعتادة
final response = await CRUD().postWallet(link: url, payload: {
'driverId': driverId,
'amount': amount.toString(),
'phone': payoutPhoneNumber.toString(),
'wallet_type': walletType.toString(),
}).timeout(const Duration(seconds: 20));
if (response != 'failure') {
final data = (response);
if (data['status'] == 'success') {
debugPrint("Payout request successful: ${data['message']}");
return data['message']; // إرجاع رسالة النجاح
} else {
debugPrint("Payout request failed: ${data['message']}");
return "فشل الطلب: ${data['message']}"; // إرجاع رسالة الخطأ من السيرفر
}
} else {
return "خطأ في الاتصال بالسيرفر: ${response.statusCode}";
}
} catch (e) {
debugPrint("Exception during payout request: $e");
return "حدث خطأ غير متوقع. يرجى المحاولة مرة أخرى.";
}
}
}