如何在spring控制器中配置paypal ipn监听器响应

Posted

技术标签:

【中文标题】如何在spring控制器中配置paypal ipn监听器响应【英文标题】:how to configure paypal ipn listener response in spring controller 【发布时间】:2019-04-06 15:09:02 【问题描述】:

如何在 spring 控制器中配置 Pay pal 即时付款通知侦听器响应。也可以在 IPN 侦听器 URL 中配置 Paypal IPN 侦听器,如下所示在 Paypal 商家配置文件中。 IPN 侦听器 URL = http://localhost:8080/UNI_VAT/payPalIpnListener

【问题讨论】:

嗨,欢迎来到 Stack Overflow。请您查看How to ask 指南吗?您的问题目前没有得到很多回应的形式具体来说,您应该编辑您的问题,以包括您迄今为止尝试过的步骤以及您遇到的问题。 【参考方案1】:

我已经在我的项目中成功完成了,所以希望这个答案对你有所帮助。

请按照以下步骤实施贝宝支付集成。

Paypal 端配置

1.登录paypal企业账号。

2.点击导航栏中的设置图标(如果你想使用URL,那么https://www.sandbox.paypal.com/businessprofile/settings就是URL。

3.你会得到如下画面。

4.点击我的销售工具>网站偏好(屏幕附在下面)

5.通过单击上方屏幕中的即时付款通知启用即时付款通知,您将进入以下屏幕(您将被要求输入一个 URL,您希望在付款成功或失败后将贝宝重定向到该 URL。请参见下面的屏幕IPN 已启用。

恭喜,您已完成支付宝支付所需的所有配置。

现在让我们来 JAVA 部分来处理来自 paypal 的成功/失败。

在控制器中创建一个方法来处理如下所示的贝宝重定向 URL(您将获得多个请求参数,如“st”、“amt”、“cc”、“tx”状态、金额、货币、交易 ID 等)。

@RequestMapping(value="/paypal/success")  //this url should map which you configured in step 5
    public String success(ModelMap modelMap,HttpServletRequest httpServletRequest,Model uiModel) throws Exception
        Enumeration<String> parameterNames = httpServletRequest.getParameterNames();

        while (parameterNames.hasMoreElements()) 

            String paramName = parameterNames.nextElement();
            System.out.println("paramName : "+paramName);
            String[] paramValues = httpServletRequest.getParameterValues(paramName);

            for (int i = 0; i < paramValues.length; i++) 
                String paramValue = paramValues[i];
                System.out.println("paramName : " + paramName+ ",paramValue : " + paramValue);
                //your logic goes here

            
        

    

【讨论】:

感谢您的帮助,但在 Paytab 商家帐户中启用即时付款通知时遇到问题。

以上是关于如何在spring控制器中配置paypal ipn监听器响应的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP 中使用 IPN(即时付款通知)在 Paypal 中配置定期付款

如何配置paypal定期付款IPN url

购买后如何配置 Paypals IPN 以编辑 MySQL 数据库?

无法在 paypal 中配置 PDT 或 IPN

PayPal IPN 无法连接取消定期计费

触发 rails 控制器功能 - Paypal 网站标准 IPN