payForItWave function
Implementation
Future<Map<String, dynamic>?> payForItWave(
Map<String, dynamic> data, String token) async {
final String url = '$baseUrl/api/transactions/requesttopay/integration';
try {
final response = await http.post(
Uri.parse(url),
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer $token',
},
body: jsonEncode(data),
);
final decoded = jsonDecode(response.body);
if (decoded is Map<String, dynamic>) {
final message = decoded['message']?.toString();
if (message == 'Network Unavailable' ||
message == 'NETWORK_UNAVAILABLE') {
decoded['message'] =
'Réseau indisponible. Veuillez réessayer plus tard.';
} else if (message == 'Invalid phone number') {
decoded['message'] = 'Numéro de téléphone invalide.';
} else if (message == 'Insufficient funds') {
decoded['message'] = 'Fonds insuffisants sur votre compte.';
} else if (message == 'Shop not found') {
decoded['message'] = 'Boutique introuvable.';
}
return decoded;
} else {
return {
'message': 'Réponse inattendue du serveur.',
};
}
} catch (e) {
return {
'message':
'Impossible de se connecter au serveur. Vérifiez votre connexion internet.',
};
}
}