diff --git a/build.gradle b/build.gradle index 27458ee..80e8fe7 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ jar { enabled = false } group = 'org.simpmc' -version = '1.3.4' +version = '1.3.5' subprojects { apply plugin: 'java-library' diff --git a/simppay-paper/src/main/java/org/simpmc/simppay/handler/CardHandler.java b/simppay-paper/src/main/java/org/simpmc/simppay/handler/CardHandler.java index abcd279..e9db905 100644 --- a/simppay-paper/src/main/java/org/simpmc/simppay/handler/CardHandler.java +++ b/simppay-paper/src/main/java/org/simpmc/simppay/handler/CardHandler.java @@ -97,29 +97,29 @@ public CompletableFuture postFormData(List> formData protected PaymentResult getNencerAPIResult(CardDetail detail, String response) { JsonObject jsonResponse = JsonParser.parseString(response).getAsJsonObject(); - if (jsonResponse.get("message").getAsString().equals("VALID_CARD")) { - if (jsonResponse.get("declared_value").getAsInt() != jsonResponse.get("value").getAsInt()) { - return new PaymentResult( - PaymentStatus.WRONG_PRICE, - jsonResponse.get("value").getAsInt(), - "Sai menh gia, menh gia thuc la: " + jsonResponse.get("declared_value").getAsString() - ); - } else { + if (jsonResponse.get("status").getAsInt() == 1) { return new PaymentResult( PaymentStatus.SUCCESS, (int) detail.getAmount(), jsonResponse.get("message").getAsString() ); - } + + } + if (jsonResponse.get("status").getAsInt() == 2) { + return new PaymentResult( + PaymentStatus.WRONG_PRICE, + jsonResponse.get("value").getAsInt(), + "Sai menh gia, menh gia thuc la: " + jsonResponse.get("declared_value").getAsString() + ); } - if (jsonResponse.get("message").getAsString().equals("INVALID_CARD")) { + if (jsonResponse.get("status").getAsInt() == 3) { return new PaymentResult( PaymentStatus.FAILED, (int) detail.getAmount(), jsonResponse.get("message").getAsString() ); } - if (jsonResponse.get("message").getAsString().equals("PENDING")) { + if (jsonResponse.get("status").getAsInt() == 99) { return new PaymentResult( PaymentStatus.PENDING, (int) detail.getAmount(), diff --git a/simppay-paper/src/main/java/org/simpmc/simppay/listener/internal/payment/PaymentHandlingListener.java b/simppay-paper/src/main/java/org/simpmc/simppay/listener/internal/payment/PaymentHandlingListener.java index 5586388..403466b 100644 --- a/simppay-paper/src/main/java/org/simpmc/simppay/listener/internal/payment/PaymentHandlingListener.java +++ b/simppay-paper/src/main/java/org/simpmc/simppay/listener/internal/payment/PaymentHandlingListener.java @@ -97,7 +97,9 @@ private void addTaskChecking(PaymentQueueSuccessEvent event) { // handle failed callEventSync(new PaymentFailedEvent(event.getPayment())); SPPlugin.getService(PaymentService.class).getPollingPayments().remove(event.getPayment().getPaymentID()); - SPPlugin.getService(PaymentService.class).cancelBankPayment(event.getPayment().getPlayerUUID()); + if (event.getPaymentType() == PaymentType.BANKING) { + SPPlugin.getService(PaymentService.class).cancelBankPayment(event.getPayment().getPlayerUUID()); + } task.cancel(); } case PENDING -> {