Ich versuche über einen UPI-Hyperlink wie zu bezahlen
upi://pay?pa=abc@upi&pn=payeeName&tr=1234&tn=Pay%20to%20payeeName&am=1&mam=1&cu=INR&url=https://test.com/payment/orderId=123456
- Ich sende den obigen Link per SMS
- Wenn ich auf den Link klicke, wird die UPI-Anwendungsliste als Option angezeigt
- Ich habe die BHIM-App ausgewählt (auch andere Anwendungen ausprobiert).
- Dann Zahlung abgeschlossen, bis jetzt funktioniert es gut.
Nach Abschluss der UPI-Zahlung wird der Spring-Controller, der die Rückrufanforderung an https://test.com/payment/orderId=12345 verarbeitet , nicht aufgerufen.
Wie kann man die Antwort auf die UPI Hyperlink-Zahlung in Java richtig erhalten?
Bearbeiten:
Dies ist die Controller-Methode. Ich habe es auch versucht @GetMappingstatt @PostMapping.
@PostMapping("/payment")
public ModelAndView credPayment(HttpServletRequest request) {
String key = request.getParameter("orderId");
String txnId = request.getParameter("txnId");
String responseCode = request.getParameter("responseCode");
String approvalRefNo = request.getParameter("ApprovalRefNo");
String status = request.getParameter("Status");
String txnRef = request.getParameter("txnRef");
System.out.println("Parameter Names");
while (request.getParameterNames().hasMoreElements()) {
System.out.println(request.getParameterNames().nextElement());
}
System.out.println("Header Names");
while (request.getHeaderNames().hasMoreElements()) {
System.out.println(request.getHeaderNames().nextElement());
}
System.out.println("txnId : "+txnId);
System.out.println("responseCode : "+responseCode);
System.out.println("ApprovalRefNo : "+approvalRefNo);
System.out.println("Status : "+status);
System.out.println("txnRef : "+txnRef);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("redirect:/");
return modelAndView;
}
System.out.println("Hello");in Controller
/payment/orderId=123456direkt von einem Browser aus anrufen können? Denn basierend auf Ihren Beispielen sollte es nicht möglich sein - sehen Sie sich die Antwort von MyTwoCents an ...
/payment/orderId=123456aus dem Internet anrufen und es funktioniert gut