我使用PayPal进行信用卡付款,如果用户点击确认按钮两次,则会有两个请求回来

时间:2017-07-20 08:14:24

标签: paypal struts-1

从我的java网络应用程序,我将重定向到paypal支付网关页面进行信用卡支付,并且在成功验证后,如果用户在paypal页面上单击确认按钮两次,则两个请求将返回到我的Struts 1操作并且由于该系统正在为用户抛出应用程序例外,同时从信用卡中扣除付款。我想接受第一个请求并停止第二个请求。如果有人遇到并解决了这个问题,请告诉我。

1 个答案:

答案 0 :(得分:1)

您需要使用令牌的概念。请注意,这不是一个完全有效的代码解决方案。

  1. 在加载JSP表单的Action类中创建并保存事务标记

    saveToken(request)

  2. 检查令牌在您处理表单提交的操作中是否有效

    if (isTokenValid(request, true)) { processRequest(); } else { return mapping.findForward("invalidToken"); }

  3. 以下是Struts1中令牌的更多信息: https://svn.apache.org/repos/asf/struts/archive/trunk/struts-doc-1.1/api/org/apache/struts/util/TokenProcessor.html