payForItMobile function
Implementation
Future<Map<String, dynamic>?> payForItMobile(Map<String, dynamic> data) async {
const String url =
'https://api.feexpay.me/api/transactions/requesttopay/integration';
try {
final response = await http.post(
Uri.parse(url),
headers: {'Content-Type': 'application/json'},
body: jsonEncode(data),
);
final decoded = jsonDecode(response.body);
if (decoded is Map<String, dynamic>) {
if (decoded.containsKey('message')) {
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;
}
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.',
};
}
}