getTransactionStatus method
Implementation
Future<Either<Failure, TransactionStatusResponse>> getTransactionStatus({
required String merchantTransactionId,
required String merchantId,
required String clientId,
required String clientSecret,
required String clientApiKey,
}) async {
String message =
"$merchantTransactionId,$merchantId,$clientId,$clientApiKey";
String signature = Generator.generateSignatureOrToken(
message,
clientSecret,
);
final requestBody = {
"merchantTxnId": merchantTransactionId,
"merchantId": merchantId,
};
try {
final request = await _dioService.postRequest(
endpoint: ApiConstants.TRANSACTION_URL,
data: requestBody,
Options: Options(
headers: {
"Signature": signature,
"Client-Id": clientId,
"Client-API-Key": clientApiKey,
},
),
);
return request.fold((failure) => Left(failure), (responseData) async {
final Map<String, dynamic> json = responseData;
final transactionStatusResponse = TransactionStatusResponse.fromJson(
json,
);
return Right(
transactionStatusResponse,
); // or parse actual value from responseData
});
} catch (e) {
print("Exception occurred: $e");
return Left(Failure("Something went wrong"));
}
}