From f4a2879f89da988d9c7978cf37a6d23539a84ded Mon Sep 17 00:00:00 2001 From: mohammedthaqi Date: Sat, 17 Feb 2024 11:31:27 +0530 Subject: [PATCH] refund-process --- .classpath | 1 + .../com/test/world/DTO/RefundRequest.java | 12 +++ .../world/controller/PaymentController.java | 93 ++++++++---------- .../world/service/PaymentGatewayService.java | 20 ++++ .../service/PaymentGatewayServiceImpl.java | 92 +++++++++++++++++ .../com/test/world/service/WorldService.java | 5 - .../maven/com.test/world/pom.properties | 2 +- .../com/test/world/DTO/RefundRequest.class | Bin 0 -> 453 bytes .../world/controller/PaymentController.class | Bin 3938 -> 4053 bytes .../world/service/PaymentGatewayService.class | Bin 0 -> 660 bytes .../service/PaymentGatewayServiceImpl.class | Bin 0 -> 3642 bytes .../com/test/world/service/WorldService.class | Bin 307 -> 0 bytes 12 files changed, 167 insertions(+), 58 deletions(-) create mode 100644 src/main/java/com/test/world/DTO/RefundRequest.java create mode 100644 src/main/java/com/test/world/service/PaymentGatewayService.java create mode 100644 src/main/java/com/test/world/service/PaymentGatewayServiceImpl.java delete mode 100644 src/main/java/com/test/world/service/WorldService.java create mode 100644 target/classes/com/test/world/DTO/RefundRequest.class create mode 100644 target/classes/com/test/world/service/PaymentGatewayService.class create mode 100644 target/classes/com/test/world/service/PaymentGatewayServiceImpl.class delete mode 100644 target/classes/com/test/world/service/WorldService.class diff --git a/.classpath b/.classpath index 3496f14..d48976d 100644 --- a/.classpath +++ b/.classpath @@ -37,5 +37,6 @@ + diff --git a/src/main/java/com/test/world/DTO/RefundRequest.java b/src/main/java/com/test/world/DTO/RefundRequest.java new file mode 100644 index 0000000..7974efb --- /dev/null +++ b/src/main/java/com/test/world/DTO/RefundRequest.java @@ -0,0 +1,12 @@ +package com.test.world.DTO; + +import java.util.HashMap; + +public class RefundRequest { + + private HashMap merchant; + private HashMap transaction; + + + +} diff --git a/src/main/java/com/test/world/controller/PaymentController.java b/src/main/java/com/test/world/controller/PaymentController.java index a95035c..9348e79 100644 --- a/src/main/java/com/test/world/controller/PaymentController.java +++ b/src/main/java/com/test/world/controller/PaymentController.java @@ -4,6 +4,7 @@ import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @@ -11,23 +12,28 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; +import com.test.world.service.PaymentGatewayService; + @Controller @RequestMapping("/payment") public class PaymentController { + + @Autowired + PaymentGatewayService paymentService; @GetMapping(value = {"","/","/index"}) public String startPayment(Model model) throws NoSuchAlgorithmException { - String txansactionId="1707115835222"; //create transaction Id unique from our side + String txansactionId="1707115835225"; //create transaction Id unique from our side String amt = "10"; //Amount of Community Hall from our side String merchantId="T955031|"; //This is Test Merchant ID from worldLine String txnId= txansactionId+"|"; String totalAmt=amt+"|"; String accountNo="|"; - String consumerId="c964634"+"|"; // Replace consumer ID in c964634 from our side - String consumerMobileNo="9879879870"+"|"; //Replace consumer Mobile no in 9879879870 from our side - String consumerEmailId="mohammedthaqi@bontonsoftwares.com"+"|"; //replace consumer email Id from our side + String consumerId="c964634|"; // Replace consumer ID in c964634 from our side + String consumerMobileNo="7845014181|"; //Replace consumer Mobile no in 9879879870 from our side + String consumerEmailId="mohammedthaqi@bontonsoftwares.com|"; //replace consumer email Id String debitStartDate="|"; String debitEndDate="|"; String maxAmount="|"; @@ -37,42 +43,49 @@ public class PaymentController { String expMonth="|"; String expYear="|"; String cvvCode="|"; - String salt="1025180466GPADTD"; //This is Test salt from worldLine + String salt="1025180466GPADTD"; String token=merchantId+txnId+totalAmt+accountNo+consumerId+consumerMobileNo+ consumerEmailId+debitStartDate+debitEndDate+maxAmount+amountType+ frequency+cardNumber+expMonth+expYear+cvvCode+salt; - - //Generate token using SHA-512 or SHA-256 - MessageDigest md = MessageDigest.getInstance("SHA-512"); - md.update(token.getBytes()); - - byte[] bytes = md.digest(); - - BigInteger bigInt = new BigInteger(1, bytes); - String encryptedtoken = bigInt.toString(16); - - while (encryptedtoken.length() < 128) { - encryptedtoken = "0" + encryptedtoken; - }; - System.out.println(token); - System.out.println("Encrypted Password: " + encryptedtoken); + + String encryptedtoken = paymentService.generateToken(token); + model.addAttribute("txansactionId",txansactionId); model.addAttribute("token",encryptedtoken); model.addAttribute("amount",amt); - //check the Index page Configuration of WorldLine return "index"; } @PostMapping(value = "/response") - public String response(Model model, @RequestParam(required = false) String msg){ - + public String response(Model model, @RequestParam(required = false) String msg) throws NoSuchAlgorithmException{ + String salt = "1025180466GPADTD"; //Here you will receive the response System.out.println(msg); - + String confirmToken=""; + String status="success"; String s = new String(msg); + String c = new String(); String res[] =s.split("\\|"); for(int i=0;ib%7 literal 0 HcmV?d00001 diff --git a/target/classes/com/test/world/controller/PaymentController.class b/target/classes/com/test/world/controller/PaymentController.class index c45a3e66448079efd33bef6915028ab6a518d4b2..c478afa33d056fe9f8994aa7f00cded2e78fdfcb 100644 GIT binary patch literal 4053 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 Vzu|5H{MI{BrL@lXo0Tx!`VXHe%Z2~| diff --git a/target/classes/com/test/world/service/PaymentGatewayService.class b/target/classes/com/test/world/service/PaymentGatewayService.class new file mode 100644 index 0000000000000000000000000000000000000000..fe9dafbe7680d9611a6752e6d09736a6bacbfe89 GIT binary patch literal 660 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