public async Task <int> GetCryptoCurrencyAmount(string transactionId) { var payInObject = await _mangoPayApi.PayIns.Get(transactionId); var cryptoCurrencyQuantity = 0; long transactionTotalAmount = 0; var contonmentAmount = 0; var mangoPayFeesAmount = 0; if (payInObject.Status == TransactionStatus.SUCCEEDED) { transactionTotalAmount = payInObject.DebitedFunds.Amount; contonmentAmount = CalculateContonmentTotalAmount(transactionTotalAmount) * 100; var contonmentTransfertObject = new MangoPayTransfertObject { DebitedWalletID = payInObject.CreditedWalletId, CreditedWalletId = _stirblockCantonmentWalletId, TotalAmount = contonmentAmount, FeesAmount = 0 }; mangoPayFeesAmount = Convert.ToInt32(transactionTotalAmount) - contonmentAmount; var commissionTransfertObject = new MangoPayTransfertObject { DebitedWalletID = payInObject.CreditedWalletId, CreditedWalletId = _stirblockCommisionWalletId, TotalAmount = mangoPayFeesAmount, FeesAmount = 0 }; var transfertToContonmentDone = await TransfertMoneyToCantonmentWallet(contonmentTransfertObject.DebitedWalletID, contonmentTransfertObject.CreditedWalletId, contonmentTransfertObject.TotalAmount, contonmentTransfertObject.FeesAmount); var transfertToCommissionDone = await TransfertMangoPayFeesToCommissionWallet(commissionTransfertObject.DebitedWalletID, commissionTransfertObject.CreditedWalletId, commissionTransfertObject.TotalAmount, commissionTransfertObject.FeesAmount); if (transfertToContonmentDone && transfertToCommissionDone) { cryptoCurrencyQuantity = CalculateCryptoCurrency(transactionTotalAmount); return(cryptoCurrencyQuantity); } else { return(0); } } else { return(0); } }
public async Task <bool> RefundUsers(string projectOwnerWalletId, long totalAmountToRefund) { var trasfertObject = new MangoPayTransfertObject { DebitedWalletID = projectOwnerWalletId, CreditedWalletId = _stirblockCantonmentWalletId, TotalAmount = totalAmountToRefund * 100, FeesAmount = 0 }; var tranfertObject = await CreateTransfertMoney(trasfertObject.DebitedWalletID, trasfertObject.CreditedWalletId, trasfertObject.TotalAmount, trasfertObject.FeesAmount); return(tranfertObject.Status == TransactionStatus.SUCCEEDED ? true : false); }
public async Task <bool> GetInvestmentAmount(string transactionId, string ProjecOwnertWalletID) { var payInObject = await _mangoPayApi.PayIns.Get(transactionId); long transactionTotalAmount = 0; var projectOwnerAmount = 0; var mangoPayFeesAmount = 0; if (payInObject.Status == TransactionStatus.SUCCEEDED) { transactionTotalAmount = payInObject.DebitedFunds.Amount; projectOwnerAmount = CalculateProjectOwnerTotalAmount(transactionTotalAmount) * 100; var projectwnerTransfertObject = new MangoPayTransfertObject { DebitedWalletID = payInObject.CreditedWalletId, CreditedWalletId = ProjecOwnertWalletID, TotalAmount = projectOwnerAmount, FeesAmount = 0 }; mangoPayFeesAmount = Convert.ToInt32(transactionTotalAmount) - projectOwnerAmount; var commissionTransfertObject = new MangoPayTransfertObject { DebitedWalletID = payInObject.CreditedWalletId, CreditedWalletId = _stirblockCommisionWalletId, TotalAmount = mangoPayFeesAmount, FeesAmount = 0 }; var transfertToProjectOwnerDone = await TransfertMoneyToCantonmentWallet(projectwnerTransfertObject.DebitedWalletID, projectwnerTransfertObject.CreditedWalletId, projectwnerTransfertObject.TotalAmount, projectwnerTransfertObject.FeesAmount); var transfertToCommissionDone = await TransfertMangoPayFeesToCommissionWallet(commissionTransfertObject.DebitedWalletID, commissionTransfertObject.CreditedWalletId, commissionTransfertObject.TotalAmount, commissionTransfertObject.FeesAmount); if (transfertToProjectOwnerDone && transfertToCommissionDone) { return(true); } else { return(false); } } else { return(false); } }