我正在尝试通过UPI超链接付款,例如
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
Run Code Online (Sandbox Code Playgroud)
在完成UPI付款后,不会调用处理https://test.com/payment/orderId=12345的“回调”请求的Spring控制器。
那么如何在Java中正确获得UPI超链接付款的响应呢?
编辑:
这是控制器方法。我也尝试过@GetMapping代替@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;
}
Run Code Online (Sandbox Code Playgroud)
Fat*_*teh -1
您的问题在于您的方法签名。尝试将响应添加到您的方法参数中,以便您可以获得响应对象。将您的方法更改为:
public ModelAndView credPayment(HttpServletRequest request, HttpServletResponse response)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
208 次 |
| 最近记录: |