如果还需要什么,请告诉我。
我配置了paypal自动返回,但它返回null对象,但它的工作很好,当自动返回是关闭意味着当用户点击按钮"返回到我的网站"它给了我所有的值,我可以用来保存订单的详细信息。
以下是我张贴到paypal sendbox的表单
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="cmd" value="_notify-synch">
<input type="hidden" name="business" value="${paypalAccount}">
<input type="hidden" name="item_name" value="OPP Plan">
<input type="hidden" name="item_number" value="${pid}">
<input type="hidden" name="groupId" value="1">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="${returnURL}">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="cancel_return" value="${cancelURL}">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="a3" value="${price}.00">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M">
<input type="hidden" name="src" value="1">
<input type="hidden" name="sra" value="1">
<input type="submit" value="Choose plan">
在我的控制器中,我正在读取像
这样的值 @RequestMapping(value = "/confirmPayment")
public ModelAndView showPaymentDetail(Model model,
@ModelAttribute PaypalBean paypalBean) {
UserDetailedBean userLoggedIn = (UserDetailedBean) userService.getUserDetailFromSpringSecurity();
if (paypalBean != null && paypalBean.getPayer_status().equalsIgnoreCase("verified")){
//reading values here
}
当您打开自动返回时,您是否也启用支付数据传输(PDT)?启用PDT后,付款完成后返回到站点的信息将是GET。
在提供的代码中,您有rm=2
,这意味着您希望返回POST信息。如果这是您所期望的,那么在启用PDT时就不会得到它。
当你在测试自动返回时,你是在等待重定向完成还是点击中间页面上的链接?