minor fixes

This commit is contained in:
2026-07-04 19:08:36 +02:00
parent b983a9c301
commit 525f466541
4 changed files with 38 additions and 32 deletions

View File

@@ -38,10 +38,15 @@ public class TransactionService {
return BigDecimal.ZERO;
}
Currency currency = currencyService.findCurrencyByIsoCode(transaction.getCreditCurrency().name());
Currency debitCurrency = currencyService.findCurrencyByIsoCode(transaction.getDebitCurrency().name());
Currency creditCurrency = currencyService.findCurrencyByIsoCode(transaction.getCreditCurrency().name());
BigDecimal bankRate = new BigDecimal(currency.getBankRate());
BigDecimal creditAmount = transaction.getAmount().multiply(bankRate).setScale(4, RoundingMode.HALF_EVEN);
BigDecimal debitBankRate = new BigDecimal(debitCurrency.getBankRate());
BigDecimal creditBankRate = new BigDecimal(creditCurrency.getBankRate());
BigDecimal bankRate = creditBankRate.divide(debitBankRate, 4, RoundingMode.HALF_UP);
BigDecimal creditAmount = transaction.getAmount().multiply(bankRate).setScale(4, RoundingMode.HALF_UP);
transaction.setCreditAmount(creditAmount);
return creditAmount;

View File

@@ -181,7 +181,7 @@ public class VelocityPaymentService {
? "VMC" : transaction.getPaymentProcessorLabel();
VelocityTransactionDto payload = VelocityTransactionDto.builder()
.salesOrderId(transaction.getOrderId())
.amount(transaction.getTotalAmount())
.amount(transaction.getCreditAmount())
.debitPhone(transaction.getDebitPhone())
.debitRegion("ZW")
.type("REQUEST")

View File

@@ -69,11 +69,7 @@ public class ZesaConfirmationHotProcessor implements TransactionProcessorInterfa
transaction.setCreditCurrency(CurrencyType.USD);
}
if(transaction.getDebitCurrency().equals(CurrencyType.USD) && transaction.getCreditCurrency().equals(CurrencyType.ZWG)) {
transaction.setCreditAmount(transactionService.calculateCreditAmount(transaction));
}else {
transaction.setCreditAmount(transaction.getAmount());
}
transaction.setCreditAmount(transactionService.calculateCreditAmount(transaction));
// token should've been updated by checkCustomer
if (!hotRechargeBalanceService.checkBalance(token, transaction.getCreditAmount(), accId)) {
@@ -85,6 +81,7 @@ public class ZesaConfirmationHotProcessor implements TransactionProcessorInterfa
transaction.setStatus(Status.SUCCESS);
transaction.setResponseCode("00");
transaction.setCreditPhone(transaction.getDebitPhone());
List<Map<String, String>> additionalDataList = buildAdditionalData(customerData);
transaction.setAdditionalData(additionalDataList);

View File

@@ -128,29 +128,7 @@ public class HotRechargeIntegrationProcessor implements TransactionProcessorInte
throw new RuntimeException(e);
}
logger.info("Simulating HotRecharge success");
return Utils.fromJson("{\n" +
" \"successful\": true,\n" +
" \"rechargeId\": 1.9080854E8,\n" +
" \"amount\": 265.0,\n" +
" \"discount\": 1.2,\n" +
" \"balance\": {\n" +
" \"accountTypeId\": 2.0,\n" +
" \"name\": \"Utility ZWG\",\n" +
" \"balance\": 3306.32\n" +
" },\n" +
" \"message\": \"Transaction processed successfully\",\n" +
" \"rechargeData\": {\n" +
" \"Network\": \"ZESA\",\n" +
" \"Target\": \"07088597534\",\n" +
" \"Cost\": \"261.8200\",\n" +
" \"Token\": \"6616 0517 2063 6675 8254\",\n" +
" \"Units\": \"40.92\",\n" +
" \"NetAmount\": \"250\",\n" +
" \"TaxAmount\": \"0\",\n" +
" \"Levy\": \"15\",\n" +
" \"Arrears\": \"0\"\n" +
" }\n" +
"}", LinkedHashMap.class);
return getZesaPayload();
}
try {
@@ -262,6 +240,32 @@ public class HotRechargeIntegrationProcessor implements TransactionProcessorInte
return additionalDataList;
}
private LinkedHashMap<String, Object> getZesaPayload() {
return Utils.fromJson("{\n" +
" \"successful\": true,\n" +
" \"rechargeId\": 1.9080854E8,\n" +
" \"amount\": 265.0,\n" +
" \"discount\": 1.2,\n" +
" \"balance\": {\n" +
" \"accountTypeId\": 2.0,\n" +
" \"name\": \"Utility ZWG\",\n" +
" \"balance\": 3306.32\n" +
" },\n" +
" \"message\": \"Transaction processed successfully\",\n" +
" \"rechargeData\": {\n" +
" \"Network\": \"ZESA\",\n" +
" \"Target\": \"07088597534\",\n" +
" \"Cost\": \"261.8200\",\n" +
" \"Token\": \"6616 0517 2063 6675 8254\",\n" +
" \"Units\": \"40.92\",\n" +
" \"NetAmount\": \"250\",\n" +
" \"TaxAmount\": \"0\",\n" +
" \"Levy\": \"15\",\n" +
" \"Arrears\": \"0\"\n" +
" }\n" +
"}", LinkedHashMap.class);
}
@Override
public Object reverse(Transaction transaction) {
return transaction;