checkStatusTransaction method
Future<Either<NetworkError, DefaultNetworkResponse<DigitalpayeResponsePayment> > >
checkStatusTransaction({})
override
Implementation
@override
Future<
Either<NetworkError,
DefaultNetworkResponse<DigitalpayeResponsePayment>>>
checkStatusTransaction(
{required String transactionId, required String token}) async {
try {
final url = config.isSandbox
? Constantes.apiUrlSandbox
: '${Constantes.apiUrlProd}/${Constantes.versionApp}/get-status-payment/$transactionId';
final response = await http.get(
Uri.parse(url),
headers: {
'Authorization': 'Bearer $token',
'Content-Type': 'application/json',
},
);
if (response.statusCode == 200 ||
response.statusCode == 201 ||
response.statusCode == 202) {
final data = jsonDecode(response.body);
return Right(
DefaultNetworkResponse(
codeStatus: data["code_status"],
status: data["status"],
data: DigitalpayeResponsePayment.fromJson(data["data"]),
),
);
} else {
final data = jsonDecode(response.body);
return Left(NetworkError(
codeStatus: data["code_status"],
status: data["status"],
message:
EnumResponseNetwork.from(value: data["message"]).localizableValue,
));
}
} catch (e) {
// Gérer les erreurs
return Left(NetworkError(
message: EnumResponseNetwork.from(value: e.toString()).localizableValue,
));
}
}