deposit method
Future<String?>
deposit({
- required String phoneNumber,
- required String amount,
- required QosicNetwork network,
Send money to the given phoneNumber
Implementation
Future<String?> deposit({
required String phoneNumber,
required String amount,
required QosicNetwork network,
}) async {
final currentContry = getCountryFromNumber(phoneNumber);
String? transactionReference;
final baseUrl =
currentContry == QosicCountry.benin ? Endpoints.bjUrl : Endpoints.tgUrl;
try {
await dio.post(
baseUrl + Endpoints.deposit,
data: {
'msisdn': phoneNumber,
'amount': amount,
'transref': makeID(10),
'clientid': network == QosicNetwork.mtn ? mtnKey : moovKey
},
).then((value) {
transactionReference = value.data['transref'] as String;
});
} on DioError catch (e) {
if (enableLog) {
print(
'An error occured on [deposit]: ${e.response!.data['responsemsg'] as String}');
}
throw QosicException(
'An error occured on [deposit]',
responseMsg: e.response!.data['responsemsg'] as String,
data: e,
);
}
return transactionReference;
}