paypal - 我使用 paypal 进行信用卡支付,如果用户点击确认按钮两次,就会返回两个请求

标签 paypal struts-1

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

最佳答案

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

  1. 在加载 JSP 表单的 Action 类中创建并保存交易 token

    saveToken(请求)

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

    if (isTokenValid(request, true)) { 处理请求(); } 别的 { 返回 mapping.findForward("invalidToken"); }

这里有一些关于 Struts1 中 token 的更多信息: https://svn.apache.org/repos/asf/struts/archive/trunk/struts-doc-1.1/api/org/apache/struts/util/TokenProcessor.html

关于paypal - 我使用 paypal 进行信用卡支付,如果用户点击确认按钮两次,就会返回两个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45209097/

相关文章:

java - 通过<html :link>发送参数值struts1

javascript - 将参数传递给 <html :link> from javascript

java - Struts 1 - Iteration in Iteration - 内排法

java - struts2中DispatchAction类的替代方案

c# - Paypal 按钮格式不正确的项目金额

xml - PayPal 快速结帐 SOAP - 订单总数丢失

java - 如何使用struts 1在jsp的对象标记中设置上下文的值

PayPal Mobile SDK 支付验证

python - 如何在其 django 应用程序中使用来自 Paypal 的 Webhooks

Paypal 沙盒错误 : Cookies are blocked