Initial push to my private server
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
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 "حدث خطأ غير متوقع. يرجى المحاولة مرة أخرى.";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user