diff --git a/src/main/java/zw/qantra/tm/domain/dtos/SdkActionDto.java b/src/main/java/zw/qantra/tm/domain/dtos/SdkActionDto.java index 9e784d9..e3fbc5a 100644 --- a/src/main/java/zw/qantra/tm/domain/dtos/SdkActionDto.java +++ b/src/main/java/zw/qantra/tm/domain/dtos/SdkActionDto.java @@ -24,5 +24,6 @@ public class SdkActionDto { private Boolean sandbox; private String paymentProcessorLabel; private String responseUrl; - + private String returnUrl; + } diff --git a/src/main/java/zw/qantra/tm/domain/services/processors/payments/MPGSWebPaymentProcessor.java b/src/main/java/zw/qantra/tm/domain/services/processors/payments/MPGSWebPaymentProcessor.java index 97941cd..d8da71f 100644 --- a/src/main/java/zw/qantra/tm/domain/services/processors/payments/MPGSWebPaymentProcessor.java +++ b/src/main/java/zw/qantra/tm/domain/services/processors/payments/MPGSWebPaymentProcessor.java @@ -42,6 +42,8 @@ public class MPGSWebPaymentProcessor implements TransactionProcessorInterface { private String clientSecret; @Value("${steward.payment.processor.url}") private String url; + @Value("${mpgs.return-url}") + private String returnUrl; @Override public Object process(Transaction transaction) throws Exception { @@ -75,6 +77,7 @@ public class MPGSWebPaymentProcessor implements TransactionProcessorInterface { .sandbox(true) .paymentProcessorLabel("MPGS") .responseUrl("https://stewardbank.co.zw") + .returnUrl(returnUrl + "/" + transaction.getReference()) .build(); HttpHeaders headers = new HttpHeaders(); diff --git a/src/main/java/zw/qantra/tm/domain/workflows/handlers/erp/PurchaseInvoiceHandler.java b/src/main/java/zw/qantra/tm/domain/workflows/handlers/erp/PurchaseInvoiceHandler.java index 04d605b..9245466 100644 --- a/src/main/java/zw/qantra/tm/domain/workflows/handlers/erp/PurchaseInvoiceHandler.java +++ b/src/main/java/zw/qantra/tm/domain/workflows/handlers/erp/PurchaseInvoiceHandler.java @@ -119,9 +119,9 @@ public class PurchaseInvoiceHandler implements HandlerInterface { Provider provider = providerService.getProviderRepository() .findByClientId(transaction.getBillClientId()); BigDecimal commissionPercentage = BigDecimal.valueOf(provider.getPercentageCommission()) - .divide(BigDecimal.valueOf(100), 2, RoundingMode.CEILING); + .divide(BigDecimal.valueOf(100), 4, RoundingMode.CEILING); BigDecimal commission = transaction.getAmount().multiply(commissionPercentage) - .setScale(2, RoundingMode.CEILING); + .setScale(4, RoundingMode.CEILING); BigDecimal amount = transaction.getAmount().subtract(commission); PurchaseTaxDto purchaseTaxDto = PurchaseTaxDto.builder() diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index b8bed82..c89b7f8 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -28,6 +28,8 @@ sbz.aggregator.encryption-key=91b5b3c7-860f-473c-ac5c-b12d9121819b steward.payment.processor.url=${sbz.merchant.url} +mpgs.return-url=https://vdt.co.zw/#/return + # ERPNext Configuration erpnext.url=http://62.171.179.108:8080/api erpnext.api.key=dff94c65b52ecbd