Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp Can';t在paypal中配置PDT或IPN_Jsp_Paypal_Paypal Sandbox_Paypal Pdt - Fatal编程技术网

Jsp Can';t在paypal中配置PDT或IPN

Jsp Can';t在paypal中配置PDT或IPN,jsp,paypal,paypal-sandbox,paypal-pdt,Jsp,Paypal,Paypal Sandbox,Paypal Pdt,我正在用java做一个web应用程序,我想使用PayPalAPI。 我的应用程序正在我的计算机(本地主机)上运行,由apache non在internet上运行。 例如,我在paypal.developper中创建了一个accauntmyproject@gmail.com . 我已经创建了一些沙盒(买家:buyer@gmail.com,和一个商业卖家我的项目-facilitator@gmail.com)我做了一些测试,一切正常 我的问题是:我无法配置PDT(付款数据传输)或IPN(即时付款通

我正在用java做一个web应用程序,我想使用PayPalAPI。 我的应用程序正在我的计算机(本地主机)上运行,由apache non在internet上运行。 例如,我在paypal.developper中创建了一个accauntmyproject@gmail.com . 我已经创建了一些沙盒(买家:buyer@gmail.com,和一个商业卖家我的项目-facilitator@gmail.com)我做了一些测试,一切正常

我的问题是:我无法配置PDT(付款数据传输)或IPN(即时付款通知)。

我去了我的贝宝个人资料销售工具网站偏好。我点击自动返回:on、PDT:on和返回url:
http://127.0.0.1/myproject/prenotationIsDone.jsp
我保存它,它显示我的身份令牌

现在,当我运行一些测试时,它甚至不会自动返回,它会像我在沙箱帐户上进行测试一样进行支付:

我是这样做的:

  <form name="paypalForm" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">  
<input type="hidden" name="cmd" value="_xclick" />
     <input type="hidden" name="business" value="myproject@gmail.com" />

     <input type="hidden" name="custom" value="1123" />
     <input type="hidden" name="item_name" value="Camera" />
     <input type="hidden" name="amount" value="20"/>
     <input type="hidden" name="rm" value="1" />
     <input type="hidden" name="return" value="http://127.0.0.1/myproject/prenotationIsDone.jsp" />
     <input type="hidden" name="cancel_return" value="http://127.0.0.1/myproject/cancel.jsp" />


           <input type="submit" value="Continua! "/>
Enumeration en = request.getParameterNames();

while(en.hasMoreElements()){
String paramName = (String)en.nextElement();

out.println("parameters"+ paramName);
}
当然,没有像tx这样的参数,因为PDT不起作用。 你知道怎么解决这个问题吗

还有第二个问题:我已经看到IPN(还有PDT,但我不确定PDT)在本地服务器中不起作用,因为它需要在网络中被外部看到。 我怎样才能解决这个问题? 我尝试了以下步骤,但我想我做错了什么: 首先,我将apache的端口从默认的8080更改为80端口。 我去了路由器,在NAT里,我把80号端口放在外部ip里(在www.whatismyip.com里的那个)。例如:198.122.141.2 现在,当我在浏览器198.122.141.2:80/myproject/index.jsp中尝试时,它没有显示任何内容,或者说找不到对象。 即使如此,我还是尝试设置一个动态ip、dydns或noip,它将是myproject.ns0.it/myproject/index.jsp中的某个内容,并且不会显示任何内容

请有人可以帮助我如何解决这个问题,或是有任何其他方式来验证我的本地服务器贝宝付款。
感谢您抽出时间,并为我的英语感到抱歉

我解决了PDT部分,因此我将发布我的解决方案。我希望pdt在沙箱中工作。首先,我在paypal Developer上创建了一个accaund。在应用程序中的下一步——沙箱账户——我创建了一个买家(或更多买家)和一个业务账户。我点击商业账户(前账户)的档案-facilitator@gmail.com)我点击“更改密码”(这是我在提问中遗漏的部分)。然后我点击进入SandboxSite,用刚刚创建的电子邮件和密码登录。在个人资料销售工具网站的首选项。我点击autoreturn:on、PDT:on以及Return和cancel url。现在一切都正常了。

您是说通过更改密码lol,可以生成标识lol吗。