小编Nil*_*tel的帖子

如何获得对UPI超链接支付中指定的URL的响应

我正在尝试通过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应用程序列表作为选项
  • 我选择了BHIM应用(也尝试过其他应用)
  • 然后完成付款,直到现在一切正常。

在完成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(); …
Run Code Online (Sandbox Code Playgroud)

java spring

8
推荐指数
1
解决办法
208
查看次数

标签 统计

java ×1

spring ×1