Browse Source

refund complete

master
mohammedthaqi 3 years ago
parent
commit
60390017eb
  1. 8
      pom.xml
  2. 20
      src/main/java/com/test/world/DTO/Merchant.java
  3. 13
      src/main/java/com/test/world/DTO/RefundRequest.java
  4. 57
      src/main/java/com/test/world/DTO/Transaction.java
  5. 27
      src/main/java/com/test/world/DTO/TransactionData.java
  6. 75
      src/main/java/com/test/world/controller/APIController.java
  7. 21
      src/main/java/com/test/world/controller/PaymentController.java
  8. 31
      src/main/java/com/test/world/refund/DTO/ErrorDetails.java
  9. 98
      src/main/java/com/test/world/refund/DTO/PaymentMethod.java
  10. 172
      src/main/java/com/test/world/refund/DTO/PaymentTransaction.java
  11. 84
      src/main/java/com/test/world/refund/DTO/TransactionRefundResponse.java
  12. 2
      src/main/resources/templates/PaymentResponse.html
  13. 2
      target/classes/META-INF/maven/com.test/world/pom.properties
  14. 8
      target/classes/META-INF/maven/com.test/world/pom.xml
  15. BIN
      target/classes/com/test/world/DTO/Merchant.class
  16. BIN
      target/classes/com/test/world/DTO/RefundRequest.class
  17. BIN
      target/classes/com/test/world/DTO/Transaction.class
  18. BIN
      target/classes/com/test/world/DTO/TransactionData.class
  19. BIN
      target/classes/com/test/world/controller/APIController.class
  20. BIN
      target/classes/com/test/world/controller/PaymentController.class
  21. BIN
      target/classes/com/test/world/refund/DTO/ErrorDetails.class
  22. BIN
      target/classes/com/test/world/refund/DTO/PaymentMethod.class
  23. BIN
      target/classes/com/test/world/refund/DTO/PaymentTransaction.class
  24. BIN
      target/classes/com/test/world/refund/DTO/TransactionRefundResponse.class
  25. 2
      target/classes/templates/PaymentResponse.html

8
pom.xml

@ -26,7 +26,13 @@
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
</dependencies>

20
src/main/java/com/test/world/DTO/Merchant.java

@ -0,0 +1,20 @@
package com.test.world.DTO;
import org.springframework.stereotype.Component;
@Component
public class Merchant {
private String identifier;
public String getIdentifier() {
return identifier;
}
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
}

13
src/main/java/com/test/world/DTO/RefundRequest.java

@ -7,6 +7,19 @@ public class RefundRequest {
private HashMap<String, String> merchant;
private HashMap<String,String> transaction;
public HashMap<String, String> getMerchant() {
return merchant;
}
public void setMerchant(HashMap<String, String> merchant) {
this.merchant = merchant;
}
public HashMap<String, String> getTransaction() {
return transaction;
}
public void setTransaction(HashMap<String, String> transaction) {
this.transaction = transaction;
}
}

57
src/main/java/com/test/world/DTO/Transaction.java

@ -0,0 +1,57 @@
package com.test.world.DTO;
import org.springframework.stereotype.Component;
@Component
public class Transaction {
private String amount;
private String identifier;
private String dateTime;
private String requestType;
private String token;
private String reference;
public String getAmount() {
return amount;
}
public void setAmount(String amount) {
this.amount = amount;
}
public String getIdentifier() {
return identifier;
}
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
public String getDateTime() {
return dateTime;
}
public void setDateTime(String dateTime) {
this.dateTime = dateTime;
}
public String getRequestType() {
return requestType;
}
public void setRequestType(String requestType) {
this.requestType = requestType;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getReference() {
return reference;
}
public void setReference(String reference) {
this.reference = reference;
}
}

27
src/main/java/com/test/world/DTO/TransactionData.java

@ -0,0 +1,27 @@
package com.test.world.DTO;
public class TransactionData {
private Merchant merchant;
private Transaction transaction;
public Merchant getMerchant() {
return merchant;
}
public void setMerchant(Merchant merchant) {
this.merchant = merchant;
}
public Transaction getTransaction() {
return transaction;
}
public void setTransaction(Transaction transaction) {
this.transaction = transaction;
}
}

75
src/main/java/com/test/world/controller/APIController.java

@ -5,31 +5,30 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import com.test.world.DTO.Merchant;
import com.test.world.DTO.PensionerResponse;
//import com.test.world.DTO.EmployeetoPensionerDetailsDTO;
import com.test.world.DTO.RefundRequest;
import com.test.world.DTO.Transaction;
import com.test.world.DTO.TransactionData;
import com.test.world.refund.DTO.TransactionRefundResponse;
import com.test.world.service.PaymentGatewayService;
@RestController
public class APIController {
/*
* @GetMapping("/api/save") public PenstionerDTO save() { PenstionerDTO pt = new
* PenstionerDTO(); List<EmployeetoPensionerDetailsDTO> emptopn = new
* ArrayList<EmployeetoPensionerDetailsDTO>(); EmployeetoPensionerDetailsDTO dto
* = new EmployeetoPensionerDetailsDTO(); dto.setDepartment("jdfi");
* emptopn.add(dto); pt.set_PensionerDetailsResult(emptopn);
* pt.set_Message("ok"); pt.set_ResultStatus(true);
*
* return pt;
*
* }
*/
@Autowired
PaymentGatewayService paymentService;
@GetMapping("/api/all")
public PensionerResponse getAll() {
RestTemplate restTemplate = new RestTemplate();
@ -56,5 +55,55 @@ public class APIController {
}
@GetMapping(value="/refund")
public ResponseEntity<?> refundAmount(Model model) throws Exception {
System.out.println("Refund Api call.......working on it");
Merchant merchant = new Merchant();
merchant.setIdentifier("T955031");
Transaction transaction = new Transaction();
transaction.setAmount("10.00");
transaction.setIdentifier("");
transaction.setDateTime("17-02-2024");
transaction.setRequestType("R");
transaction.setToken("");
transaction.setReference("1707115835226");
TransactionData transactionData = new TransactionData();
transactionData.setMerchant(merchant);
transactionData.setTransaction(transaction);
// Serialize TransactionData object to JSON string
Gson gson = new Gson();
String json = gson.toJson(transactionData);
// Print the JSON string
System.out.println(json);
String enKey = "1025180466GPADTD";
String enIV="3232693456UWOWHC";
String encryptHxRefund = this.paymentService.encryptHxRefund(json, enIV.getBytes(), enKey.getBytes());
RestTemplate resttemplate = new RestTemplate();
String Url ="https://www.tpsl-india.in/PaymentGateway/merchant2.pg/T955031";
ResponseEntity<String> postForEntity = resttemplate.postForEntity(Url, encryptHxRefund, String.class);
String decryptHxTRefund = this.paymentService.decryptHxTRefund(postForEntity.getBody(), enIV.getBytes(), enKey.getBytes());
try {
ObjectMapper objectMapper = new ObjectMapper();
// Deserialize JSON string into Java class object
TransactionRefundResponse myObject = objectMapper.readValue(decryptHxTRefund, TransactionRefundResponse.class);
// Print the object
System.out.println(myObject.toString());
return ResponseEntity.ok(myObject);
} catch (Exception e) {
e.printStackTrace();
}
return ResponseEntity.ok(decryptHxTRefund);
}
}

21
src/main/java/com/test/world/controller/PaymentController.java

@ -3,6 +3,8 @@ package com.test.world.controller;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@ -12,6 +14,7 @@ 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.DTO.RefundRequest;
import com.test.world.service.PaymentGatewayService;
@ -24,7 +27,7 @@ public class PaymentController {
@GetMapping(value = {"","/","/index"})
public String startPayment(Model model) throws NoSuchAlgorithmException {
String txansactionId="1707115835225"; //create transaction Id unique from our side
String txansactionId="1707115835226"; //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
@ -95,6 +98,22 @@ public class PaymentController {
@GetMapping(value="/refund")
public String refundAmount(Model model) {
System.out.println("Refund Api call.......working on it");
RefundRequest rr = new RefundRequest();
HashMap<String,String> merchant = new HashMap<String,String>();
merchant.put("identifier", "T955031");
rr.setMerchant(merchant);
HashMap<String,String> transaction = new HashMap<String,String>();
transaction.put("amount", "10");
transaction.put("identifier", "");
transaction.put("dateTime", "");
transaction.put("requestType", "R");
transaction.put("token", "");
transaction.put("reference", "1707115835225");
rr.setTransaction(transaction);
model.addAttribute("msg",rr);
return "PaymentResponse";

31
src/main/java/com/test/world/refund/DTO/ErrorDetails.java

@ -0,0 +1,31 @@
package com.test.world.refund.DTO;
import com.fasterxml.jackson.annotation.JsonProperty;
public class ErrorDetails {
@JsonProperty("code")
private String errorCode;
@JsonProperty("desc")
private String errorDescription;
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
public String getErrorDescription() {
return errorDescription;
}
public void setErrorDescription(String errorDescription) {
this.errorDescription = errorDescription;
}
}

98
src/main/java/com/test/world/refund/DTO/PaymentMethod.java

@ -0,0 +1,98 @@
package com.test.world.refund.DTO;
public class PaymentMethod {
private String token;
private String instrumentAliasName;
private String instrumentToken;
private String bankSelectionCode;
private PaymentTransaction paymentTransaction;
private Object authentication;
private ErrorDetails error;
private Object desItc;
private Object walletDetails;
private String paymentMode;
private String aCS;
private String oTP;
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getInstrumentAliasName() {
return instrumentAliasName;
}
public void setInstrumentAliasName(String instrumentAliasName) {
this.instrumentAliasName = instrumentAliasName;
}
public String getInstrumentToken() {
return instrumentToken;
}
public void setInstrumentToken(String instrumentToken) {
this.instrumentToken = instrumentToken;
}
public String getBankSelectionCode() {
return bankSelectionCode;
}
public void setBankSelectionCode(String bankSelectionCode) {
this.bankSelectionCode = bankSelectionCode;
}
public PaymentTransaction getPaymentTransaction() {
return paymentTransaction;
}
public void setPaymentTransaction(PaymentTransaction paymentTransaction) {
this.paymentTransaction = paymentTransaction;
}
public Object getAuthentication() {
return authentication;
}
public void setAuthentication(Object authentication) {
this.authentication = authentication;
}
public ErrorDetails getError() {
return error;
}
public void setError(ErrorDetails error) {
this.error = error;
}
public Object getDesItc() {
return desItc;
}
public void setDesItc(Object desItc) {
this.desItc = desItc;
}
public Object getWalletDetails() {
return walletDetails;
}
public void setWalletDetails(Object walletDetails) {
this.walletDetails = walletDetails;
}
public String getPaymentMode() {
return paymentMode;
}
public void setPaymentMode(String paymentMode) {
this.paymentMode = paymentMode;
}
public String getaCS() {
return aCS;
}
public void setaCS(String aCS) {
this.aCS = aCS;
}
public String getoTP() {
return oTP;
}
public void setoTP(String oTP) {
this.oTP = oTP;
}
}

172
src/main/java/com/test/world/refund/DTO/PaymentTransaction.java

@ -0,0 +1,172 @@
package com.test.world.refund.DTO;
public class PaymentTransaction {
private String amount;
private String balanceAmount;
private String bankReferenceIdentifier;
private String dateTime;
private String errorMessage;
private String identifier;
private String refundIdentifier;
private String statusCode;
private String statusMessage;
private String instruction;
private String reference;
private String refundDdetails;
private Object otherDetails;
private String rrnNumber;
private String authCode;
private String retTranStatus;
private String paymentDate;
private String bankName;
private String paymentModeCode;
private String cardType;
private String cardExpiry;
private String mandateId;
private String cardTokenStatus;
public String getAmount() {
return amount;
}
public void setAmount(String amount) {
this.amount = amount;
}
public String getBalanceAmount() {
return balanceAmount;
}
public void setBalanceAmount(String balanceAmount) {
this.balanceAmount = balanceAmount;
}
public String getBankReferenceIdentifier() {
return bankReferenceIdentifier;
}
public void setBankReferenceIdentifier(String bankReferenceIdentifier) {
this.bankReferenceIdentifier = bankReferenceIdentifier;
}
public String getDateTime() {
return dateTime;
}
public void setDateTime(String dateTime) {
this.dateTime = dateTime;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
public String getIdentifier() {
return identifier;
}
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
public String getRefundIdentifier() {
return refundIdentifier;
}
public void setRefundIdentifier(String refundIdentifier) {
this.refundIdentifier = refundIdentifier;
}
public String getStatusCode() {
return statusCode;
}
public void setStatusCode(String statusCode) {
this.statusCode = statusCode;
}
public String getStatusMessage() {
return statusMessage;
}
public void setStatusMessage(String statusMessage) {
this.statusMessage = statusMessage;
}
public String getInstruction() {
return instruction;
}
public void setInstruction(String instruction) {
this.instruction = instruction;
}
public String getReference() {
return reference;
}
public void setReference(String reference) {
this.reference = reference;
}
public String getRefundDdetails() {
return refundDdetails;
}
public void setRefundDdetails(String refundDdetails) {
this.refundDdetails = refundDdetails;
}
public Object getOtherDetails() {
return otherDetails;
}
public void setOtherDetails(Object otherDetails) {
this.otherDetails = otherDetails;
}
public String getRrnNumber() {
return rrnNumber;
}
public void setRrnNumber(String rrnNumber) {
this.rrnNumber = rrnNumber;
}
public String getAuthCode() {
return authCode;
}
public void setAuthCode(String authCode) {
this.authCode = authCode;
}
public String getRetTranStatus() {
return retTranStatus;
}
public void setRetTranStatus(String retTranStatus) {
this.retTranStatus = retTranStatus;
}
public String getPaymentDate() {
return paymentDate;
}
public void setPaymentDate(String paymentDate) {
this.paymentDate = paymentDate;
}
public String getBankName() {
return bankName;
}
public void setBankName(String bankName) {
this.bankName = bankName;
}
public String getPaymentModeCode() {
return paymentModeCode;
}
public void setPaymentModeCode(String paymentModeCode) {
this.paymentModeCode = paymentModeCode;
}
public String getCardType() {
return cardType;
}
public void setCardType(String cardType) {
this.cardType = cardType;
}
public String getCardExpiry() {
return cardExpiry;
}
public void setCardExpiry(String cardExpiry) {
this.cardExpiry = cardExpiry;
}
public String getMandateId() {
return mandateId;
}
public void setMandateId(String mandateId) {
this.mandateId = mandateId;
}
public String getCardTokenStatus() {
return cardTokenStatus;
}
public void setCardTokenStatus(String cardTokenStatus) {
this.cardTokenStatus = cardTokenStatus;
}
}

84
src/main/java/com/test/world/refund/DTO/TransactionRefundResponse.java

@ -0,0 +1,84 @@
package com.test.world.refund.DTO;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
public class TransactionRefundResponse {
private String merchantCode;
private String merchantTransactionIdentifier;
private String merchantTransactionRequestType;
private String responseType;
private String transactionState;
private PaymentMethod paymentMethod;
private ErrorDetails error;
// @JsonIgnoreProperties("merchantAdditionalDetails")
private String merchantAdditionalDetails;
public String getMerchantCode() {
return merchantCode;
}
public void setMerchantCode(String merchantCode) {
this.merchantCode = merchantCode;
}
public String getMerchantTransactionIdentifier() {
return merchantTransactionIdentifier;
}
public void setMerchantTransactionIdentifier(String merchantTransactionIdentifier) {
this.merchantTransactionIdentifier = merchantTransactionIdentifier;
}
public String getMerchantTransactionRequestType() {
return merchantTransactionRequestType;
}
public void setMerchantTransactionRequestType(String merchantTransactionRequestType) {
this.merchantTransactionRequestType = merchantTransactionRequestType;
}
public String getResponseType() {
return responseType;
}
public void setResponseType(String responseType) {
this.responseType = responseType;
}
public String getTransactionState() {
return transactionState;
}
public void setTransactionState(String transactionState) {
this.transactionState = transactionState;
}
public PaymentMethod getPaymentMethod() {
return paymentMethod;
}
public void setPaymentMethod(PaymentMethod paymentMethod) {
this.paymentMethod = paymentMethod;
}
public ErrorDetails getError() {
return error;
}
public void setError(ErrorDetails error) {
this.error = error;
}
public String getMerchantAdditionalDetails() {
return merchantAdditionalDetails;
}
public void setMerchantAdditionalDetails(String merchantAdditionalDetails) {
this.merchantAdditionalDetails = merchantAdditionalDetails;
}
@Override
public String toString() {
return "MyClass{" +
"merchantCode='" + merchantCode + '\'' +
", merchantTransactionIdentifier='" + merchantTransactionIdentifier + '\'' +
", merchantTransactionRequestType='" + merchantTransactionRequestType + '\'' +
", responseType='" + responseType + '\'' +
", transactionState='" + transactionState + '\'' +
", paymentMethod=" + paymentMethod +
", error=" + error +
'}';
}
}

2
src/main/resources/templates/PaymentResponse.html

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<title>GCC Community</title>
<script>
let res =[[${msg}]];
let res =/*[[${msg}]]*/"";
console.log(res);
</script>
</head>

2
target/classes/META-INF/maven/com.test/world/pom.properties

@ -1,5 +1,5 @@
#Generated by Maven Integration for Eclipse
#Fri Feb 16 21:56:31 IST 2024
#Sat Feb 17 12:08:18 IST 2024
m2e.projectLocation=D\:\\WorldLine_payment_gateway\\world
m2e.projectName=world
groupId=com.test

8
target/classes/META-INF/maven/com.test/world/pom.xml

@ -26,7 +26,13 @@
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
</dependencies>

BIN
target/classes/com/test/world/DTO/Merchant.class

BIN
target/classes/com/test/world/DTO/RefundRequest.class

BIN
target/classes/com/test/world/DTO/Transaction.class

BIN
target/classes/com/test/world/DTO/TransactionData.class

BIN
target/classes/com/test/world/controller/APIController.class

BIN
target/classes/com/test/world/controller/PaymentController.class

BIN
target/classes/com/test/world/refund/DTO/ErrorDetails.class

BIN
target/classes/com/test/world/refund/DTO/PaymentMethod.class

BIN
target/classes/com/test/world/refund/DTO/PaymentTransaction.class

BIN
target/classes/com/test/world/refund/DTO/TransactionRefundResponse.class

2
target/classes/templates/PaymentResponse.html

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<title>GCC Community</title>
<script>
let res =[[${msg}]];
let res =/*[[${msg}]]*/"";
console.log(res);
</script>
</head>

Loading…
Cancel
Save